$NetBSD: patch-Makefile,v 1.3 2024/05/11 10:05:15 nia Exp $ - Add support for NetBSD-style uname. - Build client on NetBSD. - Pass ARCH_STRING on *BSD so multi-arch support works. https://github.com/ioquake/ioq3/pull/466 - Add -lrt on NetBSD that binutils 2.39 wants. --- Makefile.orig 2019-12-07 13:16:15.000000000 +0000 +++ Makefile @@ -6,8 +6,8 @@ COMPILE_PLATFORM=$(shell uname | sed -e 's/_.*//' | tr '[:upper:]' '[:lower:]' | sed -e 's/\//_/g') COMPILE_ARCH=$(shell uname -m | sed -e 's/i.86/x86/' | sed -e 's/^arm.*/arm/') -ifeq ($(COMPILE_PLATFORM),sunos) - # Solaris uname and GNU uname differ +ifneq (,$(findstring "$(COMPILE_PLATFORM)", "sunos" "netbsd")) + # Solaris/NetBSD uname and GNU uname differ COMPILE_ARCH=$(shell uname -p | sed -e 's/i.86/x86/') endif @@ -65,6 +65,10 @@ ifeq ($(PLATFORM),mingw64) MINGW=1 endif +ifeq ($(COMPILE_ARCH),i386) + COMPILE_ARCH=x86 +endif + ifeq ($(COMPILE_ARCH),i86pc) COMPILE_ARCH=x86 endif @@ -338,7 +342,7 @@ MKDIR=mkdir -p EXTRA_FILES= CLIENT_EXTRA_FILES= -ifneq (,$(findstring "$(COMPILE_PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu" "gnu")) +ifneq (,$(findstring "$(COMPILE_PLATFORM)", "linux" "freebsd" "netbsd" "openbsd" "dragonfly" "gnu_kfreebsd" "kfreebsd-gnu" "gnu")) TOOLS_CFLAGS += -DARCH_STRING=\"$(COMPILE_ARCH)\" endif @@ -531,16 +535,16 @@ ifeq ($(PLATFORM),darwin) RENDERER_LIBS += $(LIBSDIR)/macosx/libSDL2-2.0.0.dylib CLIENT_EXTRA_FILES += $(LIBSDIR)/macosx/libSDL2-2.0.0.dylib else - BASE_CFLAGS += -I/Library/Frameworks/SDL2.framework/Headers - CLIENT_LIBS += -framework SDL2 - RENDERER_LIBS += -framework SDL2 + CLIENT_CFLAGS += $(SDL_CFLAGS) + CLIENT_LIBS += $(SDL_LIBS) + RENDERER_LIBS += $(SDL_LIBS) endif OPTIMIZE = $(OPTIMIZEVM) -ffast-math SHLIBEXT=dylib SHLIBCFLAGS=-fPIC -fno-common - SHLIBLDFLAGS=-dynamiclib $(LDFLAGS) -Wl,-U,_com_altivec + SHLIBLDFLAGS=-dynamiclib $(LDFLAGS) NOTSHLIBCFLAGS=-mdynamic-no-pic @@ -712,7 +716,7 @@ ifeq ($(PLATFORM),freebsd) # flags BASE_CFLAGS = \ -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \ - -DUSE_ICON -DMAP_ANONYMOUS=MAP_ANON + -DUSE_ICON -DMAP_ANONYMOUS=MAP_ANON -DARCH_STRING=\\\"$(ARCH)\\\" CLIENT_CFLAGS += $(SDL_CFLAGS) HAVE_VM_COMPILED = true @@ -766,7 +770,7 @@ else # ifeq freebsd ifeq ($(PLATFORM),openbsd) BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \ - -pipe -DUSE_ICON -DMAP_ANONYMOUS=MAP_ANON + -pipe -DUSE_ICON -DMAP_ANONYMOUS=MAP_ANON -DARCH_STRING=\\\"$(ARCH)\\\" CLIENT_CFLAGS += $(SDL_CFLAGS) OPTIMIZEVM = -O3 @@ -848,13 +852,36 @@ ifeq ($(PLATFORM),netbsd) SHLIBLDFLAGS=-shared $(LDFLAGS) THREAD_LIBS=-lpthread - BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes + BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \ + -pipe -DUSE_ICON -DARCH_STRING=\\\"$(ARCH)\\\" + + CLIENT_LIBS += $(SDL_LIBS) + RENDERER_LIBS = $(SDL_LIBS) + + # optional features/libraries + ifeq ($(USE_OPENAL),1) + ifeq ($(USE_OPENAL_DLOPEN),1) + CLIENT_LIBS += $(THREAD_LIBS) $(OPENAL_LIBS) + endif + endif + + ifeq ($(USE_CURL),1) + CLIENT_CFLAGS += $(CURL_CFLAGS) + ifeq ($(USE_CURL_DLOPEN),1) + CLIENT_LIBS += $(CURL_LIBS) + endif + endif + + ifeq ($(USE_MUMBLE),1) + CLIENT_LIBS += -lrt + endif ifeq ($(ARCH),x86) HAVE_VM_COMPILED=true endif - - BUILD_CLIENT = 0 + ifeq ($(ARCH),x86_64) + HAVE_VM_COMPILED=true + endif else # ifeq netbsd #############################################################################