]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - Makefile
git-svn-id: svn://svn.icculus.org/netradiant/trunk@55 61c419a2-8eb2-4b30-bcec-8cead03...
[xonotic/netradiant.git] / Makefile
index f6b6a850dbd1f9e2b1d3269d4c4442b5e3df1c5a..3dde780d6868828fbc889251c17b66296f501c3a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,10 @@
 include Makefile.conf
 
-CFLAGS     = -MMD -W -Wall -Wcast-align -Wcast-qual -Wno-unused-parameter -fPIC
+ifeq ($(OS),MINGW32_NT-6.0)
+       OS = Win32
+endif
+
+CFLAGS     = -MMD -W -Wall -Wcast-align -Wcast-qual -Wno-unused-parameter
 CPPFLAGS   = 
 LDFLAGS    =
 LIBS       =
@@ -15,7 +19,7 @@ ifneq ($(MINGW),)
        AR = $(MINGWPREFIX)ar
        OS := Win32
        CPPFLAGS += -I$(MINGW)/include -D_inline=inline
-       CFLAGS   += -mms-bitfields
+       CFLAGS   += 
        LDFLAGS  += -L$(MINGW)/lib
 
        CPPFLAGS_GLIB = -I$(MINGW)/include/glib-2.0 -I$(MINGW)/lib/glib-2.0/include
@@ -32,6 +36,8 @@ ifneq ($(MINGW),)
        LIBS_GL = -lopengl32
        CPPFLAGS_DL =
        LIBS_DL =
+       CPPFLAGS_ZLIB =
+       LIBS_ZLIB = -lz
 endif
 
 ifeq ($(BUILD),debug)
@@ -46,38 +52,46 @@ endif
 
 ifeq ($(OS),Linux)
        CPPFLAGS += -DPOSIX -DXWINDOWS -D_LINUX
+       CFLAGS += -fPIC
        LDFLAGS_DLL = -fPIC -ldl
        LIBS = -lpthread
        EXE = x86
        A = a
        DLL = so
+       MWINDOWS =
 else ifeq ($(OS),Win32)
-       CPPFLAGS += -DWIN32 -D_WIN32
-       LDFLAGS_DLL = -fPIC
+       CPPFLAGS += -DWIN32 -D_WIN32 -D_inline=inline
+       CFLAGS += -mms-bitfields
+       LDFLAGS_DLL = --dll -Wl,--add-stdcall-alias
        LIBS = -lws2_32 -luser32 -lgdi32
        EXE = exe
        A = a
        DLL = dll
-else ifeq ($(OS),Darwin)
-$(error Unsupported build OS)
+       MWINDOWS = -mwindows
+       LDD =
+       LIBS_GL ?= -lopengl32
+       LIBS_DL ?= 
+#else ifeq ($(OS),Darwin)
 else
-$(error Unsupported build OS)
+$(error Unsupported build OS: $(OS))
 endif
 
 CPPFLAGS_GLIB ?= `pkg-config glib-2.0 --cflags`
-LIBS_GLIB ?= `pkg-config glib-2.0 --libs-only-l --libs-only-L`
-CPPFLAGS_XML ?= `xml2-config --cflags`
-LIBS_XML ?= `xml2-config --libs`
-CPPFLAGS_PNG ?= `libpng-config --cflags`
-LIBS_PNG ?= `libpng-config --libs`
+LIBS_GLIB ?= `pkg-config glib-2.0 --libs-only-L` `pkg-config glib-2.0 --libs-only-l`
+CPPFLAGS_XML ?= `pkg-config libxml-2.0 --cflags`
+LIBS_XML ?= `pkg-config libxml-2.0 --libs-only-L` `pkg-config libxml-2.0 --libs-only-l`
+CPPFLAGS_PNG ?= `pkg-config libpng --cflags`
+LIBS_PNG ?= `pkg-config libpng --libs-only-L` `pkg-config libpng --libs-only-l`
 CPPFLAGS_GTK ?= `pkg-config gtk+-2.0 --cflags`
-LIBS_GTK ?= `pkg-config gtk+-2.0 --libs-only-l --libs-only-L`
+LIBS_GTK ?= `pkg-config gtk+-2.0 --libs-only-L` `pkg-config gtk+-2.0 --libs-only-l`
 CPPFLAGS_GTKGLEXT ?= `pkg-config gtkglext-1.0 --cflags`
-LIBS_GTKGLEXT ?= `pkg-config gtkglext-1.0 --libs-only-l --libs-only-L`
+LIBS_GTKGLEXT ?= `pkg-config gtkglext-1.0 --libs-only-L` `pkg-config gtkglext-1.0 --libs-only-l`
 CPPFLAGS_GL ?=
 LIBS_GL ?= -lGL
 CPPFLAGS_DL ?=
 LIBS_DL ?= -ldl
+CPPFLAGS_ZLIB =
+LIBS_ZLIB = -lz
 
 RADIANT_ABOUTMSG = Custom build
 
@@ -141,7 +155,7 @@ clean:
 
 %.$(EXE):
        dir=$@; $(MKDIR) $${dir%/*}
-       $(CXX) -o $@ $^ $(LDFLAGS) $(LIBS_EXTRA) $(LIBS)
+       $(CXX) -o $@ $^ $(LDFLAGS) $(LDFLAGS_EXTRA) $(LIBS_EXTRA) $(LIBS)
        [ -z "$(LDD)" ] || [ -z "`$(LDD) -r $@ 2>&1 >/dev/null $(TEE_STDERR)`" ] || { $(RM) $@; exit 1; }
 
 %.$(A):
@@ -150,7 +164,7 @@ clean:
 
 %.$(DLL):
        dir=$@; $(MKDIR) $${dir%/*}
-       $(CXX) -shared -o $@ $^ $(LDFLAGS) $(LDFLAGS_DLL) $(LIBS_EXTRA) $(LIBS)
+       $(CXX) -shared -o $@ $^ $(LDFLAGS) $(LDFLAGS_DLL) $(LDFLAGS_EXTRA) $(LIBS_EXTRA) $(LIBS)
        [ -z "$(LDD)" ] || [ -z "`$(LDD) -r $@ 2>&1 >/dev/null $(TEE_STDERR)`" ] || { $(RM) $@; exit 1; }
 
 %.o: %.cpp
@@ -309,6 +323,7 @@ install/q3data.$(EXE): \
        libl_net.$(A) \
        libmathlib.$(A) \
 
+install/radiant.$(EXE): LDFLAGS_EXTRA := $(MWINDOWS)
 install/radiant.$(EXE): LIBS_EXTRA := $(LIBS_GL) $(LIBS_DL) $(LIBS_XML) $(LIBS_GLIB) $(LIBS_GTK) $(LIBS_GTKGLEXT)
 install/radiant.$(EXE): CPPFLAGS_EXTRA := $(CPPFLAGS_GL) $(CPPFLAGS_DL) $(CPPFLAGS_XML) $(CPPFLAGS_GLIB) $(CPPFLAGS_GTK) $(CPPFLAGS_GTKGLEXT) -Ilibs -Iinclude
 install/radiant.$(EXE): \
@@ -443,8 +458,8 @@ libxmllib.$(A): \
        libs/xml/xmltextags.o \
        libs/xml/xmlwriter.o \
 
-install/modules/archivezip.$(DLL): LIBS_EXTRA := -lz
-install/modules/archivezip.$(DLL): CPPFLAGS_EXTRA := -Ilibs -Iinclude
+install/modules/archivezip.$(DLL): LIBS_EXTRA := $(LIBS_ZLIB)
+install/modules/archivezip.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_ZLIB) -Ilibs -Iinclude
 install/modules/archivezip.$(DLL): \
        plugins/archivezip/archive.o \
        plugins/archivezip/pkzip.o \