X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fnetradiant.git;a=blobdiff_plain;f=Makefile;h=4f1fc2e8a270332a039e76ce816e2956381dfd69;hp=bf98684f13c36c55cf4768731771b3e33714f9de;hb=HEAD;hpb=84881a66140ad93d0b6cd4d55efbbb459bd91f48 diff --git a/Makefile b/Makefile index bf98684f..2a63b9cc 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,13 @@ +# TODO: when deleting this Makefile, don't forget to also delete conftest.cpp +# which is only required by this Makefile + +ifeq ($(I_KNOW_MAKEFILE_IS_DEPRECATED),) + $(shell printf 'ERROR: Makefile build is deprecated, use CMake instead, see README.md\n\n' >&2) + $(error I_KNOW_MAKEFILE_IS_DEPRECATED is not set) +else + $(shell printf 'WARNING: deprecated Makefile build enforced\n\n' >&2) +endif + MAKEFILE_CONF ?= Makefile.conf -include $(MAKEFILE_CONF) @@ -14,6 +24,8 @@ CXXFLAGS ?= CPPFLAGS ?= LIBS ?= RADIANT_ABOUTMSG ?= Custom build +RADIANT_NAME ?= NetRadiant +RADIANT_BASENAME ?= netradiant # warning: this directory may NOT contain any files other than the ones written by this Makefile! # NEVER SET THIS TO A SYSTEM WIDE "bin" DIRECTORY! @@ -198,7 +210,7 @@ ifeq ($(OS),Linux) else ifeq ($(OS),Win32) - CPPFLAGS_COMMON += -DWIN32 -D_WIN32 -D_inline=inline + CPPFLAGS_COMMON += -DWIN32 -D_WIN32 -D_inline=inline -DWORKAROUND_WINDOWS_FLOATING_WINDOW=1 -DWORKAROUND_WINDOWS_GTK2_GLWIDGET=1 CFLAGS_COMMON += -mms-bitfields LDFLAGS_DLL = -Wl,--add-stdcall-alias LIBS_COMMON = -lws2_32 -luser32 -lgdi32 -lole32 @@ -252,16 +264,13 @@ RADIANT_VERSION_NUMBER = $(RADIANT_MAJOR_VERSION).$(RADIANT_MINOR_VERSION).$(RAD RADIANT_VERSION = $(RADIANT_VERSION_NUMBER)n Q3MAP_VERSION = 2.5.17n -# Executable extension -RADIANT_EXECUTABLE := $(EXE) - GIT_VERSION := $(shell $(GIT) rev-parse --short HEAD $(STDERR_TO_DEVNULL)) ifneq ($(GIT_VERSION),) RADIANT_VERSION := $(RADIANT_VERSION)-git-$(GIT_VERSION) Q3MAP_VERSION := $(Q3MAP_VERSION)-git-$(GIT_VERSION) endif -CPPFLAGS += -DRADIANT_VERSION="\"$(RADIANT_VERSION)\"" -DRADIANT_MAJOR_VERSION="\"$(RADIANT_MAJOR_VERSION)\"" -DRADIANT_MINOR_VERSION="\"$(RADIANT_MINOR_VERSION)\"" -DRADIANT_PATCH_VERSION="\"$(RADIANT_PATCH_VERSION)\"" -DRADIANT_ABOUTMSG="\"$(RADIANT_ABOUTMSG)\"" -DQ3MAP_VERSION="\"$(Q3MAP_VERSION)\"" -DRADIANT_EXECUTABLE="\"$(RADIANT_EXECUTABLE)\"" +CPPFLAGS += -DRADIANT_VERSION="\"$(RADIANT_VERSION)\"" -DRADIANT_VERSION_STRING="\"$(RADIANT_VERSION_STRING)\"" -DRADIANT_ABOUTMSG="\"$(RADIANT_ABOUTMSG)\"" -DRADIANT_NAME="\"${RADIANT_NAME}\"" -DRADIANT_BASENAME="\"${RADIANT_BASENAME}\"" -DQ3MAP_VERSION="\"$(Q3MAP_VERSION)\"" CPPFLAGS += -DGTK_TARGET=2 .PHONY: all @@ -432,8 +441,8 @@ binaries-qdata3: \ .PHONY: binaries-h2data binaries-h2data: \ - $(INSTALLDIR)/heretic2/h2data.$(EXE) \ - $(INSTALLDIR)/heretic2/h2data \ + $(INSTALLDIR)/h2data.$(EXE) \ + $(INSTALLDIR)/h2data \ .PHONY: binaries-tools-quake3 binaries-tools-quake3: \ @@ -489,7 +498,9 @@ endif %.o: %.c $(if $(findstring $(DEPEND_ON_MAKEFILE),yes),$(wildcard Makefile*),) | dependencies-check $(CC) $< $(CFLAGS) $(CFLAGS_COMMON) $(CPPFLAGS_EXTRA) $(CPPFLAGS_COMMON) $(CPPFLAGS) $(TARGET_ARCH) -c -o $@ -$(INSTALLDIR)/q3map2.$(EXE): LDFLAGS_EXTRA := -Wl,--large-address-aware +ifeq ($(OS),Win32) +$(INSTALLDIR)/q3map2.$(EXE): LDFLAGS_EXTRA := -Wl,--large-address-aware,--stack,4194304 +endif $(INSTALLDIR)/q3map2.$(EXE): LIBS_EXTRA := $(LIBS_XML) $(LIBS_GLIB) $(LIBS_PNG) $(LIBS_JPEG) $(LIBS_WEBP) $(LIBS_ZLIB) $(INSTALLDIR)/q3map2.$(EXE): CPPFLAGS_EXTRA := $(CPPFLAGS_XML) $(CPPFLAGS_GLIB) $(CPPFLAGS_PNG) $(CPPFLAGS_JPEG) $(CPPFLAGS_WEBP) -Itools/quake3/common -Ilibs -Iinclude $(INSTALLDIR)/q3map2.$(EXE): \ @@ -1020,46 +1031,45 @@ $(INSTALLDIR)/plugins/bkgrnd2d.$(DLL): \ contrib/bkgrnd2d/dialog.o \ contrib/bkgrnd2d/plugin.o \ -$(INSTALLDIR)/heretic2/h2data.$(EXE): LIBS_EXTRA := $(LIBS_XML) -$(INSTALLDIR)/heretic2/h2data.$(EXE): CPPFLAGS_EXTRA := $(CPPFLAGS_XML) -Itools/quake2/qdata_heretic2/common -Itools/quake2/qdata_heretic2/qcommon -Itools/quake2/qdata_heretic2 -Itools/quake2/common -Ilibs -Iinclude -$(INSTALLDIR)/heretic2/h2data.$(EXE): \ - tools/quake2/qdata_heretic2/common/bspfile.o \ - tools/quake2/qdata_heretic2/common/cmdlib.o \ - tools/quake2/qdata_heretic2/common/inout.o \ - tools/quake2/qdata_heretic2/common/l3dslib.o \ - tools/quake2/qdata_heretic2/common/lbmlib.o \ - tools/quake2/qdata_heretic2/common/mathlib.o \ - tools/quake2/qdata_heretic2/common/md4.o \ - tools/quake2/qdata_heretic2/common/path_init.o \ - tools/quake2/qdata_heretic2/common/qfiles.o \ - tools/quake2/qdata_heretic2/common/scriplib.o \ - tools/quake2/qdata_heretic2/common/threads.o \ - tools/quake2/qdata_heretic2/common/token.o \ - tools/quake2/qdata_heretic2/common/trilib.o \ - tools/quake2/qdata_heretic2/qcommon/reference.o \ - tools/quake2/qdata_heretic2/qcommon/resourcemanager.o \ - tools/quake2/qdata_heretic2/qcommon/skeletons.o \ - tools/quake2/qdata_heretic2/animcomp.o \ - tools/quake2/qdata_heretic2/book.o \ - tools/quake2/qdata_heretic2/fmodels.o \ - tools/quake2/qdata_heretic2/images.o \ - tools/quake2/qdata_heretic2/jointed.o \ - tools/quake2/qdata_heretic2/models.o \ - tools/quake2/qdata_heretic2/pics.o \ - tools/quake2/qdata_heretic2/qdata.o \ - tools/quake2/qdata_heretic2/qd_skeletons.o \ - tools/quake2/qdata_heretic2/sprites.o \ - tools/quake2/qdata_heretic2/svdcmp.o \ - tools/quake2/qdata_heretic2/tables.o \ - tools/quake2/qdata_heretic2/tmix.o \ - tools/quake2/qdata_heretic2/video.o \ +$(INSTALLDIR)/h2data.$(EXE): LIBS_EXTRA := $(LIBS_XML) +$(INSTALLDIR)/h2data.$(EXE): CPPFLAGS_EXTRA := $(CPPFLAGS_XML) -Itools/heretic2/common -Itools/heretic2/qcommon -Itools/heretic2/h2data -Itools/quake2/common -Ilibs -Iinclude +$(INSTALLDIR)/h2data.$(EXE): \ + tools/heretic2/common/bspfile.o \ + tools/heretic2/common/cmdlib.o \ + tools/heretic2/common/inout.o \ + tools/heretic2/common/l3dslib.o \ + tools/heretic2/common/lbmlib.o \ + tools/heretic2/common/mathlib.o \ + tools/heretic2/common/md4.o \ + tools/heretic2/common/path_init.o \ + tools/heretic2/common/qfiles.o \ + tools/heretic2/common/scriplib.o \ + tools/heretic2/common/threads.o \ + tools/heretic2/common/token.o \ + tools/heretic2/common/trilib.o \ + tools/heretic2/qcommon/reference.o \ + tools/heretic2/qcommon/resourcemanager.o \ + tools/heretic2/qcommon/skeletons.o \ + tools/heretic2/h2data/animcomp.o \ + tools/heretic2/h2data/book.o \ + tools/heretic2/h2data/fmodels.o \ + tools/heretic2/h2data/images.o \ + tools/heretic2/h2data/jointed.o \ + tools/heretic2/h2data/models.o \ + tools/heretic2/h2data/pics.o \ + tools/heretic2/h2data/qdata.o \ + tools/heretic2/h2data/qd_skeletons.o \ + tools/heretic2/h2data/sprites.o \ + tools/heretic2/h2data/svdcmp.o \ + tools/heretic2/h2data/tables.o \ + tools/heretic2/h2data/tmix.o \ + tools/heretic2/h2data/video.o \ libl_net.$(A) \ $(if $(findstring $(OS),Win32),icons/h2data.o,) \ .PHONY: install-data install-data: binaries - $(MKDIR) $(INSTALLDIR)/games - DOWNLOAD_GAMEPACKS="$(DOWNLOAD_GAMEPACKS)" DOWNLOADDIR="$(DOWNLOADDIR)" INSTALLDIR="$(INSTALLDIR)" GIT="$(GIT)" SVN="$(SVN)" WGET="$(WGET)" RM_R="$(RM_R)" MV="$(MV)" UNZIPPER="$(UNZIPPER)" ECHO="$(ECHO)" SH="$(SH)" CP="$(CP)" CP_R="$(CP_R)" $(SH) gamepack-manager + DOWNLOAD_GAMEPACKS="$(DOWNLOAD_GAMEPACKS)" DOWNLOADDIR="$(DOWNLOADDIR)" INSTALLDIR="$(INSTALLDIR)/gamepacks" GIT="$(GIT)" SVN="$(SVN)" WGET="$(WGET)" RM_R="$(RM_R)" MV="$(MV)" UNZIPPER="$(UNZIPPER)" ECHO="$(ECHO)" CP="$(CP)" CP_R="$(CP_R)" ./gamepack-manager $(ECHO) $(RADIANT_MAJOR_VERSION) > $(INSTALLDIR)/RADIANT_MAJOR $(ECHO) $(RADIANT_MINOR_VERSION) > $(INSTALLDIR)/RADIANT_MINOR $(ECHO) $(RADIANT_PATCH_VERSION) > $(INSTALLDIR)/RADIANT_PATCH