X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=make%2Ftemplate%2Fmain.mk;h=9a8853021c096e322e5cad0a143f42886bc46220;hb=30fec322809582f91be70cc1bb16c9678180db76;hp=bdb4d9762566165b0cf4d912994cab1c6ede6a3a;hpb=1031f333332cf1b09db4fd632f141143ee637c34;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/make/template/main.mk b/make/template/main.mk index bdb4d9762..9a8853021 100644 --- a/make/template/main.mk +++ b/make/template/main.mk @@ -1,3 +1,5 @@ +%target BSD_MAKE BSDmakefile +%target GNU_MAKE GNUmakefile # # InspIRCd -- Internet Relay Chat Daemon # @@ -31,11 +33,11 @@ CXX = @CXX@ -COMPILER = @COMPILER@ -SYSTEM = @SYSTEM@ -BUILDPATH = @BUILD_DIR@ +COMPILER = @COMPILER_NAME@ +SYSTEM = @SYSTEM_NAME@ +BUILDPATH ?= $(PWD)/build SOCKETENGINE = @SOCKETENGINE@ -CORECXXFLAGS = -fPIC -pipe -Iinclude -Wall -Wextra -Wfatal-errors -Wno-unused-parameter -Wshadow +CORECXXFLAGS = -fPIC -fvisibility-inlines-hidden -pipe -Iinclude -Wall -Wextra -Wfatal-errors -Wno-unused-parameter -Wshadow LDLIBS = -lstdc++ CORELDFLAGS = -rdynamic -L. $(LDFLAGS) PICLDFLAGS = -fPIC -shared -rdynamic $(LDFLAGS) @@ -50,10 +52,14 @@ INSTMODE_DIR = 0750 INSTMODE_BIN = 0750 INSTMODE_LIB = 0640 -@IFNEQ $(COMPILER) icc +@IFNEQ $(COMPILER) ICC CORECXXFLAGS += -pedantic -Woverloaded-virtual -Wshadow -Wformat=2 -Wmissing-format-attribute @ENDIF +@IFNEQ $(SYSTEM)-$(COMPILER) darwin-GCC + CORECXXFLAGS += -fvisibility=hidden +@ENDIF + @IFNEQ $(SYSTEM) darwin LDLIBS += -pthread @ENDIF @@ -84,7 +90,7 @@ INSTMODE_LIB = 0640 DBGOK=0 @IFEQ $(D) 0 CORECXXFLAGS += -O2 -@IFEQ $(CXX) g++ +@IFEQ $(COMPILER) GCC CORECXXFLAGS += -g1 @ENDIF HEADER = std-header @@ -102,18 +108,18 @@ DBGOK=0 @ENDIF FOOTER = finishmessage -@GNU_ONLY MAKEFLAGS += --no-print-directory +@TARGET GNU_MAKE MAKEFLAGS += --no-print-directory -@GNU_ONLY SOURCEPATH = $(shell /bin/pwd) -@BSD_ONLY SOURCEPATH != /bin/pwd +@TARGET GNU_MAKE SOURCEPATH = $(shell /bin/pwd) +@TARGET BSD_MAKE SOURCEPATH != /bin/pwd @IFDEF V RUNCC = $(CXX) RUNLD = $(CXX) VERBOSE = -v @ELSE - @GNU_ONLY MAKEFLAGS += --silent - @BSD_ONLY MAKE += -s + @TARGET GNU_MAKE MAKEFLAGS += --silent + @TARGET BSD_MAKE MAKE += -s RUNCC = perl $(SOURCEPATH)/make/run-cc.pl $(CXX) RUNLD = perl $(SOURCEPATH)/make/run-cc.pl $(CXX) @ENDIF @@ -127,7 +133,7 @@ FOOTER = finishmessage CORECXXFLAGS += $(CXXFLAGS) @DO_EXPORT RUNCC RUNLD CORECXXFLAGS LDLIBS PICLDFLAGS VERBOSE SOCKETENGINE CORELDFLAGS -@DO_EXPORT SOURCEPATH BUILDPATH PURE_STATIC SPLIT_CC +@DO_EXPORT SOURCEPATH BUILDPATH PURE_STATIC # Default target TARGET = all @@ -135,8 +141,8 @@ TARGET = all @IFDEF M HEADER = mod-header FOOTER = mod-footer - @BSD_ONLY TARGET = modules/${M:S/.so$//}.so - @GNU_ONLY TARGET = modules/$(M:.so=).so + @TARGET BSD_MAKE TARGET = modules/${M:S/.so$//}.so + @TARGET GNU_MAKE TARGET = modules/$(M:.so=).so @ENDIF @IFDEF T @@ -224,9 +230,12 @@ install: target @IFNDEF PURE_STATIC [ $(BUILDPATH)/modules/ -ef $(MODPATH) ] || $(INSTALL) -m $(INSTMODE_LIB) $(BUILDPATH)/modules/*.so $(MODPATH) @ENDIF - -$(INSTALL) -m $(INSTMODE_BIN) @STARTSCRIPT@ $(BASE) 2>/dev/null + -$(INSTALL) -m $(INSTMODE_BIN) inspircd $(BASE) 2>/dev/null + -$(INSTALL) -m $(INSTMODE_LIB) .gdbargs $(BASE)/.gdbargs 2>/dev/null +@IFEQ $(SYSTEM) darwin + -$(INSTALL) -m $(INSTMODE_BIN) org.inspircd.plist $(BASE) 2>/dev/null +@ENDIF -$(INSTALL) -m $(INSTMODE_BIN) tools/genssl $(BINPATH)/inspircd-genssl 2>/dev/null - -$(INSTALL) -m $(INSTMODE_LIB) tools/gdbargs $(BASE)/.gdbargs 2>/dev/null -$(INSTALL) -m $(INSTMODE_LIB) docs/conf/*.example $(CONPATH)/examples -$(INSTALL) -m $(INSTMODE_LIB) docs/conf/aliases/*.example $(CONPATH)/examples/aliases -$(INSTALL) -m $(INSTMODE_LIB) docs/conf/modules/*.example $(CONPATH)/examples/modules @@ -244,11 +253,9 @@ install: target @echo 'Remember to create your config file:' $(CONPATH)/inspircd.conf @echo 'Examples are available at:' $(CONPATH)/examples/ -@GNU_ONLY RCS_FILES = $(wildcard .git/index src/version.sh) -@BSD_ONLY RCS_FILES = src/version.sh -GNUmakefile BSDmakefile: make/template/main.mk configure $(RCS_FILES) +GNUmakefile BSDmakefile: make/template/main.mk src/version.sh configure .config.cache ./configure -update -@BSD_ONLY .MAKEFILEDEPS: BSDmakefile +@TARGET BSD_MAKE .MAKEFILEDEPS: BSDmakefile clean: @echo Cleaning...