# GPL License - see http://opensource.org/licenses/gpl-license.php # Copyright 2005 *nixCoders team - don't forget to credits us CCXX = g++-3.3 CFLAGS = -g -pipe -fPIC -Wall -DGAME_DLL -DQ4SDK -fno-strict-aliasing -fmessage-length=0 LDFLAGS = -lz -ldl -shared SDK_FILE = quake4-linux-1.0-sdk.x86.run SDK_URL = http://ftp.games.skynet.be/pub/ftp.idsoftware.com/quake4/source/linux/ SDK_ROOT = sdk IDLIB_SRC = $(shell find $(SDK_ROOT)/idlib -type f -iname "*.cpp") IDLIB_OBJS = $(patsubst %.cpp, %.o, $(IDLIB_SRC)) IDLIB_NAME = Q4idlib IDLIB = lib$(IDLIB_NAME).a Q4H_OBJS = engine.o g_functions.o hook.o q4h.o visuals.o LIB_ROOT = lib BUILD_ROOT = build IDLIB_OBJS := $(patsubst $(SDK_ROOT)/%, $(BUILD_ROOT)/%, $(IDLIB_OBJS)) Q4H_OBJS := $(patsubst %, $(BUILD_ROOT)/%, $(Q4H_OBJS)) IDLIB := $(LIB_ROOT)/$(IDLIB) Q4H_LIB = libQ4H.so all: $(SDK_ROOT) $(IDLIB) $(Q4H_LIB) clean: rm -rf $(Q4H_LIB) $(BUILD_ROOT) # idlib $(IDLIB_OBJS): mkdir -p $(dir $@) > /dev/null 2>&1 $(CCXX) $(CFLAGS) -c -o $@ $(patsubst $(BUILD_ROOT)/%.o, sdk/%.cpp, $@) 2> /dev/null $(IDLIB): $(IDLIB_OBJS) ar r $(IDLIB) $(IDLIB_OBJS) ranlib $(IDLIB) # q4h $(Q4H_LIB): $(Q4H_OBJS) $(SDK_ROOT) $(CCXX) $(LDFLAGS) $(Q4H_OBJS) -o $(Q4H_LIB) -L$(LIB_ROOT) -l$(IDLIB_NAME) -lhook $(BUILD_ROOT)/%.o: %.cpp q4h.h $(CCXX) $(CFLAGS) -c -o $@ $< # sdk $(SDK_FILE): wget --progress=dot:mega $(SDK_URL)$(SDK_FILE) $(SDK_ROOT): $(SDK_FILE) mkdir $(SDK_ROOT) /bin/sh $(SDK_FILE) --tar xfC $(SDK_ROOT) @# Cleanup sdk find $(SDK_ROOT) -type f -not -wholename "$(SDK_ROOT)/source/idlib/*" -not -name "*.h" -exec rm -f \{\} \; find $(SDK_ROOT) -type d -exec rmdir -p \{\} \; 2> /dev/null || /bin/true mv $(SDK_ROOT)/source/* $(SDK_ROOT) rm -rf $(SDK_ROOT)/source @# Restart make for get correct $(IDLIB_SRC) make $(MAKECMDGOALS) exit 0