From 32d5666a0304f0aa58c08cff46eb2b96fc4492a0 Mon Sep 17 00:00:00 2001 From: Hi-Angel Date: Sat, 28 Jan 2017 15:55:41 +0300 Subject: [PATCH 1/9] Irrelevant comment --- src/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index 7858bbfa..55d0a804 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,4 +1,3 @@ -# My very first makefile! MODULE_NAME = vphysics_srv.so PROJECT_NAME = vphysics From 2cb36e94c3d518877c9a3500d180ac9e55a16aea Mon Sep 17 00:00:00 2001 From: Hi-Angel Date: Sat, 28 Jan 2017 15:59:09 +0300 Subject: [PATCH 2/9] Standard name of the linker variable --- src/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Makefile b/src/Makefile index 55d0a804..e24d5d29 100644 --- a/src/Makefile +++ b/src/Makefile @@ -44,7 +44,7 @@ DYNAMICLIBS = \ $(SRCDS_BIN_DIR)/libtier0_srv.so CC = /usr/bin/g++ -LINK = /usr/bin/g++ +LD = /usr/bin/g++ ARCH = i386 DEFINES = -DLINUX -D__LINUX__ -D_LINUX -D__linux__ -DPOSIX -DGNUC -DARCH=$(ARCH) -Dsprintf_s=snprintf -Dstrcmpi=strcasecmp -D_alloca=alloca -Dstricmp=strcasecmp -D_stricmp=strcasecmp -Dstrcpy_s=strncpy -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -DNO_MALLOC_OVERRIDE CFLAGS = $(INCLUDES) $(DEFINES) -fpermissive -fPIC -w -msse2 -m32 -march=$(ARCH) -g @@ -82,7 +82,7 @@ copy: $(MODULE_NAME) $(MODULE_NAME): $(OBJECTS) @echo " + Linking..." - @$(LINK) -o $(OUT_DIR)/$@ $(OBJECTS) $(LFLAGS) + @$(LD) -o $(OUT_DIR)/$@ $(OBJECTS) $(LFLAGS) @echo " + Module created at $(OUT_DIR)/$@" $(OBJ_DIR)/%.o: %.cpp From a72ed5978085eb96b55c3d12c9576a946eb14c19 Mon Sep 17 00:00:00 2001 From: Hi-Angel Date: Sat, 28 Jan 2017 16:02:03 +0300 Subject: [PATCH 3/9] Standard variable name for linker flags --- src/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Makefile b/src/Makefile index e24d5d29..040b4f57 100644 --- a/src/Makefile +++ b/src/Makefile @@ -48,7 +48,7 @@ LD = /usr/bin/g++ ARCH = i386 DEFINES = -DLINUX -D__LINUX__ -D_LINUX -D__linux__ -DPOSIX -DGNUC -DARCH=$(ARCH) -Dsprintf_s=snprintf -Dstrcmpi=strcasecmp -D_alloca=alloca -Dstricmp=strcasecmp -D_stricmp=strcasecmp -Dstrcpy_s=strncpy -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -DNO_MALLOC_OVERRIDE CFLAGS = $(INCLUDES) $(DEFINES) -fpermissive -fPIC -w -msse2 -m32 -march=$(ARCH) -g -LFLAGS = -m32 -msse2 -lm -ldl $(STATICLIBDIRS) -Wl,-Bstatic $(STATICLIBS) -Wl,-Bdynamic $(DYNAMICLIBS) -shared +LDFLAGS = -m32 -msse2 -lm -ldl $(STATICLIBDIRS) -Wl,-Bstatic $(STATICLIBS) -Wl,-Bdynamic $(DYNAMICLIBS) -shared ifeq ($(CONFIGURATION), debug) # Optimize but don't affect debugging experience. (-Og, only on G++ 4.8 and above) @@ -82,7 +82,7 @@ copy: $(MODULE_NAME) $(MODULE_NAME): $(OBJECTS) @echo " + Linking..." - @$(LD) -o $(OUT_DIR)/$@ $(OBJECTS) $(LFLAGS) + @$(LD) -o $(OUT_DIR)/$@ $(OBJECTS) $(LDFLAGS) @echo " + Module created at $(OUT_DIR)/$@" $(OBJ_DIR)/%.o: %.cpp From 464498f320b28bbcaa80da20e2e093da279891ff Mon Sep 17 00:00:00 2001 From: Hi-Angel Date: Sat, 28 Jan 2017 16:02:56 +0300 Subject: [PATCH 4/9] Make sure to not ignore user supplied flags --- src/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Makefile b/src/Makefile index 040b4f57..49a8e27d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -47,8 +47,8 @@ CC = /usr/bin/g++ LD = /usr/bin/g++ ARCH = i386 DEFINES = -DLINUX -D__LINUX__ -D_LINUX -D__linux__ -DPOSIX -DGNUC -DARCH=$(ARCH) -Dsprintf_s=snprintf -Dstrcmpi=strcasecmp -D_alloca=alloca -Dstricmp=strcasecmp -D_stricmp=strcasecmp -Dstrcpy_s=strncpy -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -DNO_MALLOC_OVERRIDE -CFLAGS = $(INCLUDES) $(DEFINES) -fpermissive -fPIC -w -msse2 -m32 -march=$(ARCH) -g -LDFLAGS = -m32 -msse2 -lm -ldl $(STATICLIBDIRS) -Wl,-Bstatic $(STATICLIBS) -Wl,-Bdynamic $(DYNAMICLIBS) -shared +CFLAGS += $(INCLUDES) $(DEFINES) -fpermissive -fPIC -w -msse2 -m32 -march=$(ARCH) -g +LDFLAGS += -m32 -msse2 -lm -ldl $(STATICLIBDIRS) -Wl,-Bstatic $(STATICLIBS) -Wl,-Bdynamic $(DYNAMICLIBS) -shared ifeq ($(CONFIGURATION), debug) # Optimize but don't affect debugging experience. (-Og, only on G++ 4.8 and above) From 0d42f5cf9ae4d28edd795ebb85820325e28a9af8 Mon Sep 17 00:00:00 2001 From: Hi-Angel Date: Sat, 28 Jan 2017 16:16:32 +0300 Subject: [PATCH 5/9] Project gets linked fine without those files --- src/Makefile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Makefile b/src/Makefile index 49a8e27d..60e9c326 100644 --- a/src/Makefile +++ b/src/Makefile @@ -39,9 +39,7 @@ DYNAMICLIBS = \ $(SOURCE_SDK)/lib/public/linux32/tier1.a \ $(SOURCE_SDK)/lib/public/linux32/tier2.a \ $(SOURCE_SDK)/lib/public/linux32/tier3.a \ - $(SOURCE_SDK)/lib/public/linux32/mathlib.a \ - $(SRCDS_BIN_DIR)/libvstdlib_srv.so \ - $(SRCDS_BIN_DIR)/libtier0_srv.so + $(SOURCE_SDK)/lib/public/linux32/mathlib.a CC = /usr/bin/g++ LD = /usr/bin/g++ From a3afb893f7209daef7ae598ca00ebe9cee0970db Mon Sep 17 00:00:00 2001 From: Hi-Angel Date: Sat, 28 Jan 2017 16:20:19 +0300 Subject: [PATCH 6/9] The variable now is unneeded, and the copy is redundant --- src/Makefile | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/Makefile b/src/Makefile index 60e9c326..ae53e166 100644 --- a/src/Makefile +++ b/src/Makefile @@ -9,9 +9,6 @@ CONFIGURATION = release SOURCE_SDK = ../thirdparty/sourcesdk/mp/src BULLET_SDK = ../bullet -# Note: Srcds is required for a successful build because we need to link to some shared objects. -SRCDS_BIN_DIR = ~/steamcmd/server/bin - PROJECT_DIR = . OUT_DIR = ../build/bin/linux/$(CONFIGURATION) OBJ_DIR = ../build/obj/linux/$(PROJECT_NAME)/$(CONFIGURATION) @@ -67,17 +64,12 @@ CP = cp -f MKDIR = mkdir -p MAKE = make -all: dirs $(MODULE_NAME) copy build: dirs $(MODULE_NAME) dirs: @-$(MKDIR) $(OUT_DIR) @-$(MKDIR) $(OBJ_DIR) - -copy: $(MODULE_NAME) - @echo " + Copying $(OUT_DIR)/$(MODULE_NAME) to $(SRCDS_BIN_DIR)" - @$(CP) $(OUT_DIR)/$(MODULE_NAME) $(SRCDS_BIN_DIR) - + $(MODULE_NAME): $(OBJECTS) @echo " + Linking..." @$(LD) -o $(OUT_DIR)/$@ $(OBJECTS) $(LDFLAGS) From 82b0b0a86acaccff7b6c285b16d988345e0c678c Mon Sep 17 00:00:00 2001 From: Hi-Angel Date: Sat, 28 Jan 2017 16:30:03 +0300 Subject: [PATCH 7/9] Remove static libs First, those libs are not in "thirdparty" dir anyway. Second, I see no static libs in Archlinux "bullet" package, only dynamic. And third, I just see no reason to link them statically instead of being shared with other apps of the system. --- src/Makefile | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/Makefile b/src/Makefile index ae53e166..a44b9002 100644 --- a/src/Makefile +++ b/src/Makefile @@ -23,27 +23,24 @@ INCLUDES = \ STATICLIBDIRS = \ -L../build/lib/linux/$(CONFIGURATION) - -# Only works in this order for whatever reason! -STATICLIBS = \ + +DYNAMICLIBS = \ + $(SOURCE_SDK)/lib/public/linux32/tier1.a \ + $(SOURCE_SDK)/lib/public/linux32/tier2.a \ + $(SOURCE_SDK)/lib/public/linux32/tier3.a \ + $(SOURCE_SDK)/lib/public/linux32/mathlib.a \ -lBulletSoftBody \ -lBulletDynamics \ -lBulletMultiThreaded \ -lBulletCollision \ -lLinearMath - -DYNAMICLIBS = \ - $(SOURCE_SDK)/lib/public/linux32/tier1.a \ - $(SOURCE_SDK)/lib/public/linux32/tier2.a \ - $(SOURCE_SDK)/lib/public/linux32/tier3.a \ - $(SOURCE_SDK)/lib/public/linux32/mathlib.a - + CC = /usr/bin/g++ LD = /usr/bin/g++ ARCH = i386 DEFINES = -DLINUX -D__LINUX__ -D_LINUX -D__linux__ -DPOSIX -DGNUC -DARCH=$(ARCH) -Dsprintf_s=snprintf -Dstrcmpi=strcasecmp -D_alloca=alloca -Dstricmp=strcasecmp -D_stricmp=strcasecmp -Dstrcpy_s=strncpy -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -DNO_MALLOC_OVERRIDE CFLAGS += $(INCLUDES) $(DEFINES) -fpermissive -fPIC -w -msse2 -m32 -march=$(ARCH) -g -LDFLAGS += -m32 -msse2 -lm -ldl $(STATICLIBDIRS) -Wl,-Bstatic $(STATICLIBS) -Wl,-Bdynamic $(DYNAMICLIBS) -shared +LDFLAGS += -m32 -msse2 -lm -ldl $(STATICLIBDIRS) $(DYNAMICLIBS) -shared ifeq ($(CONFIGURATION), debug) # Optimize but don't affect debugging experience. (-Og, only on G++ 4.8 and above) From 5c4fbe35e59be4cb4f27d8bdccb2957cb0a4d58b Mon Sep 17 00:00:00 2001 From: Hi-Angel Date: Sat, 28 Jan 2017 16:34:05 +0300 Subject: [PATCH 8/9] Remove redundant lBulletMultiThreaded MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removing the lib causes no problems to compilation, so the library is not even used in the code. Besides, such a library not even shipped in packages — checked at least on Archlinux and Ubuntu. --- src/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index a44b9002..4184a0c1 100644 --- a/src/Makefile +++ b/src/Makefile @@ -31,7 +31,6 @@ DYNAMICLIBS = \ $(SOURCE_SDK)/lib/public/linux32/mathlib.a \ -lBulletSoftBody \ -lBulletDynamics \ - -lBulletMultiThreaded \ -lBulletCollision \ -lLinearMath From 528790e0931f5a3f1c118032c3332e6253520236 Mon Sep 17 00:00:00 2001 From: Hi-Angel Date: Sat, 28 Jan 2017 18:43:23 +0300 Subject: [PATCH 9/9] Make the build files executable --- build.sh | 0 bullet/proj/premake4 | Bin 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 build.sh mode change 100644 => 100755 bullet/proj/premake4 diff --git a/build.sh b/build.sh old mode 100644 new mode 100755 diff --git a/bullet/proj/premake4 b/bullet/proj/premake4 old mode 100644 new mode 100755