2013-01-22 07:49:01 -05:00
|
|
|
# This makefile is a bit hackish. I wrote it early in the AM.
|
2011-06-19 14:36:21 +00:00
|
|
|
# Fohgiveuhness, please!!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ifndef $(CFG)
|
|
|
|
|
CFG=Debug
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
# you can also pass : mingw32 and macosx
|
|
|
|
|
ifndef $(OS)
|
|
|
|
|
OS=linux
|
|
|
|
|
endif
|
2013-01-22 07:49:01 -05:00
|
|
|
|
2011-06-19 14:36:21 +00:00
|
|
|
TARGET=demo
|
|
|
|
|
BINTARGET=$(TARGET)
|
|
|
|
|
PROJECTHOME=$(shell pwd)
|
|
|
|
|
SDL_CFLAGS=$(shell sdl-config --cflags)
|
|
|
|
|
SDL_LDFLAGS=$(shell sdl-config --libs)
|
|
|
|
|
LIBDIR=/usr/lib
|
|
|
|
|
HEADERDIR=/usr/include
|
|
|
|
|
ADDL_CFLAGS=
|
|
|
|
|
|
|
|
|
|
ifeq "$(OS)" "mingw32"
|
2013-01-22 07:49:01 -05:00
|
|
|
ADDL_CFLAGS=-mwindows -DBUILD_MINGW32
|
2011-06-19 14:36:21 +00:00
|
|
|
endif
|
|
|
|
|
ifeq "$(OS)" "linux"
|
|
|
|
|
ADDL_CFLAGS=-DBUILD_LINUX -rdynamic
|
2011-06-21 21:26:27 +00:00
|
|
|
ADDL_LDFLAGS=-rdynamic
|
2013-01-22 07:49:01 -05:00
|
|
|
endif
|
2011-06-19 14:36:21 +00:00
|
|
|
|
|
|
|
|
# default for release configs
|
|
|
|
|
ifeq "$(CFG)" "Release"
|
|
|
|
|
OUTDIR=Release
|
|
|
|
|
ifeq "$(OS)" "mingw32"
|
|
|
|
|
BINTARGET=$(TARGET).exe
|
|
|
|
|
else
|
|
|
|
|
BINTARGET=$(TARGET)
|
|
|
|
|
endif
|
|
|
|
|
LINKLIB=sdlgame
|
|
|
|
|
CXXFLAGS=-I../../ -I$(HEADERDIR) -I./cpp -c $(SDL_CFLAGS) $(ADDL_CFLAGS)
|
|
|
|
|
endif
|
|
|
|
|
ifeq "$(CFG)" "Debug"
|
|
|
|
|
OUTDIR=Debug
|
|
|
|
|
ifeq "$(OS)" "mingw32"
|
|
|
|
|
BINTARGET=$(TARGET)-dbg.exe
|
|
|
|
|
else
|
|
|
|
|
BINTARGET=$(TARGET)-dbg
|
|
|
|
|
endif
|
|
|
|
|
LINKLIB=sdlgame-dbg
|
|
|
|
|
CXXFLAGS=-I../../ -I$(HEADERDIR) -I./cpp -pg -g -ggdb -gstabs -Wall -c $(SDL_CFLAGS) $(ADDL_CFLAGS)
|
|
|
|
|
endif
|
|
|
|
|
|
2011-06-21 21:26:27 +00:00
|
|
|
LINKLIBS=$(ADDL_LDFLAGS) -L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
2011-06-19 14:36:21 +00:00
|
|
|
|
|
|
|
|
BINOBJ=$(OUTDIR)/demo.o
|
|
|
|
|
|
|
|
|
|
ifeq "$(OS)" "mingw32"
|
|
|
|
|
BTOBJ=$(OUTDIR)/backtrace.dll
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
CC = gcc
|
|
|
|
|
CXX = g++
|
|
|
|
|
LD = $(CXX)
|
|
|
|
|
INSTALL = $(which install)
|
|
|
|
|
|
|
|
|
|
$(OUTDIR)/%.o : cpp/%.cpp
|
2013-01-22 07:49:01 -05:00
|
|
|
mkdir -p $(OUTDIR)
|
2011-06-19 14:36:21 +00:00
|
|
|
$(CXX) $(CXXFLAGS) -o $@ $<
|
|
|
|
|
|
|
|
|
|
all: bin
|
|
|
|
|
|
|
|
|
|
.PHONY: $(BTOBJ)
|
2013-01-22 07:49:01 -05:00
|
|
|
$(BTOBJ):
|
|
|
|
|
if [ "$(OS)" == "mingw32" ]; then \
|
|
|
|
|
cp /usr/local/lib/backtrace.dll $(OUTDIR)/ \
|
|
|
|
|
cp /usr/lib/*av*dll* $(OUTDIR)/ \
|
|
|
|
|
cp /lib/*swscale*dll* $(OUTDIR)/ \
|
|
|
|
|
cp /usr/local/bin/*SDL*dll $(OUTDIR)/ \
|
|
|
|
|
cp /usr/local/bin/freetype*dll $(OUTDIR)/ \
|
|
|
|
|
cp /usr/local/bin/*png*dll $(OUTDIR)/ \
|
|
|
|
|
cp /usr/local/bin/*jpeg*dll $(OUTDIR)/ \
|
|
|
|
|
cp /usr/local/bin/libimage*dll $(OUTDIR)/ \
|
|
|
|
|
cp /usr/local/bin/libogg*dll $(OUTDIR)/ \
|
|
|
|
|
cp /usr/local/bin/*vorbis*dll $(OUTDIR)/ \
|
|
|
|
|
cp /usr/local/bin/librle*dll $(OUTDIR)/ \
|
|
|
|
|
cp /usr/local/bin/libtiff*dll $(OUTDIR)/ \
|
|
|
|
|
cp /lib/libxml2*dll* $(OUTDIR)/ \
|
|
|
|
|
cp /usr/local/bin/zlib*dll $(OUTDIR)/ \
|
|
|
|
|
fi
|
2011-06-19 14:36:21 +00:00
|
|
|
|
|
|
|
|
bin: $(BINOBJ) $(BTOBJ)
|
|
|
|
|
$(LD) -pg -o $(OUTDIR)/$(BINTARGET) \
|
2013-01-22 07:49:01 -05:00
|
|
|
-pg $(BINOBJ) $(LINKLIBS)
|
2011-06-19 14:36:21 +00:00
|
|
|
|
|
|
|
|
.PHONY: clean
|
|
|
|
|
clean:
|
|
|
|
|
rm -f $(OUTDIR)/*
|
|
|
|
|
|
|
|
|
|
.PHONY: rebuild
|
|
|
|
|
rebuild:
|
|
|
|
|
make clean
|
|
|
|
|
make CFG=$(CFG)
|