1CC := gcc 2CXX := g++ 3LINKER := g++ 4ASM := nasm 5SRCDIR := ./Source 6BINDIR := ./objs 7EXE := $(BINDIR)/blackshades 8 9CFLAGS := -g $(shell sdl-config --cflags) -I/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CarbonSound.framework/Versions/A/Headers -I/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers -I/System/Library/Frameworks/GLUT.framework/Versions/A/Headers -I/System/Library/Frameworks/DrawSprocket.framework/Versions/A/Headers -I/Developer/Headers/FlatCarbon -I/System/Library/Frameworks/AGL.framework/Versions/A/Headers -I/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/sw/include -I/sw/include/AL -I/usr/X11R6/include -D POOLOOPS -I$(SRCDIR) 10CXXFLAGS := $(CFLAGS) 11LDFLAGS := $(shell sdl-config --libs) -framework QuickTime 12 13SRCS := Camera.cpp \ 14 Decals.cpp \ 15 Files.cpp \ 16 Fog.cpp \ 17 Frustum.cpp \ 18 GameDraw.cpp \ 19 GameInitDispose.cpp \ 20 GameLoop.cpp \ 21 GameTick.cpp \ 22 Globals.cpp \ 23 Main.cpp \ 24 Maths.cpp \ 25 Models.cpp \ 26 Person.cpp \ 27 Quaternions.cpp \ 28 Skeleton.cpp \ 29 Sprites.cpp \ 30 TGALoader.cpp \ 31 Text.cpp \ 32 Timer.cpp 33 34OBJS1 := $(SRCS:.c=.o) 35OBJS2 := $(OBJS1:.cpp=.o) 36OBJS3 := $(OBJS2:.asm=.o) 37OBJS := $(foreach f,$(OBJS3),$(BINDIR)/$(f)) 38SRCS := $(foreach f,$(SRCS),$(SRCDIR)/$(f)) 39 40CLEANUP = $(wildcard *.exe) $(wildcard *.obj) \ 41 $(wildcard $(BINDIR)/*.exe) $(wildcard $(BINDIR)/*.obj) \ 42 $(wildcard *~) $(wildcard *.err) \ 43 $(wildcard .\#*) core $(EXE) 44 45 46# Rules for compiling individual source files... 47 48$(BINDIR)/%.o: $(SRCDIR)/%.cpp 49 $(CC) -c -o $@ $< $(CXXFLAGS) 50 51$(BINDIR)/%.o: $(SRCDIR)/%.c 52 $(CC) -c -o $@ $< $(CFLAGS) 53 54$(BINDIR)/%.o: $(SRCDIR)/%.asm 55 $(ASM) $(ASMFLAGS) -o $@ $< 56 57.PHONY: all bindir blackshades 58all: blackshades 59 60blackshades: $(BINDIR) $(OBJS) 61 $(LINKER) -o $(EXE) $(OBJS) $(LDFLAGS) 62 63$(BINDIR) : 64 $(MAKE) bindir 65 66bindir: 67 mkdir -p $(BINDIR) 68 69distclean: clean 70 71clean: 72 rm -f $(CLEANUP) 73 rm -rf $(BINDIR) 74 75# end of Makefile. 76 77 78