127 lines
3.1 KiB
Makefile
127 lines
3.1 KiB
Makefile
|
|
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
|
|
|
|
TARGET := anaglym
|
|
SOURCES := $(wildcard *.c) ag_lua.c
|
|
COBJS := $(patsubst %.c,%.o,$(SOURCES))
|
|
CXXOBJS := $(subst sdl_keymap.o,,$(patsubst %.cc,%.o,$(wildcard *.cc))) sdl_keymap.o
|
|
OBJS := $(COBJS) $(CXXOBJS)
|
|
CDEPS := $(COBJS:.o=.dep)
|
|
CXXDEPS := $(CXXOBJS:.o=.dep)
|
|
DEPS := $(CDEPS) $(CXXDEPS)
|
|
|
|
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
|
|
|
|
FTGLINCLUDE := $(shell pkg-config --cflags ftgl)
|
|
FTGLLIBS := $(shell pkg-config --libs ftgl)
|
|
|
|
SDLINCLUDE := $(shell sdl-config --cflags)
|
|
SDLLIBS := $(shell sdl-config --libs) -lSDL_image
|
|
|
|
ODEINCLUDE := $(shell ode-config --cflags)
|
|
ODELIBS := $(shell ode-config --libs)
|
|
|
|
TOPLEVEL := $(shell pwd)
|
|
|
|
ifeq ($(WINDOWS),1)
|
|
GLLIBS := -lopengl32 -lglu32
|
|
WINDOWSLIBS := -lmingw32
|
|
TARGET := $(TARGET).exe
|
|
else
|
|
GLLIBS := -lGL -lGLU
|
|
endif
|
|
|
|
export CPPFLAGS := $(LUAINCLUDE) $(SDLINCLUDE) $(ODEINCLUDE) $(FTGLINCLUDE) -I$(TOPLEVEL)
|
|
export CFLAGS := $(CPPFLAGS) -O2 -Wall
|
|
export CXXFLAGS := $(CFLAGS)
|
|
export LDFLAGS := $(LUALIBS) $(ODELIBS) $(GLLIBS) $(WINDOWSLIBS) $(SDLLIBS) $(FTGLLIBS)
|
|
|
|
ifdef DEBUG
|
|
CFLAGS += -g
|
|
CXXFLAGS += -g
|
|
endif
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET): $(OBJS) wfobj/WFObj.o OdeWorld/OdeWorld.o TextureCache/TextureCache.o
|
|
$(CXX) -o $@ $^ $(LDFLAGS)
|
|
|
|
ag_lua.c: ag.lua
|
|
xxd -i $< > $@
|
|
|
|
.PHONY: wfobj/WFObj.o
|
|
wfobj/WFObj.o:
|
|
$(MAKE) -C wfobj
|
|
|
|
.PHONY: OdeWorld/OdeWorld.o
|
|
OdeWorld/OdeWorld.o:
|
|
$(MAKE) -C OdeWorld
|
|
|
|
.PHONY: TextureCache/TextureCache.o
|
|
TextureCache/TextureCache.o:
|
|
$(MAKE) -C TextureCache
|
|
|
|
%.o: %.c
|
|
$(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $<
|
|
|
|
%.o: %.cc
|
|
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) $<
|
|
|
|
sdl_keymap.o: sdl_keymap.cc
|
|
|
|
sdl_keymap.cc: gen-sdl-keymap.pl
|
|
perl $<
|
|
|
|
# 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' > $@
|
|
|
|
.PHONY: dist
|
|
dist: all
|
|
-mkdir -p $@
|
|
svn export lib $@/lib
|
|
svn export doc $@/doc
|
|
cp $(TARGET) $@
|
|
ifeq ($(WINDOWS),1)
|
|
# copy DLLs to distribution directory
|
|
cp -a $(shell which SDL.dll) $@
|
|
cp -a $(shell which SDL_image.dll) $@
|
|
# jh 2009-10-29 statically linking with ODE now
|
|
# cp -a $(shell which ODE.dll) $@
|
|
cp -a $(shell which jpeg.dll) $@
|
|
cp -a $(shell which libpng12-0.dll) $@
|
|
cp -a $(shell which zlib1.dll) $@
|
|
cp -a $(shell which libtiff-3.dll) $@
|
|
cp -a $(shell which libftgl-2.dll) $@
|
|
cp -a $(shell which lua5.1.dll) $@
|
|
cp -a $(shell which freetype6.dll) $@
|
|
endif
|
|
|
|
clean:
|
|
-rm -f *.o *.dep *~ $(TARGET) stdout.txt stderr.txt sdl_keymap.h sdl_keymap.cc
|
|
$(MAKE) -C wfobj clean
|
|
$(MAKE) -C TextureCache clean
|
|
$(MAKE) -C OdeWorld clean
|
|
|
|
distclean: clean
|
|
-rm -rf dist
|
|
|
|
-include $(DEPS)
|