BUILTINS =
NPROC = 1
CC = cc
CFLAGS = -g
DS = ..
Inc = -I$DS

%.dll: %.c
	$CC $CFLAGS $Inc -fPIC -shared -o $target $stem.c

loo%.c: loo% ../nidrgen
	../nidrgen -lfn- -h nidr.h loo$stem >$target

Loo = loo.dll loo1.dll loo2.dll loo3.dll loo41.dll loo42.dll loo43.dll loo44.dll \
	loo45.dll loo46.dll loo47.dll loo48.dll loo49.dll loo4a.dll loo4b.dll loo4c.dll
Doo = doo4a doo4b doo4c doo4d doo4e doo4f

testall: ../nidrgen $Loo dot1.dll
	rm -rf bad
	mkdir bad
	for i in `ls $Loo | sed 's/\.dll//'`; do
		../nidrgen -lfp $i.in >bad/$i.out
		cmp -s bad/$i.out good/$i.out && rm bad/$i.out
		../nidrgen -lefp $i.in >bad/$i.eout
		cmp -s bad/$i.eout good/$i.eout && rm bad/$i.eout
		done
	../nidrgen dloo >bad/dloo
	cmp -s bad/dloo good/dloo && rm bad/dloo
	../nidrgen dakota.input.nspec dakota.input.desc bad/NIDR_initdefs.h bad/NIDR_keywds.H
	../nidrgen -efp dakota.input.nspec >bad/dakota.input.summary
	../nidrgen -egG dakota.input.nspec dakota.input.desc >bad/NIDR_guikeywds.h
	../nidrgen -ftn- dakota.input.nspec >bad/NIDR_keywds0.h
	for i in $Doo; do ../nidrgen -lp $i >bad/$i; done
	../nidrgen -lfn- -h nidr.h dot.nspec >bad/dot1.c
	for i in NIDR_initdefs.h NIDR_keywds.H dakota.input.summary NIDR_guikeywds.h \
			NIDR_keywds0.h $Doo dot1.c; do
		cmp -s good/$i bad/$i && rm bad/$i
		done
	rmdir bad
	touch testall

bletch: $Loo
	for i in `ls $Loo | sed 's/\.dll//'`; do
		../nidrgen -lfp $i.in >good/$i.out
		../nidrgen -lefp $i.in >good/$i.eout
		done

dot1.c: good/dot1.c
	ln $prereq $target

clean:
	rm -f *.c *.dll testall
