]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - Makefile
Q3map2:
[xonotic/netradiant.git] / Makefile
index b4174339e8e6ca3d2a4539cfcd533ba669bb2124..bcb1f6f601ff720c7658ecb26cf0d0c37e739f03 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,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            ?=
@@ -37,6 +37,8 @@ CAT                ?= cat
 MKDIR              ?= mkdir -p
 CP                 ?= cp
 CP_R               ?= $(CP) -r
+LN                 ?= ln
+LN_SNF             ?= $(LN) -snf
 RM                 ?= rm
 RM_R               ?= $(RM) -r
 TEE_STDERR         ?= | tee /dev/stderr
@@ -153,26 +155,39 @@ ifeq ($(BUILD),release)
 ifeq ($(findstring $(CFLAGS),-O),)
        CFLAGS_COMMON += -O3
        # only add -O3 if no -O flag is in $(CFLAGS)
-       # to allow overriding the optimizations
 endif
        CPPFLAGS_COMMON +=
        LDFLAGS_COMMON += -s
 else
 
+ifeq ($(BUILD),native)
+ifeq ($(findstring $(CFLAGS),-O),)
+       CFLAGS_COMMON += -O3
+       # only add -O3 if no -O flag is in $(CFLAGS)
+endif
+       CFLAGS_COMMON += -march=native -mcpu=native
+       CPPFLAGS_COMMON +=
+       LDFLAGS_COMMON += -s
+else
+
 $(error Unsupported build type: $(BUILD))
 endif
 endif
 endif
 endif
+endif
 
 INSTALLDIR_BASE := $(INSTALLDIR)
 
+MAKE_EXE_SYMLINK = false
+
 ifeq ($(OS),Linux)
        CPPFLAGS_COMMON += -DPOSIX -DXWINDOWS
        CFLAGS_COMMON += -fPIC
        LDFLAGS_DLL = -fPIC -ldl
        LIBS_COMMON = -lpthread
-       EXE ?= x86
+       EXE ?= $(shell uname -m)
+       MAKE_EXE_SYMLINK = true
        A = a
        DLL = so
        MWINDOWS =
@@ -204,7 +219,8 @@ ifeq ($(OS),Darwin)
        CPPFLAGS_COMMON += -I$(MACLIBDIR)/../include -I/usr/X11R6/include
        LDFLAGS_COMMON += -L$(MACLIBDIR) -L/usr/X11R6/lib
        LDFLAGS_DLL += -dynamiclib -ldl
-       EXE ?= ppc
+       EXE ?= $(shell uname -m)
+       MAKE_EXE_SYMLINK = true
        A = a
        DLL = dylib
        MWINDOWS =
@@ -381,10 +397,12 @@ binaries-radiant-plugins: \
        $(INSTALLDIR)/plugins/shaderplug.$(DLL) \
        $(INSTALLDIR)/plugins/sunplug.$(DLL) \
        $(INSTALLDIR)/plugins/ufoaiplug.$(DLL) \
+       $(INSTALLDIR)/plugins/meshtex.$(DLL) \
 
 .PHONY: binaries-radiant
 binaries-radiant-core: \
        $(INSTALLDIR)/radiant.$(EXE) \
+       $(INSTALLDIR)/radiant \
 
 .PHONY: binaries-tools
 binaries-tools: \
@@ -400,14 +418,17 @@ binaries-tools-quake2: \
 .PHONY: binaries-q2map
 binaries-q2map: \
        $(INSTALLDIR)/q2map.$(EXE) \
+       $(INSTALLDIR)/q2map \
 
 .PHONY: binaries-qdata3
 binaries-qdata3: \
        $(INSTALLDIR)/qdata3.$(EXE) \
+       $(INSTALLDIR)/qdata3 \
 
 .PHONY: binaries-h2data
 binaries-h2data: \
-       $(INSTALLDIR)/heretic2/h2data.$(EXE)
+       $(INSTALLDIR)/heretic2/h2data.$(EXE) \
+       $(INSTALLDIR)/heretic2/h2data \
 
 .PHONY: binaries-tools-quake3
 binaries-tools-quake3: \
@@ -417,10 +438,12 @@ binaries-tools-quake3: \
 .PHONY: binaries-q3data
 binaries-q3data: \
        $(INSTALLDIR)/q3data.$(EXE) \
+       $(INSTALLDIR)/q3data \
 
 .PHONY: binaries-q3map2
 binaries-q3map2: \
        $(INSTALLDIR)/q3map2.$(EXE) \
+       $(INSTALLDIR)/q3map2 \
 
 
 .PHONY: clean
@@ -434,6 +457,9 @@ clean:
        $(CXX) $^ $(LDFLAGS) $(LDFLAGS_COMMON) $(LDFLAGS_EXTRA) $(LIBS_EXTRA) $(LIBS_COMMON) $(LIBS) -o $@
        [ -z "$(LDD)" ] || [ -z "`$(LDD) -r $@ $(STDERR_TO_STDOUT) $(STDOUT_TO_DEVNULL) $(TEE_STDERR)`" ] || { $(RM) $@; exit 1; }
 
+$(INSTALLDIR)/%: $(INSTALLDIR)/%.$(EXE)
+       if $(MAKE_EXE_SYMLINK); then o=$<; $(LN_SNF) $${o##*/} $@; else true; fi
+
 %.$(A):
        $(AR) rc $@ $^
        $(RANLIB) $@
@@ -457,7 +483,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_ZLIB)
 $(INSTALLDIR)/q3map2.$(EXE): CPPFLAGS_EXTRA := $(CPPFLAGS_XML) $(CPPFLAGS_GLIB) $(CPPFLAGS_PNG) $(CPPFLAGS_JPEG) -Itools/quake3/common -Ilibs -Iinclude
 $(INSTALLDIR)/q3map2.$(EXE): \
@@ -472,6 +500,7 @@ $(INSTALLDIR)/q3map2.$(EXE): \
        tools/quake3/common/threads.o \
        tools/quake3/common/unzip.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 \
@@ -573,6 +602,7 @@ $(INSTALLDIR)/q3data.$(EXE): \
        tools/quake3/common/trilib.o \
        tools/quake3/common/unzip.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 \
@@ -619,6 +649,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 \
@@ -626,6 +657,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 \
@@ -973,6 +1005,23 @@ $(INSTALLDIR)/plugins/ufoaiplug.$(DLL): \
        contrib/ufoaiplug/ufoai_level.o \
        contrib/ufoaiplug/ufoai.o \
 
+$(INSTALLDIR)/plugins/meshtex.$(DLL): LIBS_EXTRA := $(LIBS_GLIB) $(LIBS_GTK)
+$(INSTALLDIR)/plugins/meshtex.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_GLIB) $(CPPFLAGS_GTK) -Ilibs -Iinclude
+$(INSTALLDIR)/plugins/meshtex.$(DLL): \
+       contrib/meshtex/GeneralFunctionDialog.o \
+       contrib/meshtex/GenericDialog.o \
+       contrib/meshtex/GenericMainMenu.o \
+       contrib/meshtex/GenericPluginUI.o \
+       contrib/meshtex/GetInfoDialog.o \
+       contrib/meshtex/MainMenu.o \
+       contrib/meshtex/MeshEntity.o \
+       contrib/meshtex/MeshVisitor.o \
+       contrib/meshtex/PluginModule.o \
+       contrib/meshtex/PluginRegistration.o \
+       contrib/meshtex/PluginUI.o \
+       contrib/meshtex/RefCounted.o \
+       contrib/meshtex/SetScaleDialog.o \
+
 $(INSTALLDIR)/plugins/bkgrnd2d.$(DLL): LIBS_EXTRA := $(LIBS_GLIB) $(LIBS_GTK)
 $(INSTALLDIR)/plugins/bkgrnd2d.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_GLIB) $(CPPFLAGS_GTK) -Ilibs -Iinclude
 $(INSTALLDIR)/plugins/bkgrnd2d.$(DLL): \