--- garfield-8.10/makefile_linux.orig	Thu Jan 15 22:22:03 2004
+++ garfield-8.10/makefile_linux	Fri Jan 16 16:09:38 2004
@@ -5,80 +5,214 @@
 # Based on a file from Michel Roethlisberger, IBM Switzerland.                #
 # --------------------------------------------------------------------------- #
 FC = g77
+FDEBUGFLAGS = -O2
 LF= `/cern/pro/bin/cernlib graflib/X11,kernlib,mathlib,packlib`
 # FF= -O
-FF= -O3 -falign-double -falign-loops=2 -falign-jumps=2 -malign-functions=2\
--fno-init-local-zero -ffast-math -fno-f2c\
--fforce-mem -fforce-addr -fcaller-saves -fstrength-reduce\
--funroll-loops -frerun-cse-after-loop
+#FF= -O3 -falign-double -falign-loops=2 -falign-jumps=2 -malign-functions=2\
+#-fno-init-local-zero -ffast-math -fno-f2c\
+#-fforce-mem -fforce-addr -fcaller-saves -fstrength-reduce\
+#-funroll-loops -frerun-cse-after-loop
+FF= $(FDEBUGFLAGS)
 # G77_LIB_DIR=/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3
 # LF=-m elf_i386 -dynamic-linker /lib/ld-linux.so.1 -s -x -L$(G77_LIB_DIR)
 # LNKPRE=/usr/lib/crt1.o /usr/lib/crti.o $(G77_LIB_DIR)/crtbegin.o
 # LNKEPI=-lf2c -lm -lgcc -lc -lgcc $(G77_LIB_DIR)/crtend.o /usr/lib/crtn.o
 # LNKCERN=`/cern/pro/bin/cernlib graflib/X11,kernlib,mathlib,packlib`
 
-new-7:
-	-rm *.f
-	./patchy_step garfadd-7
-	/cern/pro/bin/fcasplit garfadd-7.f
-	-rm garfadd-7.f garfadd-7.mkfca garfadd-7.shfca y.lis
-	$(FC) -c $(FF) *.f
-	rm *.f
-	$(FC) -o .@sys/garfield-7 *.o $(LF)
-
-garfield-7: main-7.o
-	$(FC) -o .@sys/garfield-7 *.o $(LF)
-	#rm *.o
-
-main-7.o: main-7.f
-	$(FC) -c $(FF) *.f
-	rm *.f
-
-main-7.f: garfield-7.f
-	/cern/pro/bin/fcasplit garfield-7.f
-	/cern/pro/bin/fcasplit garfadd-7.f
-	-rm garfield-7.f garfield-7.mkfca garfield-7.shfca y.lis
-	-rm garfadd-7.f garfadd-7.mkfca garfadd-7.shfca y.lis
-	mv main.f main-7.f
-
-garfield-7.f: garfield-7.car magboltz-2.car heed101garf.car garfield-7.cra
-	-rm *.f *.o
-	./patchy_step garfield-7
-	./patchy_step garfadd-7
+OBJS=a20e80.o	a50e50.o	a73m20.o	a80e20.o	absgam.o\
+     al2exe.o	algcal.o	algclr.o	algedt.o	algerr.o\
+     algex0.o	algex2.o	algex3.o	algex4.o	algex5.o\
+     algex6.o	algexe.o	alggbc.o	algint.o	algpre.o\
+     algprt.o	algreu.o	algstc.o	algtyp.o	alpcalc.o\
+     alpclca.o	alpclcb.o	alpclcc.o	angcut.o	argget.o\
+     bfield.o	book.o		boxin2.o	boxin3.o	bsort.o\
+     butfld.o	butfly.o	c80e20.o	c90e10.o	c90i10.o\
+     celcal.o	celchk.o	celcnw.o	celdef.o	celget.o\
+     celinp.o	celint.o	cella3.o	cellac.o	cellay.o\
+     celplt.o	celprc.o	celprt.o	celres.o	celsel.o\
+     celsol.o	celspr.o	celstr.o	celsyn.o	celtyp.o\
+     celvie.o	celwch.o	celwrt.o	cf2ctp.o	cf2ctr.o\
+     cf2rtc.o	cf2rtp.o	cfmctp.o	cfmctr.o	cfmptc.o\
+     cfmptr.o	cfmrtc.o	cfmrtp.o	charge.o	clip.o\
+     clip2d.o	clip3.o		clip3d.o	co2.o		colrbw.o\
+     colscl.o	colshd.o	colshm.o	colwgt.o	crnerr.o\
+     cross.o	crossd.o	crspnd.o	crspnt.o	crtube.o\
+     dattimo.o	dcont.o		dcont2.o	denlan.o	divdf2c.o\
+     dlcalc.o	dlcat1.o	dlcat2.o	dlcatt.o	dlcbck.o\
+     dlccal.o	dlcdf1.o	dlcdf2.o	dlcdic.o	dlcdif.o\
+     dlcdiv.o	dlcdiw.o	dlcequ.o	dlcfmp.o	dlcisw.o\
+     dlcmc.o	dlcmc3.o	dlcmca.o	dlcmcf.o	dlcmct.o\
+     dlcmin.o	dlcpar.o	dlcphi.o	dlcpla.o	dlcplt.o\
+     dlcroc.o	dlcrot.o	dlcsol.o	dlcsta.o	dlcstf.o\
+     dlctrg.o	dlctri.o	dlctrp.o	dlctrr.o	dlctrw.o\
+     dlctub.o	dlctw1.o	dlctw2.o	dlctwn.o	dlcvac.o\
+     dlcvel.o	dlcvfu.o	dlcwir.o	drand48.o	drfarr.o\
+     drfcls.o	drfdrf.o	drfedg.o	drfeqt.o	drfgra.o\
+     drfinp.o	drfmin.o	drfplt.o	drfsin.o	drfsol.o\
+     drftab.o	drftim.o	drftr2.o	drftra.o	drfwir.o\
+     drfxt1.o	drfxt2.o	drfxtp.o	drfzro.o	dsncmp.o\
+     dsnfmtux.o	dsninp.o	dsninqux.o	dsnloc.o	dsnlog.o\
+     dsnopnux.o	dsnrem.o	e2sum.o		e3da00.o	e3db2x.o\
+     e3db2y.o	e3dd10.o	efca00sc.o	efcb1xsc.o	efcb1ysc.o\
+     efcb2x.o	efcb2y.o	efcbgf.o	efcc10.o	efcc2x.o\
+     efcc2y.o	efcc30.o	efccal.o	efcd10.o	efcd20.o\
+     efcd30.o	efcfmp.o	efcmap.o	efcmat.o	efda00.o\
+     efield.o	efmfun.o	efmwir.o	efqa00.o	eheed.o\
+     elimit.o	elimitb.o	elimitc.o	epsset.o	ethane.o\
+     expfit.o	expfun.o	f0plt3.o	fchk1.o		fchk2.o\
+     fchk3.o	fchk4.o		fchk5.o		fchk6.o		fcont.o\
+     fdif1l.o	fdif1n.o	fdif1q.o	fdif2l.o	fdif2n.o\
+     fdif2q.o	ffca00.o	ffcb1x.o	ffcb1y.o	ffcb2x.o\
+     ffcb2y.o	ffcc10.o	ffcc2x.o	ffcc2y.o	ffcc30.o\
+     ffcd10.o	ffcd20.o	ffcd30.o	ffdbg.o		ffield.o\
+     fgas1.o	fgas2d.o	fgas2n.o	fgas2v.o	fldchk.o\
+     fldin2.o	fldin3.o	fldin4.o	fldin5.o	fldinp.o\
+     fldplt.o	fldprt.o	fmean.o		fmean1.o	fopte1.o\
+     fopte2.o	fquan.o		friedl.o	frndfu.o	fscont.o\
+     fuglux.o	fuglxp.o	fuglz.o		fugpct.o	funext.o\
+     funfit.o	funfun.o	gas1.o		gas10.o		gas11.o\
+     gas12.o	gas13.o		gas14.o		gas15.o		gas16.o\
+     gas17.o	gas18.o		gas19.o		gas2.o		gas20.o\
+     gas21.o	gas22.o		gas23.o		gas24.o		gas25.o\
+     gas26.o	gas27.o		gas28.o		gas29.o		gas3.o\
+     gas30.o	gas31.o		gas32.o		gas33.o		gas34.o\
+     gas35.o	gas36.o		gas37.o		gas38.o		gas39.o\
+     gas4.o	gas40.o		gas41.o		gas42.o		gas43.o\
+     gas44.o	gas45.o		gas46.o		gas47.o		gas48.o\
+     gas49.o	gas5.o		gas50.o		gas51.o		gas52.o\
+     gas53.o	gas54.o		gas6.o		gas7.o		gas8.o\
+     gas9.o	gasadd.o	gasatt.o	gasb3.o		gasbmc.o\
+     gascal.o	gaschk.o	gascov.o	gasdef.o	gasdens.o\
+     gasdfl.o	gasdft.o	gasdis.o	gasget.o	gashee.o\
+     gasinp.o	gasint.o	gaslor.o	gasmat.o	gasmg1.o\
+     gasmg2.o	gasmix.o	gasmob.o	gasmrg.o	gasmxb.o\
+     gasmxd.o	gasplt.o	gaspre.o	gasprt.o	gassav.o\
+     gassol.o	gastwn.o	gasvel.o	gasvt1.o	gasvt2.o\
+     gaswrt.o	gclsg.o		gcrsg.o		gdsg.o		gerhnd.o\
+     getgas.o	gfa2.o		ginch.o		ginlc.o		ginpk.o\
+     ginsk.o	ginvl.o		gmsg.o		goevent.o	gogam.o\
+     gpl2.o	gpm2.o		gprec.o		gqacwk.o	gqcf.o\
+     gqchh.o	gqchup.o	gqchw.o		gqchxp.o	gqcntn.o\
+     gqdsp.o	gqfaci.o	gqlvks.o	gqlwk.o		gqnt.o\
+     gqops.o	gqopwk.o	gqtxal.o	gqtxx.o		gqwkc.o\
+     gqwkca.o	gqwkdu.o	gqwkm.o		gqwks.o		gracal.o\
+     gracwk.o	gradwk.o	grainp.o	gralog.o	gralph.o\
+     graopt.o	grapol.o	grare2.o	grarea.o	grared.o\
+     grarro.o	graset.o	grattr.o	graxi3.o	graxic.o\
+     graxis.o	grbar.o		grcart.o	grcbis.o	grcell.o\
+     grcgra.o	grclab.o	grclwk.o	grcmin.o	grcolc.o\
+     grcolr.o	grcomm.o	grcont.o	grconv.o	grcplt.o\
+     grctra.o	grcupd.o	grdawk.o	grdlwk.o	grgraf.o\
+     grgrp2.o	grgrph.o	grhist.o	grinit.o	grlin2.o\
+     grline.o	grmark.o	grmenunw.o	grmetaa.o	grnext.o\
+     gropwk.o	grqch.o		grqiwk.o	grqpk.o		grqvl.o\
+     grscrh.o	grspln.o	grterma.o	grtext.o	grtxhigz.o\
+     grview.o	grwcnc.o	grwkid.o	gsasf.o		gschsp.o\
+     gschxp.o	gsds.o		gsdtec.o	gspa.o		gsparf.o\
+     gspkid.o	gstxp.o		gsvpip.o	henke.o		hisadm.o\
+     hisbar.o	hiscal.o	hiscnv.o	hiscum.o	hiscut.o\
+     hisent.o	hisfex.o	hisffu.o	hisfms.o	hisfnr.o\
+     hisfpl.o	hisfpr.o	hisget.o	hisinq.o	hisint.o\
+     hisinv.o	hisplt.o	hisprd.o	hisprt.o	hisrad.o\
+     hisreb.o	hisres.o	hisrzo.o	hissav.o	hisscl.o\
+     hist.o	hiswrt.o	hlpcnt.o	hlpdeb.o	hlpinpot.o\
+     hlpinq.o	hlppacot.o	hlpprt.o	hlpsub.o	iniabs.o\
+     iniatom.o	inibdel5.o	inicel.o	inicrose.o	inicrosm.o\
+     inidel.o	iniener.o	inigas.o	inilsgvg.o	inimatte.o\
+     inimtrac.o	inintrac.o	inipart.o	inirga.o	inirtrac.o\
+     inishl.o	init.o		initrack.o	inivolum.o	inpcal.o\
+     inpcdo.o	inpchk.o	inpcmp.o	inpcmx.o	inpdel.o\
+     inperr.o	inpesc.o	inpfix.o	inpget.o	inpglb.o\
+     inpift.o	inpint.o	inpiosot.o	inplun.o	inpmsg.o\
+     inpnum.o	inppar.o	inpprm.o	inpraw.o	inprdh.o\
+     inprdi.o	inprdo.o	inprdr.o	inpric.o	inprrc.o\
+     inpstr.o	inpsub.o	inpswi.o	inptmp.o	inptra.o\
+     inptyp.o	inpwrd.o	inpxdo.o	inter2.o	interd.o\
+     intern.o	interp.o	intube.o	invint.o	iona00.o\
+     ionb2x.o	ionb2y.o	ionbgn.o	ionc30.o	iond10.o\
+     iond30.o	ionest.o	ionfmp.o	ionio.o		ipla00.o\
+     iplb2x.o	iplb2y.o	iplc30.o	ipld10.o	ipld30.o\
+     iplio.o	ipra00.o	iprb2x.o	iprb2y.o	iprc30.o\
+     iprd10.o	iprd30.o	isobut.o	joblogux.o	libatmat.o\
+     line.o	locatd.o	logsav.o	logscale.o	lsqfit.o\
+     lstaabs1.o	lstrel1.o	mag00.o		mag0y.o		magcmp.o\
+     magfmp.o	maginp.o	magint.o	magx0.o		magxy.o\
+     main.o	mapchk.o	mapeps.o	mapfm2.o	mapfm3.o\
+     mapfm5.o	mapfm6.o	mapfmf.o	mapfmr.o	mapfms.o\
+     mapind.o	mapint.o	mapplt.o	mapprt.o	maprea.o\
+     mat3d.o	matadj.o	matadm.o	matadr.o	matbnd.o\
+     matcal.o	matchs.o	matcon.o	matder.o	materr.o\
+     matext.o	matfar.o	matfex.o	matffu.o	matfnr.o\
+     matfpl.o	matfpr.o	matget.o	matgra.o	matin1.o\
+     matinn.o	matint.o	matlin.o	matloc.o	matmrk.o\
+     matpln.o	matpmk.o	matprt.o	matsav.o	matslt.o\
+     matsrt.o	matsub.o	matsur.o	matvcr.o	matwrt.o\
+     matzro.o	methan.o	mixer3.o	molecdef.o	monte.o\
+     montea.o	monteb.o	montec.o	montefd.o	monteft.o\
+     montefta.o	monteftg.o	montefth.o	msnfit.o	msnfun.o\
+     mt2sav.o	norfit.o	norfun.o	numsav.o	onlind.o\
+     online.o	optadd.o	optave.o	optbgf.o	optchv.o\
+     optdel.o	optdsn.o	optene.o	optenm.o	optfac.o\
+     optfrc.o	optfun.o	optinp.o	optsag.o	optset.o\
+     optsht.o	optstb.o	optstp.o	optxya.o	optzro.o\
+     outb3.o	outfm2.o	outfm5.o	outfmt.o	output.o\
+     output2.o	ph2.o		plaarr.o	plabox.o	plabu1.o\
+     plabu2.o	plabxc.o	plabxi.o	plabxo.o	plabxp.o\
+     plachc.o	plachi.o	plachk.o	placho.o	plachp.o\
+     placo3.o	placoo.o	placut.o	placyc.o	placyi.o\
+     placyp.o	plagmc.o	plagmp.o	plagpc.o	plagpl.o\
+     plagpm.o	plagpp.o	plagt.o		plaint.o	plalam.o\
+     plalin.o	planor.o	plapla.o	plaplt.o	plapol.o\
+     plared.o	plasep.o	plaspc.o	plaspi.o	plaspl.o\
+     plaspp.o	plasrc.o	plasrp.o	plasur.o	platri.o\
+     platub.o	polfit.o	polfun.o	priabs.o	pricrose.o\
+     prilsgvg.o	primatt.o	primtrac.o	pripart.o	priraffl.o\
+     prirga.o	prirgaf.o	pritrack.o	privolum.o	prnter.o\
+     proint.o	pt.o		ptg.o		pth.o		pyafit.o\
+     pyafun.o	quit.o		raffle.o	rafflev.o	rafflev2.o\
+     rafflevi.o	rain.o		random.o	rndcov.o	rndexp.o\
+     rndfun.o	rndhis.o	rndnor.o	rndpol.o	rnduni.o\
+     roucal.o	round.o		scont1.o	scont2.o	seta00.o\
+     setb1x.o	setb1y.o	setb2x.o	setb2y.o	setb3.o\
+     setc10.o	setc2x.o	setc2y.o	setc30.o	setd10.o\
+     setd20.o	setd30.o	setnew.o	setup.o		sgflag.o\
+     shellfi.o	sigadd.o	sigads.o	sigang.o	sigava.o\
+     sigcal.o	sigchk.o	sigcls.o	sigcnv.o	sigcrn.o\
+     sigetr.o	sigfld.o	sigfls.o	siggen.o	sigini.o\
+     siginp.o	sigion.o	sigior.o	sigipr.o	sigist.o\
+     sigitr.o	sigmca.o	signoi.o	sigpla.o	sigplp.o\
+     sigplt.o	sigqin.o	sigthc.o	sigwgt.o	sigwrt.o\
+     skip.o	sourcede.o	sourceph.o	splane.o	spline.o\
+     spline2.o	srlengmt.o	sst.o		stdstr.o	strbuf.o\
+     strcal.o	strsav.o	tcalc.o		timlog.o	tof.o\
+     tofg.o	tofh.o		tpasc.o		tplane.o	tplanea.o\
+     tplaneg.o	tplaneh.o	tracls.o	tradel.o	traexb.o\
+     traint.o	trapho.o	traplt.o	trarea.o	trasub.o\
+     treatcel.o	treatdel.o	ttrack.o	turntrac.o	units.o\
+     vectors.o	volnumzc.o	volpathl.o	wldcrd.o	worpriab.o\
+     worprirg.o	xelimitc.o	zroarg.o	zrocnt.o	zrofnd.o\
+     zroloc.o	zrotst.o
 
-new-8:
-	-rm *.f
-	./patchy_step garfadd-8
-	/cern/pro/bin/fcasplit garfadd-8.f
-	-rm garfadd-8.f garfadd-8.mkfca garfadd-8.shfca y.lis
-	$(FC) -c $(FF) *.f
-	rm *.f
-	$(FC) -o .@sys/garfield-8 *.o $(LF)
-
-garfield-8: main-8.o
-	$(FC) -o .@sys/garfield-8 *.o $(LF)
-	#rm *.o
-
-main-8.o: main-8.f
-	$(FC) -c $(FF) *.f
-	rm *.f
+SRCS = $(OBJS:.o=.f)
 
-main-8.f: garfield-8.f
+garfield: $(OBJS)
+	$(FC) -o garfield *.o $(LF)
+
+$(SRCS): garfield-7.car magboltz-3.car heed101garf.car garfield-8.cra garfadd-8.cra
+	./patchy_step garfield-8
+	./patchy_step garfadd-8
 	/cern/pro/bin/fcasplit garfield-8.f
 	/cern/pro/bin/fcasplit garfadd-8.f
 	-rm garfield-8.f garfield-8.mkfca garfield-8.shfca y.lis
 	-rm garfadd-8.f garfadd-8.mkfca garfadd-8.shfca y.lis
-	mv main.f main-8.f
 
-garfield-8.f: garfield-7.car magboltz-2.car heed101garf.car garfield-8.cra
-	-rm *.f *.o
-	./patchy_step garfield-8
-	./patchy_step garfadd-8
+.f.o:
+	$(FC) -c $(FF) $*.f
 
 help: garfield.rawhelp
-	-rm .@sys/garfield.packhelp
-	./garfield-7 -noinput -noterminal -metafile  < help_input
-	rm garfield.metafile
+	-rm -f garfield.packhelp
+	./garfield -noinput -noterminal -metafile  < help_input
+	rm -f garfield.metafile
  
 interface: interface.a
 	echo Done making interface.a.
@@ -95,3 +229,14 @@
 	ranlib .@sys/interface.a
 	rm interface.f
 	rm interface.o
+
+doc: 
+	(cd html; make -f make_html)
+	mkdir doc
+	mv html/*.html doc
+	mv html/labels doc
+	mv html/icons doc
+
+clean:
+	rm -f $(SRCS) *.o garfield-8.mkfca garfield-8.shfca y.lis
+
