# Please do not edit unless you know what you're doing.
#
-@GNU_ONLY COMPILE_ROOT = $(shell pwd)
+@GNU_ONLY MAKESTYLE = gnu
+@GNU_ONLY COMPILE_ROOT ?= $(shell pwd)
+@BSD_ONLY MAKESTYLE = bsd
@BSD_ONLY COMPILE_ROOT != pwd
@IFDEF D
HEADER = debug-header
@ENDIF
-@IFNDEF NICEFLAGS
- NICEFLAGS = @FLAGS@
-@ENDIF
-
-@IFNDEF HEADER
- HEADER = std-header
-@ENDIF
+NICEFLAGS ?= @FLAGS@
+HEADER ?= std-header
NICEFLAGS += -I$(COMPILE_ROOT)/include
CC = @CC@
FLAGS = $(NICEFLAGS) -pedantic
+PICLDFLAGS = -fPIC -DPIC -shared -export-dynamic
+CORE_FLAGS = @CORE_FLAGS@
LDLIBS = @LDLIBS@
BASE = "@BASE_DIR@"
CONPATH = "@CONFIG_DIR@"
BINPATH = "@BINARY_DIR@"
LAUNCHDPATH = "/System/Library/LaunchDaemons"
LIBPATH = "@LIBRARY_DIR@"
-MODULES = @MODULES@
INSTMODE = 0755
+SOCKETENGINE = @SOCKETENGINE@
@GNU_ONLY MAKEFLAGS += --no-print-directory
@IFDEF V
RUNCC = $(CC)
+ VERBOSE = -v
@ELSE
@GNU_ONLY MAKEFLAGS += --silent
+ @BSD_ONLY MAKE += -s
RUNCC = $(COMPILE_ROOT)/make/run-cc.pl $(CC)
@ENDIF
-@GNU_ONLY export COMPILE_ROOT RUNCC FLAGS NICEFLAGS CC LDLIBS MODULES MODPATH LIBPATH INSTMODE
-@BSD_ONLY MAKEARGS = -s 'RUNCC=${RUNCC}' 'FLAGS=${FLAGS}' 'NICEFLAGS=${NICEFLAGS}' 'CC=${CC}' 'LDLIBS=${LDLIBS}' 'MODULES=${MODULES}' 'MODPATH=${MODPATH}' 'LIBPATH=${LIBPATH}' 'INSTMODE=${INSTMODE}'
+@DO_EXPORT RUNCC FLAGS NICEFLAGS CC LDLIBS PICLDFLAGS VERBOSE SOCKETENGINE CORE_FLAGS
# Default target
_all: module
@ENDIF
-all: ircd mods finishmessage
+all: finishmessage
+
+alldep: $(HEADER)
+ @echo -n "Generating module dependencies..."
+ @$(MAKEENV) $(MAKE) -C src -f ../make/$(MAKESTYLE)-dep.mk alldep
+ @echo 'done'
+
+allreal: alldep
+ @$(MAKEENV) $(MAKE) -C src -f ../make/$(MAKESTYLE)-real.mk all
debug:
@${MAKE} D=1 all
@echo "* while you wait for make to run? *"
@echo "*************************************"
-ircd: $(HEADER)
- @${MAKE} -C src $(MAKEARGS) inspircd commands
-
-mods: $(HEADER)
- @${MAKE} -C src/modules $(MAKEARGS)
-
-# Make this depend on 'ircd' and 'mods', so its always output last even with -j
-finishmessage: ircd mods
+finishmessage: allreal
@echo ""
@echo "*************************************"
@echo "* BUILD COMPLETE! *"
@echo "* make install *"
@echo "*************************************"
-install: ircd mods@EXTRA_DIR@
+install: allreal@EXTRA_DIR@
@-install -d -m $(INSTMODE) $(BASE)
@-install -d -m $(INSTMODE) $(LIBPATH)
@-install -d -m $(INSTMODE) $(BINPATH)
@-install -d -m $(INSTMODE) $(CONPATH)
@-install -d -m $(INSTMODE) $(MODPATH)
+ -install -m $(INSTMODE) src/commands/*.so $(LIBPATH)
+ -install -m $(INSTMODE) src/modules/*.so $(MODPATH)
-install -m $(INSTMODE) @STARTSCRIPT@ $(@DESTINATION@) 2>/dev/null
-@INSTALL_LIST@ @echo ""
+@INSTALL_LIST@ -install -m $(INSTMODE) src/inspircd $(BINPATH)
+ @echo ""
@echo "*************************************"
@echo "* INSTALL COMPLETE! *"
@echo "* *"
clean:
@echo Cleaning...
- @rm -rf src/*.so src/*.dylib src/*.o src/inspircd src/modules/*.so src/modules/*.o *~ src/*~ src/modules/*~ src/modules/extra/*~ src/modes/*~ src/modes/*.o src/modes/*.a src/commands/*.so src/commands/*.o src/modules/*/*.o src/modules/*/*.so src/socketengines/*.o
+ @rm -f src/inspircd src/modes/modeclasses.a
+ @rm -f src/*.so src/modules/*.so src/commands/*.so src/modules/*/*.so
+ @rm -f src/*.o src/*/*.o src/modules/*/*.o
@echo Completed.
modclean:
- rm -rf modules/*.so
- rm -rf src/modules/*.so
- rm -rf src/modules/*.o
- rm -rf src/modules/*/*.so
- rm -rf src/modules/*/*.o
- rm -rf lib/*.so
- rm -f bin/inspircd
+ rm -f src/modules/*.so
+ rm -f src/modules/*.o
+ rm -f src/modules/*/*.so
+ rm -f src/modules/*/*.o
deinstall:
+ -rm $(BINPATH)/inspircd
+ -rm $(LIBPATH)/*.so
+ -rm $(MODPATH)/*.so
@UNINSTALL_LIST@
squeakyclean: distclean