#
# Makefile to produce "gforge"          - jpb 7/28/95
#
# -c means compile, don't link.  -g means add debugging code

# CC ought to be set from higher-level makefile or environment

CC = gcc -m68060 -ffast-math -fschedule-insns -fforce-addr -fomit-frame-pointer -finline-functions

SRCFLAGS=  -c -O3 --I./png -I./zlib ${NOTES}

LIBS    = -lm -lpng -lz -L./png/ -L./zlib

SOURCES=  gforge.c libp.c crater.c fftn.c

COMMON=   pp.h gforge.h fftn.h

OBJS=     gforge.o libp.o crater.o rand.o fftn.o

all:    libs.flg gforge

libs.flg:       
	(cd zlib; make)
	(cd png; make)
	(touch libs.flg)

gforge:       ${OBJS} 
	${CC} -o gforge ${OBJS} ${LIBS}

gforge.o: gforge.c ${COMMON} 
	${CC} ${SRCFLAGS} gforge.c

crater.o: crater.c ${COMMON}
	${CC} ${SRCFLAGS} crater.c

libp.o: libp.c ${COMMON}
	${CC} ${SRCFLAGS} libp.c

rand.o: rand.c ${COMMON}
	${CC} ${SRCFLAGS} rand.c

fftn.o: fftn.c ${COMMON}
	${CC} ${SRCFLAGS} fftn.c -DFFTN_NODOUBLE -DSUN_BROKEN_REALLOC

lint: 
	${CC} -ansi -pedantic -Wall -fsyntax-only ${SOURCES} 

clean:
	rm -f ${OBJS} libs.flg output.* *~
	(cd zlib; make clean)
	(cd png; make clean)

install: gforge
	strip gforge
	cp gforge ${HOME}/bin
