## Arrange for "make" and "make clean" to have the same effect as "mk" and "mk clean".

CC = cc
NS = ..
CFLAGS = -g -I$(NS)

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:  $(NS)/nidrgen $(Loo) dot1.dll
	rm -rf bad
	mkdir bad
	for i in `ls $(Loo) | sed 's/\.dll//'`; do \
		$(NS)/nidrgen -lfp $$i.in >bad/$$i.out; \
		cmp -s bad/$$i.out good/$$i.out && rm bad/$$i.out; \
		$(NS)/nidrgen -lefp $$i.in >bad/$$i.eout; \
		cmp -s bad/$$i.eout good/$$i.eout && rm bad/$$i.eout; \
		done
	$(NS)/nidrgen dloo >bad/dloo
	cmp -s bad/dloo good/dloo && rm bad/dloo
	$(NS)/nidrgen dakota.input.nspec dakota.input.desc bad/NIDR_initdefs.h bad/NIDR_keywds.H
	$(NS)/nidrgen -efp dakota.input.nspec >bad/dakota.input.summary
	$(NS)/nidrgen -egG dakota.input.nspec dakota.input.desc >bad/NIDR_guikeywds.h
	$(NS)/nidrgen -ftn- dakota.input.nspec >bad/NIDR_keywds0.h
	for i in $(Doo); do $(NS)/nidrgen -lp $$i >bad/$$i; done
	$(NS)/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

loo.dll: loo
	$(NS)/nidrgen -lfn- -h nidr.h loo >loo.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo.dll loo.c

loo1.dll: loo1
	$(NS)/nidrgen -lfn- -h nidr.h loo1 >loo1.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo1.dll loo1.c

loo2.dll: loo2
	$(NS)/nidrgen -lfn- -h nidr.h loo2 >loo2.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo2.dll loo2.c

loo3.dll: loo3
	$(NS)/nidrgen -lfn- -h nidr.h loo3 >loo3.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo3.dll loo3.c

loo41.dll: loo41
	$(NS)/nidrgen -lfn- -h nidr.h loo41 >loo41.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo41.dll loo41.c

loo42.dll: loo42
	$(NS)/nidrgen -lfn- -h nidr.h loo42 >loo42.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo42.dll loo42.c

loo43.dll: loo43
	$(NS)/nidrgen -lfn- -h nidr.h loo43 >loo43.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo43.dll loo43.c

loo44.dll: loo44
	$(NS)/nidrgen -lfn- -h nidr.h loo44 >loo44.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo44.dll loo44.c

loo45.dll: loo45
	$(NS)/nidrgen -lfn- -h nidr.h loo45 >loo45.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo45.dll loo45.c

loo46.dll: loo46
	$(NS)/nidrgen -lfn- -h nidr.h loo46 >loo46.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo46.dll loo46.c

loo47.dll: loo47
	$(NS)/nidrgen -lfn- -h nidr.h loo47 >loo47.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo47.dll loo47.c

loo48.dll: loo48
	$(NS)/nidrgen -lfn- -h nidr.h loo48 >loo48.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo48.dll loo48.c

loo49.dll: loo49
	$(NS)/nidrgen -lfn- -h nidr.h loo49 >loo49.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo49.dll loo49.c

loo4a.dll: loo4a
	$(NS)/nidrgen -lfn- -h nidr.h loo4a >loo4a.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo4a.dll loo4a.c

loo4b.dll: loo4b
	$(NS)/nidrgen -lfn- -h nidr.h loo4b >loo4b.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo4b.dll loo4b.c

loo4c.dll: loo4c
	$(NS)/nidrgen -lfn- -h nidr.h loo4c >loo4c.c
	$(CC) $(CFLAGS) -fPIC -shared -o loo4c.dll loo4c.c

dot1.c: good/dot1.c
	ln good/dot1.c dot1.c

dot1.dll: dot1.c
	$(CC) $(CFLAGS) -fPIC -shared -o dot1.dll dot1.c

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