X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=make%2Ftemplate%2Fmain.mk;h=23daa7efc02a0d2069cc70f694b56958f1870571;hb=1a10d61b3de3020ddf15b02b87dc6905ef5037c6;hp=17e15f53af2f46420a4b22d3285c01818e92c005;hpb=be5b0e2b3915dff52b1d1735fded824a6ba26495;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/make/template/main.mk b/make/template/main.mk index 17e15f53a..23daa7efc 100644 --- a/make/template/main.mk +++ b/make/template/main.mk @@ -42,6 +42,7 @@ PICLDFLAGS = -fPIC -shared -rdynamic $(LDFLAGS) BASE = "$(DESTDIR)@BASE_DIR@" CONPATH = "$(DESTDIR)@CONFIG_DIR@" MODPATH = "$(DESTDIR)@MODULE_DIR@" +LOGPATH = "$(DESTDIR)@LOG_DIR@" DATPATH = "$(DESTDIR)@DATA_DIR@" BINPATH = "$(DESTDIR)@BINARY_DIR@" INSTALL = install @@ -50,7 +51,7 @@ INSTMODE_DIR = 0755 INSTMODE_BIN = 0755 INSTMODE_LIB = 0644 -@IFEQ $(CC) icc +@IFEQ $(CC) icpc CXXFLAGS += -Wshadow @ELSE CXXFLAGS += -pedantic -Woverloaded-virtual -Wshadow -Wformat=2 -Wmissing-format-attribute -Wall @@ -88,10 +89,15 @@ INSTMODE_LIB = 0644 D=0 @ENDIF +GCC6=@GCC6@ +@IFEQ $(GCC6) true + CXXFLAGS += -fno-delete-null-pointer-checks +@ENDIF + DBGOK=0 @IFEQ $(D) 0 CXXFLAGS += -O2 -@IFEQ $(CC) gcc +@IFEQ $(CC) g++ CXXFLAGS += -g1 @ENDIF HEADER = std-header @@ -123,8 +129,9 @@ CXXFLAGS += -Iinclude @ELSE @GNU_ONLY MAKEFLAGS += --silent @BSD_ONLY MAKE += -s - RUNCC = perl $(SOURCEPATH)/make/run-cc.pl $(CC) - RUNLD = perl $(SOURCEPATH)/make/run-cc.pl $(CC) + RUNCC = perl "$(SOURCEPATH)/make/run-cc.pl" $(CC) + RUNLD = perl "$(SOURCEPATH)/make/run-cc.pl" $(CC) + VERBOSE = @ENDIF @IFDEF PURE_STATIC @@ -158,7 +165,7 @@ all: $(FOOTER) target: $(HEADER) $(MAKEENV) perl make/calcdep.pl - cd $(BUILDPATH); $(MAKEENV) $(MAKE) -f real.mk $(TARGET) + cd "$(BUILDPATH)"; $(MAKEENV) $(MAKE) -f real.mk $(TARGET) debug: @${MAKE} D=1 all @@ -219,15 +226,15 @@ install: target exit 1; \ fi @-$(INSTALL) -d -o $(INSTUID) -m $(INSTMODE_DIR) $(BASE) - @-$(INSTALL) -d -o $(INSTUID) -m $(INSTMODE_DIR) $(BASE)/data - @-$(INSTALL) -d -o $(INSTUID) -m $(INSTMODE_DIR) $(BASE)/logs + @-$(INSTALL) -d -o $(INSTUID) -m $(INSTMODE_DIR) $(DATPATH) + @-$(INSTALL) -d -o $(INSTUID) -m $(INSTMODE_DIR) $(LOGPATH) @-$(INSTALL) -d -m $(INSTMODE_DIR) $(BINPATH) @-$(INSTALL) -d -m $(INSTMODE_DIR) $(CONPATH)/examples/aliases @-$(INSTALL) -d -m $(INSTMODE_DIR) $(CONPATH)/examples/modules @-$(INSTALL) -d -m $(INSTMODE_DIR) $(MODPATH) - [ $(BUILDPATH)/bin/ -ef $(BINPATH) ] || $(INSTALL) -m $(INSTMODE_BIN) $(BUILDPATH)/bin/inspircd $(BINPATH) + [ "$(BUILDPATH)/bin/" -ef $(BINPATH) ] || $(INSTALL) -m $(INSTMODE_BIN) "$(BUILDPATH)/bin/inspircd" $(BINPATH) @IFNDEF PURE_STATIC - [ $(BUILDPATH)/modules/ -ef $(MODPATH) ] || $(INSTALL) -m $(INSTMODE_LIB) $(BUILDPATH)/modules/*.so $(MODPATH) + [ "$(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_LIB) tools/gdbargs $(BASE)/.gdbargs 2>/dev/null @@ -256,16 +263,17 @@ GNUmakefile BSDmakefile: make/template/main.mk configure $(RCS_FILES) clean: @echo Cleaning... - -rm -f $(BUILDPATH)/bin/inspircd $(BUILDPATH)/include $(BUILDPATH)/real.mk - -rm -rf $(BUILDPATH)/obj $(BUILDPATH)/modules - @-rmdir $(BUILDPATH)/bin 2>/dev/null - @-rmdir $(BUILDPATH) 2>/dev/null + -rm -f "$(BUILDPATH)/bin/inspircd" "$(BUILDPATH)/include" "$(BUILDPATH)/real.mk" + -rm -rf "$(BUILDPATH)/obj" "$(BUILDPATH)/modules" + @-rmdir "$(BUILDPATH)/bin" 2>/dev/null + @-rmdir "$(BUILDPATH)" 2>/dev/null @echo Completed. deinstall: -rm -f $(BINPATH)/inspircd -rm -rf $(CONPATH)/examples - -rm -f $(MODPATH)/*.so + -rm -f $(MODPATH)/cmd_*.so + -rm -f $(MODPATH)/m_*.so -rm -f $(BASE)/.gdbargs -rm -f $(BASE)/org.inspircd.plist @@ -281,8 +289,8 @@ configureclean: -rm -f org.inspircd.plist distclean: clean configureclean - rm -rf $(BASE) - find src/modules/ -type l | xargs rm -f + -rm -rf "$(SOURCEPATH)/run" + find "$(SOURCEPATH)/src/modules" -type l | xargs rm -f help: @echo 'InspIRCd Makefile' @@ -308,9 +316,10 @@ help: @echo ' Multiple targets may be separated by a space' @echo '' @echo ' clean Cleans object files produced by the compile' - @echo ' distclean Cleans all files produced by compile and ./configure' - @echo ' Note: this includes the Makefile' + @echo ' distclean Cleans all generated files (build, configure, run, etc)' @echo ' deinstall Removes the files created by "make install"' @echo +.NOTPARALLEL: + .PHONY: all target debug debug-header mod-header mod-footer std-header finishmessage install clean deinstall squeakyclean configureclean help