# Note: Makefile is built automatically from Makefile.in
#
-# $Id: GNUmakefile.in,v 1.7 2002/03/05 13:43:28 morcego Exp $
+# $Id: GNUmakefile.in,v 1.18 2002/03/21 23:00:00 swa Exp $
#
# Written by and Copyright (C) 2001 the SourceForge
# IJBSWA team. http://ijbswa.sourceforge.net
# Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# $Log: GNUmakefile.in,v $
+# Revision 1.18 2002/03/21 23:00:00 swa
+# want to autogenerate stuff.
+#
+# Revision 1.17 2002/03/19 19:30:04 morcego
+# - Fixing stylesheet checking on configure. If it is found, no further checks
+# should be done
+#
+# - configure will now check for db2html or docbook2html (should work now
+# on SuSe without the docbktls package)
+#
+# Revision 1.16 2002/03/14 22:32:32 hal9
+# Bumped the RPM version.
+#
+# Revision 1.15 2002/03/08 20:00:28 swa
+# some leftovers.
+#
+# Revision 1.14 2002/03/07 18:25:56 swa
+# synced redhat and suse build process
+#
+# Revision 1.13 2002/03/07 17:17:56 oes
+# (Hopefully) fixed for older make versions
+#
+# Revision 1.12 2002/03/07 15:28:27 swa
+# more informative
+#
+# Revision 1.11 2002/03/06 14:33:18 sarantis
+# Use proper temp file, not "abc".
+#
+# Revision 1.10 2002/03/06 14:19:35 sarantis
+# Cleanup PID_FILE_PATH from redhat-dist target
+#
+# Revision 1.9 2002/03/05 17:31:11 morcego
+# Search for docbook.dsl. Should solve portability problems for SuSe.
+#
+# Revision 1.8 2002/03/05 14:07:42 morcego
+# configure now detects rpm topdir, and change GNUmakefile acordingly
+# (based on sugestion by Sarantis Paskalis)
+#
# Revision 1.7 2002/03/05 13:43:28 morcego
# Checking for text browser, so redhat-dok can work.
#
VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_POINT)
# will automatically be postfixed with -$(RPM_PACKAGEV) in the SPECfile
RPM_VERSION = $(VERSION)
-RPM_PACKAGEV = 1
+RPM_PACKAGEV = 3
#############################################################################
# Build tools
#############################################################################
-PROGRAM = junkbuster@EXEEXT@
+PROGRAM = jbng@EXEEXT@
CC = @CC@
ECHO = echo
GZIP_PROG = gzip
LD = @CC@
RM = rm -f
STRIP_PROG = strip
-SED = sed
+SED = sed
CAT = cat
RPM = rpm
-MV = mv
+MV = mv
TAR = tar
MAKE = make
LN = ln
WDUMP = @WDUMP@ -dump
-DB = jade -t sgml -ihtml -D.. -d ldp.dsl\#html
+JADEBIN = @JADEBIN@
+DB = $(JADEBIN) -t sgml -ihtml -D.. -d ldpOK.dsl\#html
+DB2HTML = @DB2HTML@
+DKPREFIX = @DKPREFIX@
# Program to do LF->CRLF
#
# Setup for make distribution rh and suse for now
#############################################################################
-TAR_ARCH = /tmp/ijbswa-$(RPM_VERSION).tar.gz
+TAR_ARCH = /tmp/JunkbusterNG-$(RPM_VERSION).tar.gz
RPM_BASE = @RPM_BASE@
#############################################################################
#############################################################################
redhat-dist:
- @for dir in RPMS SRPMS BUILD SOURCES SPECS; do \
+ for dir in RPMS SRPMS BUILD SOURCES SPECS; do \
if [ ! -w $(RPM_BASE)/$$dir ]; then \
$(ECHO) "$(RPM_BASE)/$$dir is not writable for you. Maybe try as root."; \
- exit; \
+ $(ECHO) "Or add a suitable path to .rpmmacros like."; \
+ $(ECHO) "%_topdir /home/foo/rpm-build"; \
+ exit 1; \
fi; \
- done ; \
- $(MAKE) clobber; \
- [ -f $(TAR_ARCH) ] && $(RM) $(TAR_ARCH); \
- $(CAT) junkbuster-rh.spec | \
- $(SED) 's/^Version:.*/Version: $(RPM_VERSION)/g;s/^Release:.*/Release: $(RPM_PACKAGEV)/g' > abc && \
- $(MV) -f abc junkbuster-rh.spec; \
- $(CAT) junkbuster.init | \
- $(SED) 's#JB_PID=.*/\(.*\.pid\).*#JB_PID=@PID_FILE_PATH@/\1#g' > abc && \
- $(MV) -f abc junkbuster.init; \
- $(TAR) --exclude "CVS" --exclude "junkbuster-suse.spec" -cvzf $(TAR_ARCH) . ; \
- $(RPM) --clean -ta $(TAR_ARCH); \
- [ -f $(TAR_ARCH) ] && $(RM) $(TAR_ARCH)
+ done; \
+
+ $(MAKE) clobber
+ if [ -f $(TAR_ARCH) ]; then $(RM) $(TAR_ARCH); fi
+
+ TMPFILE=$$(mktemp -q /tmp/$(PROGRAM).XXXXXX); \
+ if $(SED) -e 's/^\(Version:\).*/\1 $(RPM_VERSION)/g' \
+ -e 's/^\(Release:\).*/\1 $(RPM_PACKAGEV)/g' \
+ junkbusterng-rh.spec > $$TMPFILE ; then \
+ $(MV) -f $$TMPFILE junkbusterng-rh.spec; \
+ else \
+ $(ECHO) "Could not set version info in specfile."; \
+ exit 1;\
+ fi
+
+ $(TAR) --exclude "CVS" --exclude "junkbuster-suse.spec" -czf $(TAR_ARCH) .
+ $(RPM) --clean -ta $(TAR_ARCH)
+ if [ -f $(TAR_ARCH) ]; then $(RM) $(TAR_ARCH); fi
#
# anonymously ncftps the rpms to sourceforge
#
redhat-upload:
- ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/SRPMS/junkbuster-$(RPM_VERSION)-$(RPM_PACKAGEV).src.rpm
+ ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/SRPMS/junkbusterng-$(RPM_VERSION)-$(RPM_PACKAGEV).src.rpm
# better should use `arch` here instead of ix86 to support other platforms too
- ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/RPMS/*/junkbuster-$(RPM_VERSION)-$(RPM_PACKAGEV).*.rpm
+ ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/RPMS/*/junkbusterng-$(RPM_VERSION)-$(RPM_PACKAGEV).*.rpm
@$(ECHO) -------------------------------------------------------
@$(ECHO) Now goto
@$(ECHO) http://sourceforge.net/project/admin/editpackages.php?group_id=11118
#############################################################################
suse-dist:
- @make clobber
-# verify that i'm root needs to be done
- rm -f ../ijbswa.tar.gz
-# verify all version strings, FLAGS, etc. in the spec file
- cat junkbuster-suse.spec | sed 's/^Version:.*/Version: $(RPM_VERSION)/g' | sed 's/^Release:.*/Release: $(RPM_PACKAGEV)/g' > abc && mv -f abc junkbuster-suse.spec
- tar --exclude "CVS" --exclude "junkbuster-rh.spec" -cvzf ../ijbswa.tar.gz .
-# verify all files in their correct location needs to be done
-# never use buildroot to define the location inside the spec
-# file or suse will fuck up the build process.
- cd .. && rpm -ta --buildroot /tmp/xxx ijbswa.tar.gz
- chmod a+r /usr/src/packages/SRPMS/*
- chmod a+r /usr/src/packages/RPMS/i386/*
+ for dir in RPMS SRPMS BUILD SOURCES SPECS; do \
+ if [ ! -w $(RPM_BASE)/$$dir ]; then \
+ $(ECHO) "$(RPM_BASE)/$$dir is not writable for you. Maybe try as root."; \
+ $(ECHO) "Or add a suitable path to .rpmmacros like."; \
+ $(ECHO) "%_topdir /home/foo/rpm-build"; \
+ exit 1; \
+ fi; \
+ done; \
+
+ $(MAKE) clobber
+ if [ -f $(TAR_ARCH) ]; then $(RM) $(TAR_ARCH); fi
+
+ TMPFILE=$$(mktemp -q /tmp/$(PROGRAM).XXXXXX); \
+ if $(SED) -e 's/^\(Version:\).*/\1 $(RPM_VERSION)/g' \
+ -e 's/^\(Release:\).*/\1 $(RPM_PACKAGEV)/g' \
+ junkbuster-suse.spec > $$TMPFILE ; then \
+ $(MV) -f $$TMPFILE junkbuster-suse.spec; \
+ else \
+ $(ECHO) "Could not set version info in specfile."; \
+ exit 1;\
+ fi
+
+ $(TAR) --exclude "CVS" --exclude "junkbuster-rh.spec" -czf $(TAR_ARCH) .
+ $(RPM) --clean -ta $(TAR_ARCH)
+ if [ -f $(TAR_ARCH) ]; then $(RM) $(TAR_ARCH); fi
#
# anonymously ncftps the rpms to sourceforge
#
suse-upload:
- ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming /usr/src/packages/SRPMS/junkbuster-suse-$(RPM_VERSION)-$(RPM_PACKAGEV).src.rpm
+ ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/SRPMS/junkbuster-suse-$(RPM_VERSION)-$(RPM_PACKAGEV).src.rpm
# better should use `arch` here instead of ix86 to support other platforms too
- ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming /usr/src/packages/RPMS/*/junkbuster-suse-$(RPM_VERSION)-$(RPM_PACKAGEV).*.rpm
+ ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/RPMS/*/junkbuster-suse-$(RPM_VERSION)-$(RPM_PACKAGEV).*.rpm
@$(ECHO) -------------------------------------------------------
@$(ECHO) Now goto
@$(ECHO) http://sourceforge.net/project/admin/editpackages.php?group_id=11118
suse-clean:
rpm -e junkbuster-suse
rm -rf /etc/junkbuster
+ rm -rf /etc/rc.d/junkbuster*
+ rm -rf /var/run/junkbuster.pid
rm -rf /var/log/junkbuster
rm -f /etc/init.d/junkbuster
rm -f /usr/sbin/junkbuster
@make clean
make $(PROGRAM)
# remove all objects and create the tarball with the binary
- cd .. && $(RM) ijb/a.out ijb/core ijb/*.@OBJEXT@ && tar --exclude "ijb/CVS" -cvzf ../ijb-distribution-$(VERSION).tar.gz ijb/
- chmod a+r ../../ijb-distribution-$(VERSION).tar.gz
+ cd .. && $(RM) ijb/a.out ijb/core ijb/*.@OBJEXT@ && tar --exclude "ijb/CVS" -cvzf ../JunkbusterNG-distribution-$(VERSION).tar.gz ijb/
+ chmod a+r ../../JunkbusterNG-distribution-$(VERSION).tar.gz
@$(ECHO) Tarball with binary created.
#############################################################################
# converts doc/source/*.sgml into html, text and man pages
#
#############################################################################
-dok:
+dok: doc/source/ldpOK.dsl
mkdir -p doc/text doc/man
# user manual
rm -rf doc/webserver/user-manual
- cd doc/source && db2html -s ldp.dsl user-manual.sgml && mv user-manual ../webserver
- cd doc/source && db2html -s ldp.dsl --nochunks user-manual.sgml > tmp.html && lynx -dump tmp.html > ../text/user-manual.txt && rm -rf tmp.html user-manual
+ cd doc/source && $(DB2HTML) -s ldpOK.dsl user-manual.sgml && mv user-manual ../webserver
+ cd doc/source && $(DB2HTML) -s ldpOK.dsl --nochunks user-manual.sgml > tmp.html && lynx -dump tmp.html > ../text/user-manual.txt && rm -rf tmp.html user-manual
## developer manual
rm -rf doc/webserver/developer-manual
- cd doc/source && db2html -s ldp.dsl developer-manual.sgml && mv developer-manual ../webserver
- cd doc/source && db2html -s ldp.dsl --nochunks developer-manual.sgml > tmp.html && lynx -dump tmp.html > ../text/developer-manual.txt && rm -rf tmp.html developer-manual
+ cd doc/source && $(DB2HTML) -s ldpOK.dsl developer-manual.sgml && mv developer-manual ../webserver
+ cd doc/source && $(DB2HTML) -s ldpOK.dsl --nochunks developer-manual.sgml > tmp.html && lynx -dump tmp.html > ../text/developer-manual.txt && rm -rf tmp.html developer-manual
## faq
rm -rf doc/webserver/faq
- cd doc/source && db2html -s ldp.dsl faq.sgml && mv faq ../webserver
- cd doc/source && db2html -s ldp.dsl --nochunks faq.sgml > tmp.html && lynx -dump tmp.html > ../text/faq.txt && rm -rf tmp.html faq
+ cd doc/source && $(DB2HTML) -s ldpOK.dsl faq.sgml && mv faq ../webserver
+ cd doc/source && $(DB2HTML) -s ldpOK.dsl --nochunks faq.sgml > tmp.html && lynx -dump tmp.html > ../text/faq.txt && rm -rf tmp.html faq
-redhat-dok:
+redhat-dok: doc/source/ldpOK.dsl
mkdir -p doc/text doc/man doc/source/user-manual \
doc/source/developer-manual doc/source/faq
## user manual
cd doc/source && $(DB) -V nochunks faq.sgml > tmp.html && $(WDUMP) \
tmp.html > ../text/faq.txt && rm -rf tmp.html faq
+doc/source/ldpOK.dsl:
+ if [ "$(DKPREFIX)" != "none" ]; then \
+ sed -e "s@/usr/share/sgml/docbook/dsssl-stylesheets@$(DKPREFIX)@g" doc/source/ldp.dsl > doc/source/ldpOK.dsl; \
+ else \
+ cp doc/source/ldp.dsl doc/source/ldpOK.dsl; \
+ fi
+
#############################################################################
#
# Webserver
etags $(SRCS) $(HDRS)
tarball-src: clobber
- $(LN) -s current ../ijb-$(VERSION)-$(CODE_STATUS)
- $(TAR) -C.. -cvhzf ijb-$(VERSION)-$(CODE_STATUS)-src.tar.gz ijb-$(VERSION)-$(CODE_STATUS)
- $(RM) ../ijb-$(VERSION)-$(CODE_STATUS)
+ $(LN) -s current ../JunkbusterNG-$(VERSION)-$(CODE_STATUS)
+ $(TAR) -C.. -cvhzf JunkbusterNG-$(VERSION)-$(CODE_STATUS)-src.tar.gz JunkbusterNG-$(VERSION)-$(CODE_STATUS)
+ $(RM) ../JunkbusterNG-$(VERSION)-$(CODE_STATUS)
install: all
#
$(INSTALL) config ijb.action re_filterfile trust $(DEST)
# FIXME $(ECHO) junkbuster.logrotate junkbuster.monthly junkbuster.weekly
# FIXME: Need new manual! $(GZIP_PROG) -c junkbuster.1 > $(MAN_DEST)/junkbuster.1.gz
- $(INSTALL) junkbuster.init /etc/init.d/junkbuster
+ $(INSTALL) junkbusterng.init /etc/init.d/junkbusterng
#############################################################################