106 lines
2.0 KiB
Makefile
106 lines
2.0 KiB
Makefile
|
# Makefile for PDCurses library for SDL
|
||
|
|
||
|
O = o
|
||
|
|
||
|
ifndef PDCURSES_SRCDIR
|
||
|
PDCURSES_SRCDIR = ..
|
||
|
endif
|
||
|
|
||
|
include $(PDCURSES_SRCDIR)/libobjs.mif
|
||
|
|
||
|
osdir = $(PDCURSES_SRCDIR)/sdl1
|
||
|
|
||
|
PDCURSES_SDL_H = $(osdir)/pdcsdl.h
|
||
|
|
||
|
ifeq ($(DEBUG),Y)
|
||
|
CFLAGS = -g -Wall -DPDCDEBUG
|
||
|
else
|
||
|
CFLAGS = -O2 -Wall
|
||
|
endif
|
||
|
|
||
|
CC = gcc
|
||
|
BUILD = $(CC) $(CFLAGS) -I$(PDCURSES_SRCDIR)
|
||
|
LDFLAGS = -mwindows $(LIBCURSES)
|
||
|
|
||
|
BASEDEF = $(PDCURSES_SRCDIR)\exp-base.def
|
||
|
|
||
|
DEFDEPS = $(BASEDEF)
|
||
|
|
||
|
DEFFILE = pdcurses.def
|
||
|
|
||
|
ifeq ($(DLL),Y)
|
||
|
BUILD += -DPDC_DLL_BUILD
|
||
|
LIBEXE = gcc $(DEFFILE)
|
||
|
LIBFLAGS = -Wl,--out-implib,libpdcurses.a -shared -o
|
||
|
LIBCURSES = pdcurses.dll
|
||
|
CLEAN = $(LIBCURSES) *.a $(DEFFILE)
|
||
|
POST = -lSDL
|
||
|
else
|
||
|
LIBEXE = ar
|
||
|
LIBFLAGS = rcv
|
||
|
LIBCURSES = libpdcurses.a
|
||
|
CLEAN = *.a
|
||
|
LDFLAGS += -lSDL
|
||
|
endif
|
||
|
|
||
|
DEMOS += sdltest.exe
|
||
|
|
||
|
.PHONY: all libs clean demos
|
||
|
|
||
|
all: libs demos
|
||
|
|
||
|
libs: $(LIBCURSES)
|
||
|
|
||
|
clean:
|
||
|
-del *.o $(CLEAN) *.exe
|
||
|
|
||
|
demos: $(DEMOS)
|
||
|
strip *.exe
|
||
|
|
||
|
pdcurses.dll: $(DEFFILE)
|
||
|
|
||
|
$(DEFFILE): $(DEFDEPS)
|
||
|
echo LIBRARY pdcurses > $@
|
||
|
echo EXPORTS >> $@
|
||
|
type $(BASEDEF) >> $@
|
||
|
echo pdc_screen >> $@
|
||
|
echo pdc_font >> $@
|
||
|
echo pdc_icon >> $@
|
||
|
echo pdc_back >> $@
|
||
|
echo pdc_sheight >> $@
|
||
|
echo pdc_swidth >> $@
|
||
|
echo pdc_yoffset >> $@
|
||
|
echo pdc_xoffset >> $@
|
||
|
|
||
|
$(LIBCURSES) : $(LIBOBJS) $(PDCOBJS)
|
||
|
$(LIBEXE) $(LIBFLAGS) $@ $? $(POST)
|
||
|
|
||
|
$(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.exe: $(PANEL_HEADER)
|
||
|
|
||
|
$(LIBOBJS) : %.o: $(srcdir)/%.c
|
||
|
$(BUILD) -c $<
|
||
|
|
||
|
$(PDCOBJS) : %.o: $(osdir)/%.c
|
||
|
$(BUILD) -c $<
|
||
|
|
||
|
firework.exe newdemo.exe rain.exe testcurs.exe worm.exe xmas.exe \
|
||
|
ptest.exe: %.exe: $(demodir)/%.c
|
||
|
$(BUILD) -o $@ $< $(LDFLAGS)
|
||
|
|
||
|
tuidemo.exe: tuidemo.o tui.o
|
||
|
$(CC) -o $@ tuidemo.o tui.o $(LDFLAGS)
|
||
|
|
||
|
tui.o: $(demodir)/tui.c $(demodir)/tui.h
|
||
|
$(BUILD) -c $<
|
||
|
|
||
|
tuidemo.o: $(demodir)/tuidemo.c $(demodir)/tui.h
|
||
|
$(BUILD) -c $<
|
||
|
|
||
|
sdltest.exe: $(osdir)/sdltest.c
|
||
|
$(BUILD) -o $@ $< -mwindows $(LIBCURSES) -lmingw32 -lSDLmain -lSDL
|