Mercurial > hg > forks > pwpunix
view Makefile @ 87:dc95ef77a6ad
Bump version here as well.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 19 Mar 2013 07:27:14 +0200 |
parents | 011e65a6367b |
children |
line wrap: on
line source
### Global settings CFLAGS += -W -Wall -O3 LDFLAGS += RANLIB=ranlib # Prefix for x86-32 win32 MinGW tools (gcc, ar, ld, ranlib) MINGW32_PREFIX=i686-w64-mingw32- MINGW32_PATH=/usr/i686-w64-mingw32 # Prefix for x86-64 win64 MinGW tools MINGW64_PREFIX=x86_64-w64-mingw32- MINGW64_PATH=/usr/x86_64-w64-mingw32 ### Subdirectories to build SUBDIRS=pwplib peluce nykyaeka oldchsool pwpzax ### Show some help help: @if test ! -f config.mak; then \ echo "PWPLib build system"; \ echo "Usage: make <target>"; \ echo ""; \ echo "sdl - LibSDL video/audio for POSIX style systems"; \ echo "unix - Terminal only POSIX style systems"; \ echo "linux - Like unix, but with Linux console and OSS audio support"; \ echo "hpux - HP-UX (untested now)"; \ echo "sdl-win32 - LibSDL for Win32, cross compilation via MinGW toolchain"; \ echo "sdl-win64 - Like above, but for Win64 via MinGW64"; \ echo ""; \ else \ echo "Configured as:"; \ cat config.mak; \ echo "To re-build: 'make all'"; \ echo "To reconfigure: 'make clean' and 'make <target>'"; \ fi endianchk: endianchk.c $(CC) -o $@ $< config.mak: @echo "" > $@ @echo "# Build target: $(XTARGET)" >> $@ @echo "XTARGET=$(XTARGET)" >> $@ @echo "CC=$(PREFIX)$(CC)" >> $@ @echo "AR=$(PREFIX)$(AR)" >> $@ @echo "LD=$(PREFIX)$(LD)" >> $@ @echo "RANLIB=$(PREFIX)$(RANLIB)" >> $@ @echo "CFLAGS=$(CFLAGS) $(XCFLAGS)" >> $@ @echo "LDFLAGS=$(LDFLAGS) $(XLDFLAGS)" >> $@ @echo "BINEXT=$(BINEXT)" >> $@ @echo "" >> $@ ### Build sub targets all: @for subdir in $(SUBDIRS); do if ! $(MAKE) -C "$$subdir"; then echo "Make returned $?"; exit 1; fi; done pwplib.a: $(MAKE) -C pwplib clean: @for subdir in $(SUBDIRS); do $(MAKE) -C "$$subdir" clean; done $(RM) config.mak endianchk ### Major targets unix: endianchk $(RM) config.mak && endianflags=`./endianchk` && \ $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX $$endianflags" XLDFLAGS="-lm" && \ $(MAKE) all hpux: $(RM) config.mak && \ $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX -DBIG_ENDIAN -DDRIVE_HPUX" XLDFLAGS="-lm" && \ $(MAKE) all linux: endianchk $(RM) config.mak && endianflags=`./endianchk` && \ $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX -DDRIVE_LINUXCON -DDRIVE_OSS $$endianflags" XLDFLAGS="-lm" && \ $(MAKE) all sdl: endianchk $(RM) config.mak && endianflags=`./endianchk` && \ $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX -DDRIVE_SDL $$endianflags `sdl-config --cflags`" XLDFLAGS="`sdl-config --libs` -lm" && \ $(MAKE) all sdl-win32: $(RM) config.mak && \ $(MAKE) config.mak PREFIX="$(MINGW32_PREFIX)" BINEXT=".exe" CC="gcc" \ XTARGET="$@" XCFLAGS="-DDRIVE_SDL `$(MINGW32_PATH)/bin/sdl-config --cflags`" \ XLDFLAGS="-s -L$(MINGW32_PATH)/lib/ -lm -lmingw32 `$(MINGW32_PATH)/bin/sdl-config --libs` -lSDL" && \ $(MAKE) all sdl-win64: $(RM) config.mak && \ $(MAKE) config.mak PREFIX="$(MINGW64_PREFIX)" BINEXT=".exe" CC="gcc" \ XTARGET="$@" XCFLAGS="-DDRIVE_SDL `$(MINGW64_PATH)/bin/sdl-config --cflags`" \ XLDFLAGS="-s -L$(MINGW64_PATH)/lib/ -lm -lmingw32 `$(MINGW64_PATH)/bin/sdl-config --libs` -lSDL" && \ $(MAKE) all PACKAGE=pwpunix-1.97-sdl ZIPFILE=$(PACKAGE)-win32-bin.zip README.txt: README unix2dos -n $< $@ sdl-win32-zip: clean sdl-win32 README.txt SDL.dll $(RM) $(ZIPFILE) for subdir in $(SUBDIRS); do tmp=`ls $$subdir/*.exe`; if test -f "$$tmp"; then cp "$$tmp" .; fi; done; \ zip -9vv $(ZIPFILE) *.exe README.txt SDL.dll hg-tar: hg archive -t tgz $(PACKAGE).tar.gz .dummy: