Makefile (982B)
1 2 APPS := test1 test2 test3 test4 test5 noisetoy 3 4 SDLCFG := sdl-config 5 #SDLCFG := /work/sdl/bin/sdl2-config 6 7 SDLFLAGS := $(shell $(SDLCFG) --cflags) 8 SDLLIBS := $(shell $(SDLCFG) --libs) 9 10 CFLAGS := $(SDLFLAGS) -DWITH_SDL2=0 -Wall -g -O2 11 CFLAGS += -ffunction-sections -fdata-sections 12 CFLAGS += -std=c++0x 13 14 LFLAGS := -static-libstdc++ 15 LFLAGS += -Wl,-gc-sections 16 17 CXXFLAGS := $(CFLAGS) 18 19 LIBS := stuff.a $(SDLLIBS) -lGL -lm -lpng 20 21 all:: everything 22 23 LIBOBJS := loadfile.o 24 LIBOBJS += loadpng.o savepng.o 25 LIBOBJS += loadobj.o 26 LIBOBJS += matrix.o program.o 27 LIBOBJS += debugtext.o 28 LIBOBJS += sdlglue.o 29 LIBOBJS += simplexnoise.o 30 31 stuff.a: $(LIBOBJS) 32 rm -f stuff.a 33 ar cr stuff.a $(LIBOBJS) 34 35 define build-test 36 $1: $1.o stuff.a 37 $(CXX) $(LFLAGS) -o $1 $1.o $(COMMONOBJS) $(LIBS) 38 endef 39 40 $(foreach t,$(APPS),$(eval $(call build-test,$t))) 41 42 mksdf: mksdf.o loadpng.o savepng.o 43 $(CXX) -o mksdf mksdf.o loadpng.o savepng.o $(LIBS) 44 45 everything: $(APPS) mksdf 46 47 clean:: 48 rm -f $(APPS) mksdf *.o stuff.a