pdcurses-sys 0.7.1

FFI bindings for PDCurses, specifically the win32a implementation.
# Makefile for PDCurses library for SDL
#
# Usage: [g]make [DEBUG=Y] [WIDE=Y] [UTF8=Y] [target]
#
# where target can be any of:
# [all|demos|libpdcurses.a|testcurs]...

O = o


ifndef PDCURSES_SRCDIR

	PDCURSES_SRCDIR	= ..

endif

include $(PDCURSES_SRCDIR)/libobjs.mif


osdir		= $(PDCURSES_SRCDIR)/sdl1


PDCURSES_SDL_H	= $(osdir)/pdcsdl.h


SFLAGS		= $(shell sdl-config --cflags)

SLIBS		= $(shell sdl-config --libs)


# If your system doesn't have these, remove the defines here
SFLAGS		+= -DHAVE_VSNPRINTF -DHAVE_VSSCANF


ifeq ($(DEBUG),Y)

	CFLAGS  = -g -Wall -DPDCDEBUG -fPIC

else
	CFLAGS  = -O2 -Wall -fPIC

endif

ifeq ($(WIDE),Y)

	CFLAGS	+= -DPDC_WIDE

	SLIBS	+= -lSDL_ttf

endif

ifeq ($(UTF8),Y)

	CFLAGS	+= -DPDC_FORCE_UTF8

endif

ifdef CHTYPE_32

	CFLAGS += -DCHTYPE_32

endif

ifdef CHTYPE_16

	CFLAGS += -DCHTYPE_16

endif


BUILD		= $(CC) $(CFLAGS) -I$(PDCURSES_SRCDIR)


ifeq ($(shell uname),Darwin)

	DEMOFLAGS = -Dmain=SDL_main

endif

LINK		= $(CC)

LDFLAGS		= $(LIBCURSES) $(SLIBS)

RANLIB		= ranlib

LIBCURSES	= libpdcurses.a


DEMOS		= firework newdemo newtest ptest rain testcurs tuidemo worm xmas \

sdltest

.PHONY: all libs clean demos


all:	libs demos


libs:	$(LIBCURSES)


clean:
	-rm -rf *.o trace $(LIBCURSES) $(DEMOS)


demos:	$(DEMOS)

ifneq ($(DEBUG),Y)
	strip $(DEMOS)

endif

$(LIBCURSES) : $(LIBOBJS) $(PDCOBJS)

	ar rv $@ $?

	-$(RANLIB) $@


$(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS)

$(PDCOBJS) : $(PDCURSES_SDL_H)

$(DEMOS) : $(PDCURSES_CURSES_H) $(LIBCURSES)

tui.o tuidemo.o : $(PDCURSES_CURSES_H)

terminfo.o: $(TERM_HEADER)

panel.o ptest: $(PANEL_HEADER)


$(LIBOBJS) : %.o: $(srcdir)/%.c

	$(BUILD) $(SFLAGS) -c $<


$(PDCOBJS) : %.o: $(osdir)/%.c

	$(BUILD) $(SFLAGS) -c $<


firework: $(demodir)/firework.c

	$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)


newdemo: $(demodir)/newdemo.c

	$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)


newtest: $(demodir)/newtest.c

	$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)


ptest: $(demodir)/ptest.c

	$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)


rain: $(demodir)/rain.c

	$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)


testcurs: $(demodir)/testcurs.c

	$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)


tuidemo: tuidemo.o tui.o

	$(LINK) tui.o tuidemo.o -o $@ $(LDFLAGS)


worm: $(demodir)/worm.c

	$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)


xmas: $(demodir)/xmas.c

	$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)


sdltest: $(osdir)/sdltest.c

	$(BUILD) $(DEMOFLAGS) $(SFLAGS) -o $@ $< $(LDFLAGS)


tui.o: $(demodir)/tui.c $(demodir)/tui.h

	$(BUILD) -c $(DEMOFLAGS) $(demodir)/tui.c


tuidemo.o: $(demodir)/tuidemo.c

	$(BUILD) -c $(DEMOFLAGS) $(demodir)/tuidemo.c