CFLAGS=-DSUN -O -DSPARC
HEADERS	= ddefs.h style.h types.h vars.h stats.h array.h iring.h ring.h \
		parse.h hull.h

SRC1=shell.c array.c boxcmds.c boxprocs.c \
		charp.c cmdnames.c cmds.c debug.c det.c ed.c \
		gm_cmds.c gm_dlist.c gm_plist.c gm_poly.c generic.c \
		gmatrix.c help.c hilb.c hilb2.c human_io.c input.c \
		mac.c mem.c monitor.c monoms.c parse.c parsepoly.c \
		plist.c poly.c  \
		rescmds.c ring.c rmap.c rvar.c set.c smallterm.c
SRC2=spcmds.c standard.c stash.c stats.c term.c vars.c version.c \
		betti.c printf.c detach.c monideal.c \
		prpoly.c qring.c koszul.c inhomog.c stdcmds.c intersect.c \
		hulb.c h_grow.c h_hull.c h_matrix.c \
		h_ops.c h_points.c h_tope.c h_vector.c h_interface.c Hack.c

SRCFILES=$(SRC1) $(SRC2)

RGFILES=ring.o rvar.o smallterm.o term.o
SYSFILES=detach.o input.o mac.o monitor.o printf.o stash.o
SHELLFILES=shell.o debug.o set.o stats.o version.o

OBJFILES=array.o boxcmds.o boxprocs.o \
		charp.o cmdnames.o cmds.o det.o ed.o \
		gm_cmds.o gm_dlist.o gm_plist.o gm_poly.o generic.o \
		gmatrix.o help.o hilb.o hilb2.o human_io.o \
		mem.o monoms.o parse.o parsepoly.o plist.o poly.o  \
		rescmds.o rmap.o \
		spcmds.o standard.o vars.o \
		betti.o monideal.o \
		prpoly.o qring.o koszul.o inhomog.o stdcmds.o intersect.o \
		hulb.o Hack.o

POBJFILES=parse.o parsepoly.o

HOBJFILES=h_grow.o h_hull.o h_matrix.o \
		h_ops.o h_points.o h_tope.o h_vector.o h_interface.o


USEVAR=boxcmds.o boxprocs.o cmds.o generic.o hilb2.o rescmds.o \
	rmap.o standard.o vars.o spcmds.o betti.o monideal.o debug.o ed.o \
	gm_cmds.o mem.o prpoly.o qring.o koszul.o inhomog.o stdcmds.o \
	intersect.o hulb.o

Macaulay.bin: $(OBJFILES) $(HOBJFILES) ring.a sys.a shell.a 
		cc -O -o Macaulay.bin $(OBJFILES) $(HOBJFILES) ring.a sys.a shell.a -lm

ring.a: $(RGFILES)
	ar rcv ring.a $(RGFILES)
	ranlib ring.a

sys.a: $(SYSFILES)
	ar rcv sys.a $(SYSFILES)
	ranlib sys.a

shell.a: $(SHELLFILES)
	ar rcv shell.a $(SHELLFILES)
	ranlib shell.a

$(OBJFILES)	: style.h types.h ddefs.h
$(HOBJFILES)	: hull.h
$(POBJFILES)	: parse.h 
$(RGFILES)	: style.h types.h ddefs.h
$(SYSFILES)	: style.h types.h ddefs.h
$(SHELLFILES)	: style.h types.h ddefs.h
$(USEVAR)	: vars.h
term.o poly.o standard.o : stats.h

pr1:
	enscript -h -2r -Plaser makefile $(HEADERS) $(SRC1)

pr2:
	enscript -h -2r -Plaser $(SRC2)

e:
	etags -t -e $(HEADERS) $(SRCFILES)

