anaglym/Makefile
Josh Holtrop 8a7e077604 updated Makefile to work with externals better
git-svn-id: svn://anubis/anaglym/trunk@32 99a6e188-d820-4881-8870-2d33a10e2619
2009-09-26 16:49:07 +00:00

74 lines
1.8 KiB
Makefile

TARGET := anaglym
COBJS := $(patsubst %.c,%.o,$(wildcard *.c))
CXXOBJS := $(patsubst %.cc,%.o,$(wildcard *.cc))
OBJS := $(COBJS) $(CXXOBJS)
CDEPS := $(COBJS:.o=.dep)
CXXDEPS := $(CXXOBJS:.o=.dep)
DEPS := $(CDEPS) $(CXXDEPS)
WINCHECK := $(shell which msys-1.0.dll >/dev/null 2>&1; if [ $$? -eq 0 ]; then echo MSYS; fi)
ifeq ($(strip $(WINCHECK)),)
WINDOWS := 0
else
WINDOWS := 1
endif
LUAINCLUDE := $(shell which lua-config >/dev/null 2>&1; if [ $$? -eq 0 ]; then lua-config --include; fi)
ifeq ($(strip $(LUAINCLUDE)),)
LUAINCLUDE := -I/usr/include/lua5.1
endif
LUALIBS := $(shell which lua-config >/dev/null 2>&1; if [ $$? -eq 0 ]; then lua-config --libs; fi)
ifeq ($(strip $(LUALIBS)),)
LUALIBS := -llua5.1
endif
SDLINCLUDE := $(shell sdl-config --cflags)
SDLLIBS := $(shell sdl-config --libs)
ODEINCLUDE := $(shell ode-config --cflags)
ODELIBS := $(shell ode-config --libs)
ifeq ($(WINDOWS),1)
GLLIBS := -lopengl32 -lglu32
WINDOWSLIBS := -lmingw32
else
GLLIBS := -lGL -lGLU
endif
CFLAGS := $(LUAINCLUDE) $(SDLINCLUDE) $(ODEINCLUDE)
CXXFLAGS := $(CFLAGS)
LDFLAGS := $(LUALIBS) $(ODELIBS) $(GLLIBS) $(WINDOWSLIBS) $(SDLLIBS)
all: $(TARGET)
$(TARGET): $(OBJS) wfobj/WFObj.o OdeWorld/OdeWorld.o
$(CXX) -o $@ $^ $(LDFLAGS)
.PHONY: wfobj/WFObj.o
wfobj/WFObj.o:
$(MAKE) -C wfobj
.PHONY: OdeWorld/OdeWorld.o
OdeWorld/OdeWorld.o:
$(MAKE) -C OdeWorld
%.o: %.c
$(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $<
%.o: %.cc
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) $<
# Make dependency files
%.dep: %.c
@set -e; rm -f $@; \
$(CC) -MM $(CPPFLAGS) $< | sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' > $@
%.dep: %.cc
@set -e; rm -f $@; \
$(CXX) -MM $(CPPFLAGS) $< | sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' > $@
clean:
-rm -f *.o *.dep *~ $(TARGET)
-include $(DEPS)