#############################################################################
##
#W Makefile                                                 Laurent Bartholdi
##
#H   @(#)$Id: Makefile,v 1.27 2008/12/16 14:45:33 gap Exp $
##
#Y Copyright (C) 2007, Laurent Bartholdi
##
#############################################################################
##
##  This compiles the module polroots, and creates archives
##
#############################################################################

# set to your distribution location

GAPPATH=/home/laurent/.../src/4.0

#############################################################################

.PHONY: help clean wwwdir checkblocks tarballs zoo

include $(GAPPATH)/sysinfo.gap

LOCALBIN=bin/$(GAParch)

all: $(LOCALBIN)/polroots.so

distribute: wwwdir help tarballs zoo

$(LOCALBIN):
	mkdir -p $(LOCALBIN)

$(LOCALBIN)/cpoly.o: src/cpoly.c
	gcc -fPIC -c src/cpoly.c -o $(LOCALBIN)/cpoly.o -I$(GAPPATH)

$(LOCALBIN)/polroots.so: $(LOCALBIN) src/polroots.c $(LOCALBIN)/cpoly.o
	gcc -fPIC -Wall -O2 -o polroots.o -I$(GAPPATH) -I$(GAPPATH)/$(LOCALBIN) -DCONFIG_H -c src/polroots.c
	ld -Bshareable -x -o $(LOCALBIN)/polroots.so polroots.o $(LOCALBIN)/cpoly.o
	rm polroots.o

clean:
	rm -rf .version $(LOCALBIN) `find doc -type l`

.version: PackageInfo.g
	grep '^Version :=' $< | awk -F'"' '{print $$2}' > $@

wwwdir: .version tarballs zoo
	mkdir -p www
	rm -f `find www -type l`
	cp README www/README.fr
	cp PackageInfo.g www/PackageInfo.g
	ln -s chap0.html www/index.html
	ln -s fr-`cat .version`.tar.gz www/fr.tar.gz
	ln -s fr-`cat .version`.zoo www/fr.zoo
	cp doc/manual.pdf www/manual.pdf
	(cd doc; for i in *.html; do cp $$i ../www/$$i; done)
	cp doc/manual.css www/manual.css
	rsync -arvvp www/ laurent@mathpc01.uni-math.gwdg.de:public_html/FR/

help: doc/chap0.html

doc/chap0.html: doc/fr.xml
	echo 'FR_LOCAL.DOC();' | gapdevL

checkblocks:
	grep '<#GAPDoc' PackageInfo.g gap/*d | awk -F'"' '{print $$2}' | sort > @@-blocks
	grep '<#Include' doc/fr.xml | awk -F'"' '{print $$2}' | sort > @@-in
	comm -3 @@-blocks @@-in
	@rm @@-blocks @@-in

tarballs: .version help
	tar cfz www/fr-`cat .version`.tar.gz --exclude '*~' --exclude sandbox --exclude www --exclude bin --exclude CVS --exclude .version -C .. fr

zoo: .version help
	rm -f www/fr-`cat .version`.zoo
	(cd ..; find fr -wholename fr/sandbox -prune -o -wholename fr/www -prune -o -name '*~' -prune -o -name CVS -prune -o -name bin -prune -o -name .version -prune -o -print | zoo ahI fr/www/fr-`cat fr/.version`.zoo)

#E Makefile . . . . . . . . . . . . . . . . . . . . . . . . . . . ends here
