]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - Makefile
netradiant: strip 16-bit png to 8-bit, fix #153
[xonotic/netradiant.git] / Makefile
index 009a3d066b1269d01427b04d3620b308f0a709e6..2a63b9cc6ae13b24d3445fff5381b75291ddf4b8 100644 (file)
--- 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)
 
@@ -5,7 +15,7 @@ MAKEFILE_CONF      ?= Makefile.conf
 # user customizable stuf
 # you may override this in Makefile.conf or the environment
 BUILD              ?= debug
-# or: release, or: extradebug, or: profile
+# or: release, or: debug, or: extradebug, or: profile, or: native
 OS                 ?= $(shell uname)
 # or: Linux, Win32, Darwin
 LDFLAGS            ?=
@@ -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 $@
 
-
+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): \
@@ -503,6 +514,7 @@ $(INSTALLDIR)/q3map2.$(EXE): \
        tools/quake3/common/scriplib.o \
        tools/quake3/common/threads.o \
        tools/quake3/common/vfs.o \
+       tools/quake3/common/miniz.o \
        tools/quake3/q3map2/brush.o \
        tools/quake3/q3map2/brush_primit.o \
        tools/quake3/q3map2/bspfile_abstract.o \
@@ -616,6 +628,7 @@ $(INSTALLDIR)/q3data.$(EXE): \
        tools/quake3/common/scriplib.o \
        tools/quake3/common/trilib.o \
        tools/quake3/common/vfs.o \
+       tools/quake3/common/miniz.o \
        tools/quake3/q3data/3dslib.o \
        tools/quake3/q3data/compress.o \
        tools/quake3/q3data/images.o \
@@ -663,6 +676,7 @@ $(INSTALLDIR)/radiant.$(EXE): \
        radiant/error.o \
        radiant/feedback.o \
        radiant/filetypes.o \
+       radiant/filterbar.o \
        radiant/filters.o \
        radiant/findtexturedialog.o \
        radiant/glwidget.o \
@@ -670,6 +684,7 @@ $(INSTALLDIR)/radiant.$(EXE): \
        radiant/groupdialog.o \
        radiant/gtkdlgs.o \
        radiant/gtkmisc.o \
+       radiant/gtktheme.o \
        radiant/help.o \
        radiant/image.o \
        radiant/mainframe.o \
@@ -1016,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