mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-21 19:42:24 +01:00
eb48cf33be
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
209 lines
5.4 KiB
Text
209 lines
5.4 KiB
Text
#----------------------------------------------------------------
|
|
# 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-legacy4 directory.
|
|
#
|
|
# NOTE: a system-wide FLTK library is assumed
|
|
#
|
|
|
|
PROGRAM=oblige-legacy4
|
|
|
|
# prefix choices: /usr /usr/local /opt
|
|
INSTALL_PREFIX=/usr/local
|
|
|
|
SCRIPT_DIR=$(INSTALL_PREFIX)/share/oblige-legacy4
|
|
|
|
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)/data/doom1_boss
|
|
install -d $(SCRIPT_DIR)/data/doom2_boss
|
|
install -d $(SCRIPT_DIR)/games
|
|
install -d $(SCRIPT_DIR)/engines
|
|
install -d $(SCRIPT_DIR)/modules
|
|
install -d $(SCRIPT_DIR)/prefabs
|
|
install -o root -m 644 scripts/*.lua $(SCRIPT_DIR)/scripts
|
|
install -o root -m 644 data/*.* $(SCRIPT_DIR)/data
|
|
install -o root -m 644 data/doom1_boss/*.* $(SCRIPT_DIR)/data/doom1_boss
|
|
install -o root -m 644 data/doom2_boss/*.* $(SCRIPT_DIR)/data/doom2_boss
|
|
install -o root -m 644 games/*.lua $(SCRIPT_DIR)/games
|
|
install -o root -m 644 engines/*.lua $(SCRIPT_DIR)/engines
|
|
install -o root -m 644 modules/*.lua $(SCRIPT_DIR)/modules
|
|
install -o root -m 644 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
|