You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PDCursesMod/vt/Makefile

141 lines
2.7 KiB
Makefile

# Makefile for PDCurses library for VT
#
# 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)/vt
# If your system doesn't have these, remove the defines here
SFLAGS = -DHAVE_VSNPRINTF -DHAVE_VSSCANF
ifeq ($(DEBUG),Y)
CFLAGS = -g -Wall -pedantic -DPDCDEBUG
else
CFLAGS = -O2 -Wall -pedantic
endif
ifeq ($(DOS),Y)
CFLAGS += -DDOS
EXE = .exe
else
CFLAGS += -fPIC
endif
ifeq ($(WIDE),Y)
CFLAGS += -DPDC_WIDE
endif
ifeq ($(UTF8),Y)
CFLAGS += -DPDC_FORCE_UTF8
endif
ifdef CHTYPE_32
CFLAGS += -DCHTYPE_32
endif
ifdef CHTYPE_16
CFLAGS += -DCHTYPE_16
endif
ifdef _w64
PREFIX = x86_64-w64-mingw32-
EXE = .exe
endif
ifdef _w32
PREFIX = i686-w64-mingw32-
EXE = .exe
endif
CC = $(PREFIX)gcc
AR = $(PREFIX)ar
STRIP = $(PREFIX)strip
BUILD = $(CC) $(CFLAGS) -I$(PDCURSES_SRCDIR)
LINK = $(CC)
LDFLAGS = $(LIBCURSES)
RANLIB = ranlib
LIBCURSES = libpdcurses.a
DEMOS = firework$(EXE) ozdemo$(EXE) newtest$(EXE) ptest$(EXE) rain$(EXE) \
testcurs$(EXE) tuidemo$(EXE) worm$(EXE) xmas$(EXE)
.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)
$(DEMOS) : $(PDCURSES_CURSES_H) $(LIBCURSES)
tui.o tuidemo.o : $(PDCURSES_CURSES_H)
panel.o ptest: $(PANEL_HEADER)
$(LIBOBJS) : %.o: $(srcdir)/%.c
$(BUILD) $(SFLAGS) -c $<
$(PDCOBJS) : %.o: $(osdir)/%.c
$(BUILD) $(SFLAGS) -c $<
firework$(EXE) : $(demodir)/firework.c
$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
ozdemo$(EXE) : $(demodir)/ozdemo.c
$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
newtest$(EXE) : $(demodir)/newtest.c
$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
picsview$(EXE) : $(demodir)/picsview.c
$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
ptest$(EXE) : $(demodir)/ptest.c
$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
rain$(EXE) : $(demodir)/rain.c
$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
speed$(EXE) : $(demodir)/speed.c
$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
testcurs$(EXE) : $(demodir)/testcurs.c
$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
tuidemo$(EXE) : tuidemo.o tui.o
$(LINK) tui.o tuidemo.o -o $@ $(LDFLAGS)
worm$(EXE) : $(demodir)/worm.c
$(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
xmas$(EXE) : $(demodir)/xmas.c
$(BUILD) $(DEMOFLAGS) -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