PROG		= gaussfit
CC		= gcc
CFLAGS		= -Wall


OBJECTS =	gauss.o matrixman.o errhandle.o functs.o\
		arithops.o house.o files.o \
		logicops.o  opcodes.o  robust.o\
		simplefits.o simplemidas2.o\
		compile.o symtab.o ytab.o gfitmain.o\
		minsum.o quicksort.o  util.o declare.o\
		array.o datum.o export.o symboltable.o machine.o



gaussfit:	$(OBJECTS) lexyy.h symtab.h symboltable.h def.h robust.h\
			defines.h datum.h house.h simpledefs.h files.h\
			compile.h machine.h alloc.h array.h
		$(CC) $(CFLAGS)    	$(OBJECTS)  -o gaussfit -lm 


clean:
		/usr/bin/rm -f $(OBJECTS) $(PROG) core


arithops.o:	arithops.c array.h datum.h machine.h prototypes.p alloc.h
		$(CC) $(CFLAGS)    -c   arithops.c
 
array.o:	array.c array.h prototypes.p alloc.h
		$(CC) $(CFLAGS)    -c   array.c
 
datum.o:	datum.c array.h  symboltable.h datum.h prototypes.p alloc.h
		$(CC) $(CFLAGS)    -c   datum.c
 
declare.o:	declare.c array.h  symboltable.h declare.h datum.h\
		prototypes.p alloc.h
		$(CC) $(CFLAGS)    -c   declare.c
 
errhandle.o:	errhandle.c defines.h
		$(CC) $(CFLAGS)    -c   errhandle.c

export.o:	export.c defines.h house.h files.h array.h datum.h symboltable.h \
			prototypes.p alloc.h
		$(CC) $(CFLAGS)    -c   export.c

files.o:	files.c defines.h alloc.h files.h strings.h array.h \
			datum.h symboltable.h prototypes.p alloc.h
		$(CC) $(CFLAGS)    -c   files.c

functs.o:	functs.c array.h datum.h  machine.h prototypes.p alloc.h
		$(CC) $(CFLAGS)    -c   functs.c

logicops.o:	logicops.c array.h datum.h  machine.h prototypes.p alloc.h
		$(CC) $(CFLAGS)    -c   logicops.c

gauss.o:	gauss.c array.h datum.h symboltable.h defines.h house.h files.h \
		prototypes.p alloc.h
		$(CC) $(CFLAGS)    -c   gauss.c
 
gfitmain.o:	gfitmain.c prototypes.p alloc.h defines.h
		$(CC) $(CFLAGS)    -c   gfitmain.c

house.o:	house.c alloc.h house.h files.h array.h datum.h symboltable.h \
			defines.h prototypes.p
		$(CC) $(CFLAGS)    -c   house.c

list.o:	list.c defines.h datum.h
		$(CC) $(CFLAGS)    -c   list.c

machine.o:	machine.c array.h datum.h machine.h declare.h symboltable.h \
			compile.h prototypes.p alloc.h functs.h
		$(CC) $(CFLAGS)    -c   machine.c

matrixman.o:	matrixman.c defines.h array.h datum.h symboltable.h house.h files.h\
		robust.h prototypes.p alloc.h
		$(CC) $(CFLAGS)    -c   matrixman.c

opcodes.o:	opcodes.c array.h datum.h declare.h symboltable.h \
			machine.h prototypes.p alloc.h
		$(CC) $(CFLAGS)    -c   opcodes.c

symboltable.o:	symboltable.c array.h datum.h  symboltable.h \
			prototypes.p alloc.h
		$(CC) $(CFLAGS)    -c   symboltable.c

quicksort.o:	quicksort.c 
		$(CC) $(CFLAGS)    -c   quicksort.c
 
relops.o:	relops.c defines.h datum.h
		$(CC) $(CFLAGS)    -c   relops.c

robust.o:	robust.c defines.h house.h files.h
		$(CC) $(CFLAGS)    -c   robust.c
 
simplefits.o:	simplefits.c defines.h prototypes.p simpledefs.h strings.h
		$(CC) $(CFLAGS)    -c   simplefits.c

simplemidas2.o:	simplemidas2.c defines.h strings.h prototypes.p \
			alloc.h house.h
		$(CC) $(CFLAGS)    -c   simplemidas2.c

compile.o:	compile.c symtab.h def.h compile.h array.h \
			datum.h declare.h symboltable.h \
			machine.h prototypes.p alloc.h
		$(CC) $(CFLAGS)    -c   compile.c

symtab.o:	symtab.c symtab.h def.h prototypes.p alloc.h
		$(CC) $(CFLAGS)    -c   symtab.c

minsum.o:	minsum.c defines.h house.h
		$(CC) $(CFLAGS)    -c   minsum.c
 
ytab.o:		ytab.c array.h alloc.h strings.h symtab.h def.h \
			compile.h defines.h lexyy.h datum.h symboltable.h \
			machine.h prototypes.p
		$(CC) $(CFLAGS)    -c   ytab.c

util.o:		util.c 
		$(CC) $(CFLAGS)    -c   util.c
