include config # # WHERE=/usr/local/ # WHERE is now set by configure.sh PREFIX=$(DESTDIR)$(WHERE) VERSION=$(shell grep "\#define VERSION" config.h | cut -d \" -f 2) MAKEFLAGS+=--no-print-directory PWD=$(shell pwd) H=@ #>----------------------------------------------------------------------------<# help: $(H)#ln -s buildfactory/debian . 1>/dev/null 2>/dev/null || true $(H)echo "Targets are:" $(H)echo " all - build it (remember to ./configure.sh first)" $(H)echo " clean - clean the source tree" $(H)echo " distclean - remove also the dist-* distributions" $(H)echo " realclean - clean and be ready for building to another arch" $(H)echo " doc - create developers documentation" $(H)echo " manual - create user/developers manual" $(H)echo " install - install it (linux/unix distribution independent)" $(H)echo " uninstall - uninstall it (linux/unix distribution independent)" $(H)echo " buildfactory - build all distributions" $(H)echo $(H)echo "Default is all" $(H)sleep 2 $(H)$(MAKE) all all : modules src $(H)echo -n clean: $(H)#ln -s buildfactory/debian . 2>/dev/null || true $(H)echo "cleaning freepopsd" $(H)$(MAKE) -C src clean CONFIG=$(PWD)/config || true $(H)$(MAKE) -C modules clean CONFIG=$(PWD)/config || true $(H)$(MAKE) -C buildfactory clean CONFIG=$(PWD)/config || true $(H)rm -f core* *-stamp dh_clean $(H)rm -f doc/manual.ps doc/manual.pdf\ doc/manual-it.ps doc/manual-it.pdf distclean: clean $(H)rm -fr dist-* $(H)$(MAKE) -C doc/manual clean realclean: distclean $(H)rm -f config doc: manual $(H)$(MAKE) -C modules doc CONFIG=$(PWD)/config manual: doc/manual.pdf doc/manual-it.pdf install: all $(H)mkdir -p /usr/local/ $(H)mkdir -p /usr/local/bin $(H)mkdir -p /usr/local/share/freepops/lua/ $(H)mkdir -p /usr/local/share/freepops/lua_unofficial/ $(H)mkdir -p /usr/local/share/doc/freepops/ $(H)mkdir -p /usr/local/man/man1/ $(H)mkdir -p /usr/local/etc/freepops $(H)cp src/freepopsd$(EXECSUFFIX) /usr/local/bin $(H)cp src/lua/*.lua modules/include/*.lua config.lua \ /usr/local/share/freepops/lua/ $(H)for D in modules/include/*; do\ N=`ls $$D/*.lua $$D/*/*.lua $$D/*/*/*.lua 2>/dev/null | wc -l`;\ if [ $$N -gt 0 ]; then \ cp -r $$D /usr/local/share/freepops/lua/;\ fi;\ done $(H)cp doc/freepopsd.1 /usr/local/man/man1/ $(H)cp doc/manual*.pdf /usr/local/share/doc/freepops/ 2>/dev/null ||\ cp doc/MANUAL.txt /usr/local/share/doc/freepops/ 2>/dev/null || \ true $(H)cp config.lua /usr/local/etc/freepops/config.lua.sample uninstall: $(H)rm -f /usr/local/etc/freepops/config.lua $(H)rm -f /usr/local/share/doc/freepops/manual.ps $(H)rm -f /usr/local/share/doc/freepops/manual-it.ps $(H)rm -f /usr/local/man/man1/freepopsd.1 $(H)rm -f /usr/local/share/freepops/lua/* $(H)rm -f /usr/local/bin/freepopsd$(EXECSUFFIX) $(H)rmdir /usr/local/etc/freepops $(H)rmdir /usr/local/man/man1/ $(H)rmdir /usr/local/share/doc/freepops/ $(H)rmdir /usr/local/share/freepops/lua/ $(H)rmdir /usr/local/share/freepops/ $(H)-rmdir /usr/local/bin $(H)-rmdir /usr/local/ tgz-dist: $(H)#ln -s buildfactory/debian . 2>/dev/null || true $(H)CUR=`pwd`;\ BASE=`basename $$CUR`;\ cd ..;\ $(TAR) -czf freepops.tgz $$BASE;\ cd $$BASE;\ [ -d dist-tgz ] || mkdir dist-tgz;\ mv ../freepops.tgz dist-tgz/;\ cd dist-tgz/;\ $(TAR) -xzf freepops.tgz;\ rm freepops.tgz;\ cd $$BASE; $(MAKE) realclean; cd ..;\ find $$BASE -name CVS -exec rm -fr \{\} \; 2>/dev/null;\ echo "removing non-free doc files (like RFCs and contracts)";\ cd $$BASE;\ for X in doc/rfc/rfc*.txt; do \ echo http://www.ietf.org/rfc/`basename $$X` >> \ doc/RFCs.txt;\ done; \ rm -rf doc/rfc/;\ rm -rf doc/contracts/;\ chmod -R a+r *;\ cd ..;\ mv $$BASE freepops-$(VERSION) || true;\ $(TAR) -cf freepops-$(VERSION).tar freepops-$(VERSION);\ gzip -f9 freepops-$(VERSION).tar;\ rm -r freepops-$(VERSION) buildfactory: $(H)#ln -s buildfactory/debian . 2>/dev/null || true $(H)$(MAKE) -C buildfactory all CONFIG=$(PWD)/config #>----------------------------------------------------------------------------<# modules: config $(H)#ln -s buildfactory/debian . 2>/dev/null || true $(H)$(MAKE) -C modules all CONFIG="$(PWD)/config" src: config $(H)echo "building freepopsd" $(H)$(MAKE) -C src all CONFIG="$(PWD)/config" PREFIX="/usr/local/" \ FORCE_LINK="$(FORCE_LINK)" doc/manual.pdf doc/manual-it.pdf: doc/manual/manual.tex doc/manual/manual-it.tex $(H)$(MAKE) -C doc/manual/ config: $(H)echo $(H)echo "Before running $(MAKE) you have to configure the building system" $(H)echo "running './configure'. Type './configure help' for more infos" $(H)echo $(H)exit 1 .PHONY: modules src doc buildfactory