1.1 --- a/core/Makefile Fri Oct 01 10:46:21 2010 -0400
1.2 +++ b/core/Makefile Fri Oct 01 12:15:43 2010 -0700
1.3 @@ -2,13 +2,12 @@
1.4 # Makefile written by David "BAILOPAN" Anderson
1.5
1.6 SMSDK = ..
1.7 -SRCDS_BASE = ~/srcds
1.8 HL2SDK_ORIG = ../../hl2sdk
1.9 HL2SDK_OB = ../../hl2sdk-ob
1.10 HL2SDK_OB_VALVE = ../../hl2sdk-ob-valve
1.11 HL2SDK_L4D = ../../hl2sdk-l4d
1.12 HL2SDK_L4D2 = ../../hl2sdk-l4d2
1.13 -MMSOURCE17 = ../../mmsource-central
1.14 +MMSOURCE = ../../mmsource-central
1.15
1.16 #####################################
1.17 ### EDIT BELOW FOR OTHER PROJECTS ###
1.18 @@ -48,71 +47,80 @@
1.19 CPP = gcc
1.20
1.21 override ENGSET = false
1.22 +
1.23 +ifneq (,$(filter original orangebox orangeboxvalve left4dead left4dead2,$(ENGINE)))
1.24 + override ENGSET = true
1.25 +endif
1.26 +
1.27 ifeq "$(ENGINE)" "original"
1.28 HL2SDK = $(HL2SDK_ORIG)
1.29 - HL2PUB = $(HL2SDK)/public
1.30 HL2LIB = $(HL2SDK)/linux_sdk
1.31 CFLAGS += -DSOURCE_ENGINE=1
1.32 - METAMOD = $(MMSOURCE17)/core-legacy
1.33 + METAMOD = $(MMSOURCE)/core-legacy
1.34 INCLUDE += -I$(HL2SDK)/public/dlls
1.35 - SRCDS = $(SRCDS_BASE)
1.36 BINARY = sourcemod.1.ep1.so
1.37 - override ENGSET = true
1.38 endif
1.39 ifeq "$(ENGINE)" "orangebox"
1.40 HL2SDK = $(HL2SDK_OB)
1.41 - HL2PUB = $(HL2SDK)/public
1.42 HL2LIB = $(HL2SDK)/lib/linux
1.43 CFLAGS += -DSOURCE_ENGINE=3
1.44 - METAMOD = $(MMSOURCE17)/core
1.45 + METAMOD = $(MMSOURCE)/core
1.46 INCLUDE += -I$(HL2SDK)/public/game/server
1.47 - SRCDS = $(SRCDS_BASE)/orangebox
1.48 BINARY = sourcemod.2.ep2.so
1.49 - override ENGSET = true
1.50 endif
1.51 ifeq "$(ENGINE)" "orangeboxvalve"
1.52 HL2SDK = $(HL2SDK_OB_VALVE)
1.53 - HL2PUB = $(HL2SDK)/public
1.54 HL2LIB = $(HL2SDK)/lib/linux
1.55 CFLAGS += -DSOURCE_ENGINE=4
1.56 - METAMOD = $(MMSOURCE17)/core
1.57 - INCLUDE += -I$(HL2SDK)/public/game/server -I$(HL2SDK)/common
1.58 - SRCDS = $(SRCDS_BASE)/orangebox
1.59 + METAMOD = $(MMSOURCE)/core
1.60 + INCLUDE += -I$(HL2SDK)/public/game/server
1.61 +#-I$(HL2SDK)/common
1.62 BINARY = sourcemod.2.ep2v.so
1.63 - override ENGSET = true
1.64 endif
1.65 ifeq "$(ENGINE)" "left4dead"
1.66 HL2SDK = $(HL2SDK_L4D)
1.67 - HL2PUB = $(HL2SDK)/public
1.68 HL2LIB = $(HL2SDK)/lib/linux
1.69 CFLAGS += -DSOURCE_ENGINE=5
1.70 - METAMOD = $(MMSOURCE17)/core
1.71 + METAMOD = $(MMSOURCE)/core
1.72 INCLUDE += -I$(HL2SDK)/public/game/server
1.73 - SRCDS = $(SRCDS_BASE)/l4d
1.74 BINARY = sourcemod.2.l4d.so
1.75 - override ENGSET = true
1.76 endif
1.77 ifeq "$(ENGINE)" "left4dead2"
1.78 HL2SDK = $(HL2SDK_L4D2)
1.79 - HL2PUB = $(HL2SDK)/public
1.80 HL2LIB = $(HL2SDK)/lib/linux
1.81 CFLAGS += -DSOURCE_ENGINE=6
1.82 - METAMOD = $(MMSOURCE17)/core
1.83 + METAMOD = $(MMSOURCE)/core
1.84 INCLUDE += -I$(HL2SDK)/public/game/server
1.85 - SRCDS = $(SRCDS_BASE)/left4dead2
1.86 BINARY = sourcemod.2.l4d2.so
1.87 - override ENGSET = true
1.88 +endif
1.89 +
1.90 +HL2PUB = $(HL2SDK)/public
1.91 +
1.92 +OS := $(shell uname -s)
1.93 +
1.94 +ifeq "$(OS)" "Darwin"
1.95 + LIB_EXT = dylib
1.96 + HL2LIB = $(HL2SDK)/lib/mac
1.97 +else
1.98 + LIB_EXT = so
1.99 + ifeq "$(ENGINE)" "original"
1.100 + HL2LIB = $(HL2SDK)/linux_sdk
1.101 + else
1.102 + HL2LIB = $(HL2SDK)/lib/linux
1.103 + endif
1.104 +endif
1.105 +
1.106 +ifneq (,$(filter original orangebox left4dead,$(ENGINE)))
1.107 + LIB_SUFFIX = _i486.$(LIB_EXT)
1.108 +else
1.109 + LIB_PREFIX = lib
1.110 + LIB_SUFFIX = .$(LIB_EXT)
1.111 endif
1.112
1.113 CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 -DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6
1.114
1.115 -ifeq "$(ENGINE)" "left4dead2"
1.116 -LINK += $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a libvstdlib.so \
1.117 - libtier0.so -static-libgcc
1.118 -else
1.119 -LINK += $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so \
1.120 - tier0_i486.so -static-libgcc
1.121 -endif
1.122 +LINK += $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a $(LIB_PREFIX)vstdlib$(LIB_SUFFIX) \
1.123 + $(LIB_PREFIX)tier0$(LIB_SUFFIX) -static-libgcc
1.124
1.125 INCLUDE += -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/mathlib -I$(HL2PUB)/vstdlib \
1.126 -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 -I$(METAMOD) -I$(METAMOD)/sourcehook \
1.127 @@ -152,18 +160,14 @@
1.128
1.129 all: check
1.130 mkdir -p $(BIN_DIR)
1.131 -ifeq "$(ENGINE)" "left4dead2"
1.132 - ln -sf $(SRCDS)/bin/libvstdlib.so libvstdlib.so;
1.133 - ln -sf $(SRCDS)/bin/libtier0.so libtier0.so;
1.134 -else
1.135 - ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so;
1.136 - ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so;
1.137 -endif
1.138 + ln -sf $(HL2LIB)/$(LIB_PREFIX)vstdlib$(LIB_SUFFIX)
1.139 + ln -sf $(HL2LIB)/$(LIB_PREFIX)tier0$(LIB_SUFFIX)
1.140 $(MAKE) -f Makefile sourcemod
1.141
1.142 check:
1.143 if [ "$(ENGSET)" = "false" ]; then \
1.144 - echo "You must supply ENGINE=left4dead or ENGINE=orangebox or ENGINE=original"; \
1.145 + echo "You must supply one of the following values for ENGINE:"; \
1.146 + echo "left4dead2, left4dead, orangeboxvalve, orangebox, or original"; \
1.147 exit 1; \
1.148 fi
1.149