Clean up Linux makefiles
This commit is contained in:
parent
39598694fd
commit
e7b1768630
3 changed files with 25 additions and 59 deletions
|
@ -1,4 +1,3 @@
|
|||
|
||||
#
|
||||
# Half-life Makefile for x86 Linux
|
||||
#
|
||||
|
@ -20,41 +19,24 @@ PM_SRC_DIR=$(SOURCE_DIR)/pm_shared
|
|||
GAME_SHARED_SRC_DIR=$(SOURCE_DIR)/game_shared
|
||||
PUBLIC_SRC_DIR=$(SOURCE_DIR)/public
|
||||
|
||||
|
||||
BUILD_OBJ_DIR=$(BUILD_DIR)/obj
|
||||
|
||||
ARCH=i386
|
||||
ELF-GC-DYNSTR=./elf-gc-dynstr
|
||||
|
||||
|
||||
CPLUS="g++ -m32"
|
||||
CPP_LIB:=-L$(shell g++ -m32 -print-file-name=libstdc++.so | xargs dirname) -lstdc++ -ldl -lpthread
|
||||
|
||||
|
||||
CLINK=$(CPLUS)
|
||||
ARCH_CFLAGS=-march=pentium-m -mfpmath=387
|
||||
|
||||
ifeq "$(CFG)" "release"
|
||||
ARCH_CFLAGS_I486=-O3
|
||||
ARCH_CFLAGS_I686=-O3
|
||||
ARCH_CFLAGS_AMD=-O3
|
||||
ARCH_CFLAGS_AMD64=-m64 -O3
|
||||
ARCH_CFLAGS+=-O3
|
||||
else
|
||||
ARCH_CFLAGS_I486=-gdwarf-2 -g2
|
||||
ARCH_CFLAGS_I686=-gdwarf-2 -g2
|
||||
ARCH_CFLAGS_AMD=-gdwarf-2 -g2
|
||||
ARCH_CFLAGS_AMD64=-m64 -gdwarf-2 -g2
|
||||
ARCH_CFLAGS+=-gdwarf-2 -g2
|
||||
endif
|
||||
|
||||
ARCH_CFLAGS_I486+=-march=pentium-m -mfpmath=387
|
||||
ARCH_CFLAGS_I686+=-march=pentium-m -mfpmath=387
|
||||
ARCH_CFLAGS_AMD+=-march=k6 -mfpmath=387
|
||||
|
||||
ARCH_CFLAGS="$(ARCH_CFLAGS_I486)"
|
||||
|
||||
BASE_CFLAGS=-std=c++17 -fpermissive -fno-strict-aliasing -DNDEBUG -DPOSIX -D_POSIX -DLINUX -D_LINUX -DGNUC -DNO_MALLOC_OVERRIDE -fno-exceptions -fexpensive-optimizations -Werror=return-type
|
||||
BASE_CFLAGS+=-w
|
||||
|
||||
BASE_CFLAGS+= -DLINUX -D_LINUX
|
||||
BASE_CFLAGS=-std=c++17 -fpermissive -fno-strict-aliasing -fno-exceptions -fexpensive-optimizations -Werror=return-type -w
|
||||
BASE_CFLAGS+=-DNDEBUG -DPOSIX -D_POSIX -DLINUX -D_LINUX -DGNUC -DNO_MALLOC_OVERRIDE -DCLIENT_WEAPONS
|
||||
|
||||
SHLIBEXT=so
|
||||
SHLIBCFLAGS=
|
||||
|
@ -89,12 +71,11 @@ build_dir:
|
|||
|
||||
targets: $(TARGETS)
|
||||
|
||||
|
||||
hl_cdll: build_dir
|
||||
$(MAKE_HL_CDLL) ARCH=i686 CPLUS=$(CPLUS) CPP_LIB="$(CPP_LIB)" BUILD_DIR=$(BUILD_DIR) BUILD_OBJ_DIR=$(BUILD_OBJ_DIR) SOURCE_DIR=$(SOURCE_DIR) ENGINE_SRC_DIR=$(ENGINE_SRC_DIR) COMMON_SRC_DIR=$(COMMON_SRC_DIR) BASE_CFLAGS="$(BASE_CFLAGS)" PUBLIC_SRC_DIR=$(PUBLIC_SRC_DIR) ARCH_CFLAGS="$(ARCH_CFLAGS_I686)" GAME_SHARED_SRC_DIR=$(GAME_SHARED_SRC_DIR) CLINK=$(CLINK) PM_SRC_DIR=$(PM_SRC_DIR) SHLIBEXT=$(SHLIBEXT) SHLIBCFLAGS=$(SHLIBCFLAGS) SHLIBLDFLAGS=$(SHLIBLDFLAGS) CFG=$(CFG) OS=$(OS)
|
||||
$(MAKE_HL_CDLL) CPLUS=$(CPLUS) ARCH=$(ARCH) ARCH_CFLAGS="$(ARCH_CFLAGS)" SHLIBEXT=$(SHLIBEXT) SHLIBCFLAGS=$(SHLIBCFLAGS) SHLIBLDFLAGS=$(SHLIBLDFLAGS) CPP_LIB="$(CPP_LIB)" CFG=$(CFG) OS=$(OS) BASE_CFLAGS="$(BASE_CFLAGS)" BUILD_DIR=$(BUILD_DIR) BUILD_OBJ_DIR=$(BUILD_OBJ_DIR) SOURCE_DIR=$(SOURCE_DIR) ENGINE_SRC_DIR=$(ENGINE_SRC_DIR) COMMON_SRC_DIR=$(COMMON_SRC_DIR) PUBLIC_SRC_DIR=$(PUBLIC_SRC_DIR) GAME_SHARED_SRC_DIR=$(GAME_SHARED_SRC_DIR) PM_SRC_DIR=$(PM_SRC_DIR)
|
||||
|
||||
hl: build_dir
|
||||
$(MAKE_HL_LIB) CPLUS=$(CPLUS) ARCH=$(ARCH) CPP_LIB="$(CPP_LIB)" BUILD_DIR=$(BUILD_DIR) BUILD_OBJ_DIR=$(BUILD_OBJ_DIR) SOURCE_DIR=$(SOURCE_DIR) ENGINE_SRC_DIR=$(ENGINE_SRC_DIR) COMMON_SRC_DIR=$(COMMON_SRC_DIR) PM_SRC_DIR=$(PM_SRC_DIR) GAME_SHARED_SRC_DIR=$(GAME_SHARED_SRC_DIR) BASE_CFLAGS="$(BASE_CFLAGS)" SHLIBEXT=$(SHLIBEXT) SHLIBCFLAGS=$(SHLIBCFLAGS) SHLIBLDFLAGS=$(SHLIBLDFLAGS) PUBLIC_SRC_DIR=$(PUBLIC_SRC_DIR) CFG=$(CFG) OS=$(OS) ARCH_CFLAGS="$(ARCH_CFLAGS_I686)"
|
||||
$(MAKE_HL_LIB) CPLUS=$(CPLUS) ARCH=$(ARCH) ARCH_CFLAGS="$(ARCH_CFLAGS)" SHLIBEXT=$(SHLIBEXT) SHLIBCFLAGS=$(SHLIBCFLAGS) SHLIBLDFLAGS=$(SHLIBLDFLAGS) CPP_LIB="$(CPP_LIB)" CFG=$(CFG) OS=$(OS) BASE_CFLAGS="$(BASE_CFLAGS)" BUILD_DIR=$(BUILD_DIR) BUILD_OBJ_DIR=$(BUILD_OBJ_DIR) SOURCE_DIR=$(SOURCE_DIR) ENGINE_SRC_DIR=$(ENGINE_SRC_DIR) COMMON_SRC_DIR=$(COMMON_SRC_DIR) PUBLIC_SRC_DIR=$(PUBLIC_SRC_DIR) GAME_SHARED_SRC_DIR=$(GAME_SHARED_SRC_DIR) PM_SRC_DIR=$(PM_SRC_DIR)
|
||||
|
||||
clean:
|
||||
-rm -rf $(BUILD_OBJ_DIR)
|
||||
|
|
|
@ -6,8 +6,6 @@
|
|||
HL_SRC_DIR=$(SOURCE_DIR)/cl_dll
|
||||
HL_PARTICLEMAN_DIR=$(SOURCE_DIR)/cl_dll/particleman
|
||||
HL_SERVER_SRC_DIR=$(SOURCE_DIR)/dlls
|
||||
GAME_SHARED_SRC_DIR=$(SOURCE_DIR)/game_shared
|
||||
PM_SHARED_SRC_DIR=$(SOURCE_DIR)/pm_shared
|
||||
|
||||
HL1_OBJ_DIR=$(BUILD_OBJ_DIR)/hl1_client
|
||||
HL1_PARTICLEMAN_OBJ_DIR=$(BUILD_OBJ_DIR)/particleman
|
||||
|
@ -17,16 +15,13 @@ GAME_SHARED_OBJ_DIR=$(HL1_OBJ_DIR)/game_shared
|
|||
HL1_SERVER_OBJ_DIR=$(HL1_OBJ_DIR)/server
|
||||
PM_SHARED_OBJ_DIR=$(HL1_OBJ_DIR)/pm_shared
|
||||
|
||||
CFLAGS=$(BASE_CFLAGS) $(ARCH_CFLAGS) -DCLIENT_DLL -DCLIENT_WEAPONS -I/usr/include/malloc
|
||||
CFLAGS=$(BASE_CFLAGS) $(ARCH_CFLAGS) -DCLIENT_DLL
|
||||
|
||||
INCLUDEDIRS=-I$(HL_SRC_DIR) -I$(HL_PARTICLEMAN_DIR) -I../dlls -I$(COMMON_SRC_DIR) -I$(PUBLIC_SRC_DIR) -I../pm_shared -I../engine -I../utils/vgui/include -I ../game_shared -I../external
|
||||
INCLUDEDIRS=-I$(HL_SRC_DIR) -I$(HL_PARTICLEMAN_DIR) -I../dlls -I/usr/include/malloc -I$(COMMON_SRC_DIR) -I$(PUBLIC_SRC_DIR) -I../pm_shared -I../engine -I../utils/vgui/include -I../game_shared -I../external
|
||||
|
||||
LDFLAGS=$(SHLIBLDFLAGS) $(CPP_LIB) -L$(CFG) vgui.so -L. libSDL2-2.0.so.0
|
||||
LDFLAGS=$(SHLIBLDFLAGS) $(CPP_LIB) -L$(CFG) vgui.so -L. libSDL2-2.0.so.0
|
||||
|
||||
DO_CC=$(CPLUS) $(INCLUDEDIRS) $(CFLAGS) -o $@ -c $<
|
||||
DO_PUBLIC_CC=$(CPLUS) $(INCLUDEDIRS) $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
|
||||
DO_COMMON_CC=$(CPLUS) $(INCLUDEDIRS) $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
|
||||
DO_PM_SHARED_CC=$(CPLUS) $(INCLUDEDIRS) $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
|
||||
|
||||
#####################################################################
|
||||
|
||||
|
@ -130,11 +125,10 @@ PM_SHARED_OBJS = \
|
|||
$(PM_SHARED_OBJ_DIR)/pm_shared.o \
|
||||
$(PM_SHARED_OBJ_DIR)/pm_math.o \
|
||||
|
||||
|
||||
all: client.$(SHLIBEXT)
|
||||
|
||||
client.$(SHLIBEXT): $(HL1_OBJS) $(PUBLIC_OBJS) $(COMMON_OBJS) $(GAME_SHARED_OBJS) $(DLL_OBJS) $(PM_SHARED_OBJS)
|
||||
$(CLINK) -o $(BUILD_DIR)/$@ $(HL1_OBJS) $(PUBLIC_OBJS) $(COMMON_OBJS) $(GAME_SHARED_OBJS) $(DLL_OBJS) $(PM_SHARED_OBJS) $(LDFLAGS) $(CPP_LIB)
|
||||
$(CPLUS) -o $(BUILD_DIR)/$@ $(HL1_OBJS) $(PUBLIC_OBJS) $(COMMON_OBJS) $(GAME_SHARED_OBJS) $(DLL_OBJS) $(PM_SHARED_OBJS) $(LDFLAGS) $(CPP_LIB)
|
||||
./gendbg.sh $(BUILD_DIR)/client.$(SHLIBEXT)
|
||||
|
||||
$(HL1_OBJ_DIR):
|
||||
|
@ -179,16 +173,16 @@ $(HL1_OBJ_DIR)/%.o: $(HL_SRC_DIR)/VGUI/%.cpp $(filter-out $(wildcard $(HL1_OBJ_
|
|||
$(DO_CC)
|
||||
|
||||
$(PUBLIC_OBJ_DIR)/%.o : $(PUBLIC_SRC_DIR)/%.cpp $(filter-out $(wildcard $(PUBLIC_OBJ_DIR)), $(PUBLIC_OBJ_DIR))
|
||||
$(DO_PUBLIC_CC)
|
||||
$(DO_CC)
|
||||
|
||||
$(COMMON_OBJ_DIR)/%.o : $(COMMON_SRC_DIR)/%.cpp $(filter-out $(wildcard $(COMMON_OBJ_DIR)), $(COMMON_OBJ_DIR))
|
||||
$(DO_COMMON_CC)
|
||||
$(DO_CC)
|
||||
|
||||
$(GAME_SHARED_OBJ_DIR)/%.o : $(GAME_SHARED_SRC_DIR)/%.cpp $(filter-out $(wildcard $(GAME_SHARED_OBJ_DIR)), $(GAME_SHARED_OBJ_DIR))
|
||||
$(DO_COMMON_CC)
|
||||
$(DO_CC)
|
||||
|
||||
$(PM_SHARED_OBJ_DIR)/%.o : $(PM_SHARED_SRC_DIR)/%.cpp $(filter-out $(wildcard $(PM_SHARED_OBJ_DIR)), $(PM_SHARED_OBJ_DIR))
|
||||
$(DO_PM_SHARED_CC)
|
||||
$(PM_SHARED_OBJ_DIR)/%.o : $(PM_SRC_DIR)/%.cpp $(filter-out $(wildcard $(PM_SHARED_OBJ_DIR)), $(PM_SHARED_OBJ_DIR))
|
||||
$(DO_CC)
|
||||
|
||||
clean:
|
||||
-rm -rf $(HL1_OBJ_DIR)
|
||||
|
|
|
@ -12,22 +12,13 @@ GAME_SHARED_OBJ_DIR=$(HLDLL_OBJ_DIR)/game_shared
|
|||
PUBLIC_OBJ_DIR=$(HLDLL_OBJ_DIR)/public
|
||||
COMMON_OBJ_DIR=$(HLDLL_OBJ_DIR)/common
|
||||
|
||||
#CFLAGS=$(BASE_CFLAGS) $(ARCH_CFLAGS) $(SHLIBCFLAGS) -DCLIENT_WEAPONS
|
||||
CFLAGS=$(BASE_CFLAGS) $(ARCH_CFLAGS) -DCLIENT_WEAPONS
|
||||
#-O3 -ffast-math -fno-strength-reduce
|
||||
CFLAGS=$(BASE_CFLAGS) $(ARCH_CFLAGS)
|
||||
|
||||
HLDLL_INCLUDEDIRS=-I$(HLDLL_SRC_DIR) -I$(ENGINE_SRC_DIR) -I$(COMMON_SRC_DIR) -I$(PM_SRC_DIR) -I$(GAME_SHARED_SRC_DIR) -I$(PUBLIC_SRC_DIR)
|
||||
PM_INCLUDEDIRS=-I$(HLDLL_SRC_DIR) -I$(COMMON_SRC_DIR) -I$(PUBLIC_SRC_DIR)
|
||||
GAME_SHARED_INCLUDEDIRS=-I$(HLDLL_SRC_DIR) -I$(ENGINE_SRC_DIR) -I$(COMMON_SRC_DIR) -I$(PM_SRC_DIR) -I$(PUBLIC_SRC_DIR)
|
||||
COMMON_INCLUDEDIRS=-I$(HLDLL_SRC_DIR) -I$(ENGINE_SRC_DIR) -I$(COMMON_SRC_DIR) -I$(PM_SRC_DIR) -I$(PUBLIC_SRC_DIR)
|
||||
INCLUDEDIRS=-I$(HLDLL_SRC_DIR) -I$(ENGINE_SRC_DIR) -I$(COMMON_SRC_DIR) -I$(PM_SRC_DIR) -I$(GAME_SHARED_SRC_DIR) -I$(PUBLIC_SRC_DIR)
|
||||
|
||||
LDFLAGS= $(CPP_LIB) -lm
|
||||
LDFLAGS= $(CPP_LIB)
|
||||
|
||||
DO_HLDLL_CC=$(CPLUS) $(HLDLL_INCLUDEDIRS) $(CFLAGS) -o $@ -c $<
|
||||
DO_PUBLIC_CC=$(CPLUS) $(HLDLL_INCLUDEDIRS) $(CFLAGS) -o $@ -c $<
|
||||
DO_PM_CC=$(CPLUS) $(PM_INCLUDEDIRS) $(CFLAGS) -o $@ -c $<
|
||||
DO_GAME_SHARED_CC=$(CPLUS) $(GAME_SHARED_INCLUDEDIRS) $(CFLAGS) -o $@ -c $<
|
||||
DO_COMMON_CC=$(CPLUS) $(COMMON_INCLUDEDIRS) $(CFLAGS) -o $@ -c $<
|
||||
DO_CC=$(CPLUS) $(INCLUDEDIRS) $(CFLAGS) -o $@ -c $<
|
||||
|
||||
#####################################################################
|
||||
|
||||
|
@ -162,19 +153,19 @@ hl.$(SHLIBEXT): $(HLDLL_OBJS) $(PM_OBJS) $(GAME_SHARED_OBJS) $(PUBLIC_OBJS) $(CO
|
|||
./gendbg.sh $(BUILD_DIR)/hl.$(SHLIBEXT)
|
||||
|
||||
$(HLDLL_OBJ_DIR)/%.o : $(HLDLL_SRC_DIR)/%.cpp
|
||||
$(DO_HLDLL_CC)
|
||||
$(DO_CC)
|
||||
|
||||
$(PM_OBJ_DIR)/%.o : $(PM_SRC_DIR)/%.cpp
|
||||
$(DO_PM_CC)
|
||||
$(DO_CC)
|
||||
|
||||
$(GAME_SHARED_OBJ_DIR)/%.o : $(GAME_SHARED_SRC_DIR)/%.cpp
|
||||
$(DO_GAME_SHARED_CC)
|
||||
$(DO_CC)
|
||||
|
||||
$(PUBLIC_OBJ_DIR)/%.o : $(PUBLIC_SRC_DIR)/%.cpp
|
||||
$(DO_PUBLIC_CC)
|
||||
$(DO_CC)
|
||||
|
||||
$(COMMON_OBJ_DIR)/%.o : $(COMMON_SRC_DIR)/%.cpp
|
||||
$(DO_COMMON_CC)
|
||||
$(DO_CC)
|
||||
|
||||
clean:
|
||||
-rm -rf $(COMMON_OBJ_DIR)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue