blob: 427edc670bed5ce045701043ff5843cd0dd3a362 [file] [log] [blame]
# 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