core/Makefile
changeset 3129 76208f2e5ef0
parent 3010 8ea042c00c80
child 3373 c6463cdc2180
     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