1
#####################################################
3
# glBSP Makefile for Cross-Compiling Win32 binaries
11
# all : makes the library, cmdline program and docs
12
# clean : removes targets and intermediate files
20
CC=i586-mingw32msvc-gcc
21
CXX=i586-mingw32msvc-g++
22
AR=i586-mingw32msvc-ar rc
23
RANLIB=i586-mingw32msvc-ranlib
24
STRIP=i586-mingw32msvc-strip --strip-unneeded
25
WINDRES=i586-mingw32msvc-windres
27
BASE_FLAGS=-Wall -O2 -I./src -DWIN32 -DINLINE_G=inline
29
ZLIB_DIR=./zlib-1.2.3-win32
30
FLTK_DIR=./fltk-1.1.7-win32
33
# ----- GENERAL STUFF ----------------------------------------------
35
all: $(LIB_NAME) $(CMD_NAME) $(DOC_NAME)
38
rm -f $(LIB_NAME) $(CMD_NAME) $(GUI_NAME) $(DOC_NAME)
39
rm -f src/*.o cmdline/*.o gui/*.o
40
rm -f ./core ./ERRS ./gb_debug.txt
45
# ----- LIBRARY ----------------------------------------------------
47
LIB_FLAGS=$(BASE_FLAGS) -I$(ZLIB_DIR)
62
$(CC) $(LIB_FLAGS) -c $^ -o $@
64
$(LIB_NAME): $(LIB_OBJS)
69
# ----- CMDLINE PROGRAM ---------------------------------------------
71
CMD_FLAGS=$(BASE_FLAGS) -I$(ZLIB_DIR)
72
CMD_LIBS=$(ZLIB_DIR)/libz.a -lm
74
CMD_OBJS=cmdline/main.o cmdline/display.o
76
cmdline/%.o: cmdline/%.c
77
$(CC) $(CMD_FLAGS) -c $^ -o $@
79
$(CMD_NAME): $(LIB_NAME) $(CMD_OBJS)
80
$(CC) $(CMD_FLAGS) $(CMD_OBJS) -o $@ $(LIB_NAME) $(CMD_LIBS)
84
# ----- GUI PROGRAM ---------------------------------------------
86
FLTK_FLAGS=-I$(FLTK_DIR) -I$(FLTK_DIR)/zlib
87
FLTK_LIBS=-L$(FLTK_DIR)/lib \
88
-lfltk_images -lfltk_png -lfltk_z -lfltk_jpeg -lfltk
90
WIN32_LIBS=-mwindows -lole32 -luuid -lgdi32 -lcomctl32 \
93
GUI_FLAGS=$(BASE_FLAGS) $(FLTK_FLAGS)
94
GUI_LIBS=$(FLTK_LIBS) $(WIN32_LIBS) -lm
116
$(CXX) $(GUI_FLAGS) -c $^ -o $@
118
gui/glbsp_res.o: gui/glBSPX.rc
119
$(WINDRES) -i $^ --input-format=rc -o $@ -O coff
121
$(GUI_NAME): $(LIB_NAME) $(GUI_OBJS)
122
$(CXX) $(GUI_FLAGS) $(GUI_OBJS) -o $@ $(LIB_NAME) $(GUI_LIBS)
126
# ----- DOCUMENTATION ---------------------------------------------
128
DOC_FILES=README.txt USAGE.txt TRICKS.txt CHANGES.txt
130
$(DOC_NAME): $(DOC_FILES)
131
cat $(DOC_FILES) > glbsp_doc.tmp
132
awk 'sub("$$", "\r")' glbsp_doc.tmp > $@
136
#--- editor settings ------------
137
# vi:ts=8:sw=8:noexpandtab