summaryrefslogtreecommitdiff
path: root/games/oblige/Makefile.unixy
diff options
context:
space:
mode:
Diffstat (limited to 'games/oblige/Makefile.unixy')
-rw-r--r--games/oblige/Makefile.unixy205
1 files changed, 205 insertions, 0 deletions
diff --git a/games/oblige/Makefile.unixy b/games/oblige/Makefile.unixy
new file mode 100644
index 0000000000..60fe072236
--- /dev/null
+++ b/games/oblige/Makefile.unixy
@@ -0,0 +1,205 @@
+#----------------------------------------------------------------
+# OBLIGE
+#----------------------------------------------------------------
+#
+# GNU Makefile for Unix/Linux with system-wide install
+#
+# Using this makefile (make, make install) will place the
+# executable, script and data files in standard Unixy places.
+# The script and data files can be overridden by files in the
+# $HOME/.oblige directory.
+#
+# NOTE: a system-wide FLTK library is assumed
+#
+
+PROGRAM=oblige
+
+# prefix choices: /usr /usr/local /opt
+INSTALL_PREFIX=/usr/local
+
+SCRIPT_DIR=$(INSTALL_PREFIX)/share/oblige
+
+CXX=g++
+
+LIB_LOC=lib_linux
+OBJ_DIR=obj_linux
+
+OPTIMISE=-O2
+
+# operating system choices: UNIX WIN32
+OS=UNIX
+
+
+#--- Internal stuff from here -----------------------------------
+
+# assumes system-wide FLTK installation
+FLTK_CONFIG=fltk-config
+FLTK_FLAGS=$(shell $(FLTK_CONFIG) --cflags)
+FLTK_LIBS=$(shell $(FLTK_CONFIG) --use-images --ldflags)
+
+CXXFLAGS=$(OPTIMISE) -Wall -D$(OS) -Ilua_src -Iglbsp_src $(FLTK_FLAGS)
+LDFLAGS=-L/usr/X11R6/lib
+LIBS=-lm -lz $(FLTK_LIBS)
+
+CXXFLAGS += -DFHS_INSTALL
+
+
+#----- OBLIGE Objects ----------------------------------------------
+
+OBJS= $(OBJ_DIR)/main.o \
+ $(OBJ_DIR)/m_cookie.o \
+ $(OBJ_DIR)/m_lua.o \
+ $(OBJ_DIR)/m_spots.o \
+ $(OBJ_DIR)/lib_argv.o \
+ $(OBJ_DIR)/lib_file.o \
+ $(OBJ_DIR)/lib_signal.o \
+ $(OBJ_DIR)/lib_util.o \
+ $(OBJ_DIR)/lib_grp.o \
+ $(OBJ_DIR)/lib_pak.o \
+ $(OBJ_DIR)/lib_wad.o \
+ $(OBJ_DIR)/lib_zip.o \
+ $(OBJ_DIR)/sys_assert.o \
+ $(OBJ_DIR)/sys_debug.o \
+ $(OBJ_DIR)/img_bolt.o \
+ $(OBJ_DIR)/img_pill.o \
+ $(OBJ_DIR)/img_carve.o \
+ $(OBJ_DIR)/img_relief.o \
+ $(OBJ_DIR)/img_font1.o \
+ \
+ $(OBJ_DIR)/csg_bsp.o \
+ $(OBJ_DIR)/csg_clip.o \
+ $(OBJ_DIR)/csg_main.o \
+ $(OBJ_DIR)/csg_doom.o \
+ $(OBJ_DIR)/csg_nukem.o \
+ $(OBJ_DIR)/csg_quake.o \
+ $(OBJ_DIR)/dm_extra.o \
+ $(OBJ_DIR)/g_doom.o \
+ $(OBJ_DIR)/g_nukem.o \
+ $(OBJ_DIR)/g_quake.o \
+ $(OBJ_DIR)/g_quake2.o \
+ $(OBJ_DIR)/g_wolf.o \
+ $(OBJ_DIR)/q_common.o \
+ $(OBJ_DIR)/q_light.o \
+ $(OBJ_DIR)/q_tjuncs.o \
+ $(OBJ_DIR)/q_vis.o \
+ $(OBJ_DIR)/vis_buffer.o \
+ \
+ $(OBJ_DIR)/twister.o \
+ $(OBJ_DIR)/tx_forge.o \
+ $(OBJ_DIR)/tx_skies.o \
+ $(OBJ_DIR)/ui_about.o \
+ $(OBJ_DIR)/ui_build.o \
+ $(OBJ_DIR)/ui_chooser.o \
+ $(OBJ_DIR)/ui_console.o \
+ $(OBJ_DIR)/ui_dialog.o \
+ $(OBJ_DIR)/ui_game.o \
+ $(OBJ_DIR)/ui_hyper.o \
+ $(OBJ_DIR)/ui_level.o \
+ $(OBJ_DIR)/ui_map.o \
+ $(OBJ_DIR)/ui_module.o \
+ $(OBJ_DIR)/ui_rchoice.o \
+ $(OBJ_DIR)/ui_play.o \
+ $(OBJ_DIR)/ui_window.o
+
+$(OBJ_DIR)/%.o: gui/%.cc
+ $(CXX) $(CXXFLAGS) -o $@ -c $<
+
+
+#----- LUA Objects --------------------------------------------------
+
+LUA_OBJS=\
+ $(OBJ_DIR)/lua/lapi.o \
+ $(OBJ_DIR)/lua/lcode.o \
+ $(OBJ_DIR)/lua/ldebug.o \
+ $(OBJ_DIR)/lua/ldo.o \
+ $(OBJ_DIR)/lua/ldump.o \
+ $(OBJ_DIR)/lua/lfunc.o \
+ $(OBJ_DIR)/lua/lgc.o \
+ $(OBJ_DIR)/lua/llex.o \
+ $(OBJ_DIR)/lua/lmem.o \
+ $(OBJ_DIR)/lua/lobject.o \
+ $(OBJ_DIR)/lua/lopcodes.o \
+ $(OBJ_DIR)/lua/lparser.o \
+ $(OBJ_DIR)/lua/lstate.o \
+ $(OBJ_DIR)/lua/lstring.o \
+ $(OBJ_DIR)/lua/ltable.o \
+ $(OBJ_DIR)/lua/ltm.o \
+ $(OBJ_DIR)/lua/lundump.o \
+ $(OBJ_DIR)/lua/lvm.o \
+ $(OBJ_DIR)/lua/lzio.o \
+ \
+ $(OBJ_DIR)/lua/lauxlib.o \
+ $(OBJ_DIR)/lua/lbaselib.o \
+ $(OBJ_DIR)/lua/ldblib.o \
+ $(OBJ_DIR)/lua/liolib.o \
+ $(OBJ_DIR)/lua/lmathlib.o \
+ $(OBJ_DIR)/lua/loslib.o \
+ $(OBJ_DIR)/lua/ltablib.o \
+ $(OBJ_DIR)/lua/lstrlib.o \
+ $(OBJ_DIR)/lua/loadlib.o \
+ $(OBJ_DIR)/lua/linit.o
+
+LUA_CXXFLAGS=$(OPTIMISE) -Wall -DLUA_ANSI
+
+$(OBJ_DIR)/lua/%.o: lua_src/%.cc
+ $(CXX) $(LUA_CXXFLAGS) -o $@ -c $<
+
+
+#----- glBSP Objects ------------------------------------------------
+
+GLBSP_OBJS= \
+ $(OBJ_DIR)/glbsp/analyze.o \
+ $(OBJ_DIR)/glbsp/blockmap.o \
+ $(OBJ_DIR)/glbsp/glbsp.o \
+ $(OBJ_DIR)/glbsp/level.o \
+ $(OBJ_DIR)/glbsp/node.o \
+ $(OBJ_DIR)/glbsp/reject.o \
+ $(OBJ_DIR)/glbsp/seg.o \
+ $(OBJ_DIR)/glbsp/system.o \
+ $(OBJ_DIR)/glbsp/util.o \
+ $(OBJ_DIR)/glbsp/wad.o
+
+GLBSP_CXXFLAGS=$(OPTIMISE) -Wall -DINLINE_G=inline
+
+$(OBJ_DIR)/glbsp/%.o: glbsp_src/%.cc
+ $(CXX) $(GLBSP_CXXFLAGS) -o $@ -c $<
+
+
+#----- Targets ----------------------------------------------------
+
+all: $(PROGRAM)
+
+clean:
+ rm -f $(PROGRAM) $(OBJ_DIR)/*.o ERRS
+ rm -f $(OBJ_DIR)/lua/*.o
+ rm -f $(OBJ_DIR)/glbsp/*.o
+
+$(PROGRAM): $(OBJS) $(LUA_OBJS) $(GLBSP_OBJS)
+ $(CXX) $^ -o $@ $(LDFLAGS) $(LIBS)
+
+stripped: $(PROGRAM)
+ strip --strip-unneeded $(PROGRAM)
+
+install: stripped
+ install -o root -m 755 $(PROGRAM) $(INSTALL_PREFIX)/bin/
+ install -d $(SCRIPT_DIR)/scripts
+ install -d $(SCRIPT_DIR)/data
+ install -d $(SCRIPT_DIR)/games
+ install -d $(SCRIPT_DIR)/engines
+ install -d $(SCRIPT_DIR)/modules
+ install -d $(SCRIPT_DIR)/prefabs
+ install -o root -m 755 scripts/*.lua $(SCRIPT_DIR)/scripts
+ install -o root -m 755 data/*.* $(SCRIPT_DIR)/data
+ install -o root -m 755 games/*.lua $(SCRIPT_DIR)/games
+ install -o root -m 755 engines/*.lua $(SCRIPT_DIR)/engines
+ install -o root -m 755 modules/*.lua $(SCRIPT_DIR)/modules
+ install -o root -m 755 prefabs/*.lua $(SCRIPT_DIR)/prefabs
+
+uninstall:
+ rm -v $(INSTALL_PREFIX)/bin/$(PROGRAM)
+ rm -Rv $(SCRIPT_DIR)
+
+.PHONY: all clean stripped install uninstall
+
+#--- editor settings ------------
+# vi:ts=8:sw=8:noexpandtab