From d6bb55476c9aa4771e2b7f24cee05325a1df4117 Mon Sep 17 00:00:00 2001 From: cyberbotx Date: Mon, 29 Dec 2008 20:07:38 +0000 Subject: Revived Autotools from the grave, although it'll need some tweaking to work alongside CMake now. (In other words, don't use this commit, I committed this so I don't have to re-add these files again if I screw something up.) git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1876 5417fbe8-f217-4b02-8779-1006273d7864 --- src/modules/Makefile | 49 +++++++++++++++++++++++++++++++ src/modules/Makefile.sub | 28 ++++++++++++++++++ src/modules/configure | 65 ++++++++++++++++++++++++++++++++++++++++++ src/modules/makefile.inc.win32 | 2 ++ src/modules/makefile.sub.win32 | 19 ++++++++++++ src/modules/makefile.win32 | 41 ++++++++++++++++++++++++++ 6 files changed, 204 insertions(+) create mode 100644 src/modules/Makefile create mode 100644 src/modules/Makefile.sub create mode 100755 src/modules/configure create mode 100644 src/modules/makefile.inc.win32 create mode 100644 src/modules/makefile.sub.win32 create mode 100644 src/modules/makefile.win32 (limited to 'src/modules') diff --git a/src/modules/Makefile b/src/modules/Makefile new file mode 100644 index 000000000..dce685230 --- /dev/null +++ b/src/modules/Makefile @@ -0,0 +1,49 @@ +include ./Makefile.inc + +MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'ANOPELIBS=${ANOPELIBS}' \ + 'LDFLAGS=${LDFLAGS}' 'BINDEST=${BINDEST}' 'INSTALL=${INSTALL}' \ + 'INCLUDEDIR=${INCLUDEDIR}' 'RM=${RM}' 'CP=${CP}' \ + 'TOUCH=${TOUCH}' 'SHELL=${SHELL}' 'DATDEST=${DATDEST}' \ + 'RUNGROUP=${RUNGROUP}' 'MODULE_PATH=${MODULE_PATH}' \ + 'PROFILE=${PROFILE}' 'SHARED=${SHARED}' 'MODULEFLAGS=${MODULEFLAGS}'\ + 'MAKEBIN=${MAKEBIN}' + +OBJECTS= $(SRCS:.c=.o) +SO_FILES=$(OBJECTS:.o=.s) +CDEFS= -rdynamic -Wall + +all: modules subs + +modules: $(OBJECTS) $(SO_FILES) + +install: + $(CP) ./*.so $(MODULE_PATH) + @for i in $(SUBS); do \ + echo "make install in $$i..."; \ + (cd $$i; $(MAKE) $(MAKEARGS) install);done + +distclean: spotless + +.c.o: + @$(MAKEBIN) $(CC) ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -I../${INCLUDEDIR} -c $< + +.o.s: + @$(MAKEBIN) $(CC) ${SHARED} ../mod_version.o $< -o $*.so ${PROFILE} + @$(TOUCH) $*.s + +subs: + @for i in $(SUBS); do \ + echo "make all in $$i..."; \ + (cd $$i; $(MAKE) $(MAKEARGS) all); done + +subs_clean: + @for i in $(SUBS); do \ + echo "cleaning in $$i..."; \ + (cd $$i; $(MAKE) $(MAKEARGS) clean); done + +clean: subs_clean + rm -f *.o *.s *.so *.c~ core + +spotless: + rm -f *.o *.s *.so *.c~ core *.so Makefile.inc + diff --git a/src/modules/Makefile.sub b/src/modules/Makefile.sub new file mode 100644 index 000000000..7697249bf --- /dev/null +++ b/src/modules/Makefile.sub @@ -0,0 +1,28 @@ +MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'ANOPELIBS=${ANOPELIBS}' \ + 'LDFLAGS=${LDFLAGS}' 'BINDEST=${BINDEST}' 'INSTALL=${INSTALL}' \ + 'INCLUDEDIR=${INCLUDEDIR}' 'RM=${RM}' 'CP=${CP}' \ + 'TOUCH=${TOUCH}' 'SHELL=${SHELL}' 'DATDEST=${DATDEST}' \ + 'RUNGROUP=${RUNGROUP}' 'MODULE_PATH=${MODULE_PATH}' \ + 'PROFILE=${PROFILE}' 'SHARED=${SHARED}' 'MODULEFLAGS=${MODULEFLAGS}' + +OBJECTS= $(SRCS:.c=.o) +SO_FILES=$(OBJECTS:.o=.s) +CDEFS= -rdynamic -Wall + +all: module + +module: $(OBJECTS) so + +distclean: spotless + +.c.o: + $(CC) ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -I../ -I../../${INCLUDEDIR} -c $< + +so: + $(CC) ${SHARED} ../../mod_version.o $(OBJECTS) -o ../$(TARGET).so ${PROFILE} + +clean: + rm -f *.o *.so *.c~ core + +spotless: + rm -f *~ *.o *.so *.c~ core diff --git a/src/modules/configure b/src/modules/configure new file mode 100755 index 000000000..53a745592 --- /dev/null +++ b/src/modules/configure @@ -0,0 +1,65 @@ +#!/bin/sh + +oldpath=`pwd` + +if [ $1 ]; then + cd $1 +fi + +echo2 () { + $ECHO2 "$*$ECHO2SUF" # these are defined later +} + +ECHO2SUF='' +if [ "`echo -n a ; echo -n b`" = "ab" ] ; then + ECHO2='echo -n' +elif [ "`echo 'a\c' ; echo 'b\c'`" = "ab" ] ; then + ECHO2='echo' ; ECHO2SUF='\c' +elif [ "`printf 'a' 2>&1 ; printf 'b' 2>&1`" = "ab" ] ; then + ECHO2='printf "%s"' +else + # oh well... + ECHO2='echo' +fi +export ECHO2 ECHO2SUF + + +echo2 "SRCS=" > ./Makefile.inc +FIRST=1 +for oldfile in *.c +do + if [ "$FIRST" = 1 ] ; then + echo2 " "$oldfile >> ./Makefile.inc + else + echo "\\" >> ./Makefile.inc + echo2 " " $oldfile >> ./Makefile.inc + fi + FIRST=0 +done +echo "" >> ./Makefile.inc + +echo2 "SUBS=" >> ./Makefile.inc +FIRST=1 +for dir in * +do + if [ -d $dir ] ; then + if [ -f $dir/configure ] ; then + cd $dir + ./configure + cd .. + fi + if [ -f $dir/Makefile ] ; then + if [ "$FIRST" = 1 ] ; then + echo2 " "$dir >> ./Makefile.inc + else + echo "\\" >> ./Makefile.inc + echo2 " " $dir >> ./Makefile.inc + fi + FIRST=0 + fi + fi +done + +cd $oldpath + +exit 0 diff --git a/src/modules/makefile.inc.win32 b/src/modules/makefile.inc.win32 new file mode 100644 index 000000000..f6a646329 --- /dev/null +++ b/src/modules/makefile.inc.win32 @@ -0,0 +1,2 @@ +SRCS=cs_appendtopic.c cs_enforce.c cs_tban.c ns_maxemail.c hs_request.c os_info.c bs_fantasy_unban.c +SUBS=test diff --git a/src/modules/makefile.sub.win32 b/src/modules/makefile.sub.win32 new file mode 100644 index 000000000..4a811622e --- /dev/null +++ b/src/modules/makefile.sub.win32 @@ -0,0 +1,19 @@ +include ../../../Makefile.inc.win32 + +OBJECTS= $(SRCS:.c=.obj) +CFLAGS=/nologo /LD /MD /D MODULE_COMPILE $(CFLAGS) /I"../../../include" /I "../" +LFLAGS=/nologo ../../anope.lib wsock32.lib $(LIBS) $(LFLAGS) $(MYSQL_LIB_PATH) /export:AnopeInit /export:AnopeFini /OUT:$(TARGET) + +all: + $(CC) $(SRCS) $(CFLAGS) ..\..\mod_version.c /link $(LFLAGS) + +distclean: clean spotless + +clean: + -@del *.obj + +spotless: clean + -@del *.dll *.lib *.exp *.manifest + +install: + -@copy *.dll ..\..\..\$(DATDEST)\modules diff --git a/src/modules/makefile.win32 b/src/modules/makefile.win32 new file mode 100644 index 000000000..fffa51d74 --- /dev/null +++ b/src/modules/makefile.win32 @@ -0,0 +1,41 @@ +include ../../Makefile.inc.win32 +include ./Makefile.inc.win32 + +OBJECTS= $(SRCS:.c=.dll) +CFLAGS=/LD /MD /D MODULE_COMPILE $(CFLAGS) /I"../../include" +LFLAGS=/link ../anope.lib wsock32.lib $(LIBS) $(LFLAGS) $(MYSQL_LIB_PATH) /export:init_module /export:destroy_module + +all: $(OBJECTS) subs + +distclean: clean spotless + +.c.dll: + $(CC) $(CFLAGS) $(IRCTYPE) $< ..\mod_version.c $(LFLAGS) + +subs: + @for %i in ( $(SUBS) ); do \ + @if exist %i; @cd %i && $(MAKE) $(MAKEARGS) && cd .. + +clean: subs-clean + -@del *.obj + +subs-clean: + @for %i in ( $(SUBS) ); do \ + @if exist %i; @cd %i && $(MAKE) $(MAKEARGS) clean && cd .. + +spotless: clean subs-spotless + -@del *.dll *.lib *.exp *.manifest + +subs-spotless: + @for %i in ( $(SUBS) ); do \ + @if exist %i; @cd %i && $(MAKE) $(MAKEARGS) spotless && cd .. + +install: + -@mkdir ..\..\$(DATDEST)\modules + -@mkdir ..\..\$(DATDEST)\modules\runtime + -@copy *.dll ..\..\$(DATDEST)\modules + +subs-install: install + @for %i in ( $(SUBS) ); do \ + @if exist %i; @cd %i && $(MAKE) $(MAKEARGS) install && cd .. + -- cgit