# libtcod samples linux 64 -> 32 cross compilation makefile
# to build debug version, run "make -f makefile-samples-linux64-32 debug"
# to build release version, run "make -f makefile-samples-linux64-32 release"
SRCDIR=.
INCDIR=include
CFLAGS=$(FLAGS) -I$(INCDIR) -I$(SRCDIR) -Wall -m32
CC=gcc
CPP=g++
TEMP=/tmp
.SUFFIXES: .o .h .c .hpp .cpp
$(TEMP)/libtcod/debug/samples/%.o : $(SRCDIR)/samples/%.cpp
$(CPP) $(CFLAGS) -g -o $@ -c $<
$(TEMP)/libtcod/debug/samples/%.o : $(SRCDIR)/samples/%.c
$(CC) $(CFLAGS) -g -o $@ -c $<
$(TEMP)/libtcod/debug/samples/%.o : $(SRCDIR)/samples/hmtool/%.cpp
$(CPP) $(CFLAGS) -g -o $@ -c $<
$(TEMP)/libtcod/release/samples/%.o : $(SRCDIR)/samples/%.cpp
$(CPP) $(CFLAGS) -O2 -s -o $@ -c $<
$(TEMP)/libtcod/release/samples/%.o : $(SRCDIR)/samples/%.c
$(CC) $(CFLAGS) -O2 -s -o $@ -c $<
$(TEMP)/libtcod/release/samples/%.o : $(SRCDIR)/samples/hmtool/%.cpp
$(CPP) $(CFLAGS) -O2 -s -o $@ -c $<
C_OBJS_DEBUG=$(TEMP)/libtcod/debug/samples/samples_c.o
CPP_OBJS_DEBUG=$(TEMP)/libtcod/debug/samples/samples_cpp.o
HMTOOLOBJS_DEBUG=$(TEMP)/libtcod/debug/samples/hmtool.o \
$(TEMP)/libtcod/debug/samples/operation.o
C_OBJS_RELEASE=$(TEMP)/libtcod/release/samples/samples_c.o
CPP_OBJS_RELEASE=$(TEMP)/libtcod/release/samples/samples_cpp.o
HMTOOLOBJS_RELEASE=$(TEMP)/libtcod/release/samples/hmtool.o \
$(TEMP)/libtcod/release/samples/operation.o
all : debug release
debug : samples_c_debug samples_cpp_debug hmtool_debug
release : samples_c samples_cpp hmtool
$(TEMP)/libtcod/debug/hmtool :
\mkdir -p $@
$(TEMP)/libtcod/release/hmtool :
\mkdir -p $@
$(TEMP)/libtcod/debug/samples :
\mkdir -p $@
$(TEMP)/libtcod/release/samples :
\mkdir -p $@
samples_c : $(TEMP)/libtcod/release/samples $(C_OBJS_RELEASE)
$(CC) $(C_OBJS_RELEASE) $(CFLAGS) -o $@ -L. -Llib32 -ltcod -lm $(CFLAGS) -Wl,-rpath,. -Wl,--unresolved-symbols=ignore-in-shared-libs
upx ./samples_c
samples_cpp : $(TEMP)/libtcod/release/samples $(CPP_OBJS_RELEASE)
$(CPP) $(CPP_OBJS_RELEASE) -o $@ -L. -Llib32 -ltcod -ltcodxx -lm $(CFLAGS) -Wl,-rpath,. -Wl,--unresolved-symbols=ignore-in-shared-libs
upx ./samples_cpp
hmtool : $(TEMP)/libtcod/release/hmtool $(HMTOOLOBJS_RELEASE)
$(CPP) -o $@ $(HMTOOLOBJS_RELEASE) -L. -Llib32 -ltcod -ltcodxx -ltcodgui $(CFLAGS) -Wl,-rpath,. -Wl,--unresolved-symbols=ignore-in-shared-libs
upx ./hmtool
samples_c_debug : $(TEMP)/libtcod/debug/samples $(C_OBJS_DEBUG)
$(CC) $(C_OBJS_DEBUG) $(CFLAGS) -o $@ -L. -Llib32 -lGL -lSDL -ltcod_debug -lm $(CFLAGS) -Wl,-rpath,. -Wl,--unresolved-symbols=ignore-in-shared-libs
samples_cpp_debug : $(TEMP)/libtcod/debug/samples $(CPP_OBJS_DEBUG)
$(CPP) $(CPP_OBJS_DEBUG) -o $@ -L. -Llib32 -ltcod_debug -ltcodxx_debug -lm $(CFLAGS) -Wl,-rpath,. -Wl,--unresolved-symbols=ignore-in-shared-libs
hmtool_debug : $(TEMP)/libtcod/debug/hmtool $(HMTOOLOBJS_DEBUG)
$(CPP) -o $@ $(HMTOOLOBJS_DEBUG) -L. -Llib32 -ltcod_debug -ltcodxx_debug -ltcodgui_debug $(CFLAGS) -Wl,-rpath,. -Wl,--unresolved-symbols=ignore-in-shared-libs
clean :
\rm -f $(C_OBJS_RELEASE) $(CPP_OBJS_RELEASE) $(HMTOOLOBJS_RELEASE) samples_c samples_cpp hmtool $(C_OBJS_DEBUG) $(CPP_OBJS_DEBUG) $(HMTOOLOBJS_DEBUG) samples_c_debug samples_cpp_debug hmtool_debug