# clear old suffixes
.SUFFIXES:
.SUFFIXES: .f .o .do .po .c
CFLAGS = -DG77 -O -I/usr/include
# -DFUNCPROTO -DG77
DEBUGCFLAGS = $(CFLAGS) -DDebug -DDebug1
FC=f77 -C
#FC=f77 -C -B111 -N114
FFLAGS = -O2 -w
PROFFFLAGS = -p
#DEBUGFFLAGS = -C -DDEBUG -fpe4 -g -check bounds
DEBUGFFLAGS = -C -DDEBUG -g -w
SRCS = fire.f curd.f movit.f genmap.f input.f stats.f DrawPixmap.c \
 landstat.f indicator.f xpm_out.c ran.c
OBJS = fire.o curd.o movit.o genmap.o input.o stats.o DrawPixmap.o \
 landstat.f indicator.o xpm_out.o ran.o
LIBS = -L/usr/X11R6/lib -lXpm -lXext -lXt -lX11
#LIBS = -L/usr/X11R6/lib -lXpm -lXext -lXt -lX11 -lU77

PROFOBJS = fire.po curd.po movit.po genmap.po input.po stats.po \
 DrawPixmap.po landstat.po indicator.po ran.po xpm_out.o
DEBUGOBJS = fire.do curd.do movit.do genmap.do input.do stats.do \
 DrawPixmap.do landstat.do indicator.do ran.do xpm_out.o
EXECNAME = fire
# default rules for a "production" .o file
.f.o:; $(FC) -c -o $@ $(FFLAGS) $<
.c.o:; cc -c -o $@ $(CFLAGS) $<
# default rule for a .po profiling .o module
.f.po:; $(FC) -c -o $@ $(PROFFFLAGS) $*.f
.c.po:; cc -c -o $@ $(PROFFLAGS) $(CFLAGS) $*.c $(LIBS)
# default rule for a .do debugging .o module
.f.do:; $(FC) -c -o $@ $(DEBUGFFLAGS) $*.f
.c.do:; cc -c -o $@ $(DEBUGCFLAGS) $*.c $(LIBS)

#default target (invoked if make is called without arguments)
default: $(EXECNAME)

# target lines to make some production object modules
fire.o: fire.f parm.i common.i
curd.o: curd.f parm.i common.i
movit.o: movit.f parm.i common.i
genmap.o: genmap.f parm.i common.i
input.o: input.f parm.i common.i
stats.o: stats.f parm.i common.i
indicator.o: indicator.f
landstat.o: landstat.f
DrawPixmap.o: DrawPixmap.c
#
# target lines to make some debug object modules
fire.do: fire.f parm.i common.i
curd.do: curd.f parm.i common.i
movit.do: movit.f parm.i common.i
genmap.do: genmap.f parm.i common.i
input.do: input.f parm.i common.i
stats.do: stats.f parm.i common.i
indicator.do: indicator.f
landstat.do: landstat.f
DrawPixmap.do: DrawPixmap.c
#
# target lines to make some profile object modules
fire.po: fire.f parm.i common.i
curd.po: curd.f parm.i common.i
movit.po: movit.f parm.i common.i
genmap.po: genmap.f parm.i common.i
input.po: input.f parm.i common.i
stats.po: stats.f parm.i common.i
indicator.po: indicator.f
landstat.po: landstat.f
DrawPixmap.po: DrawPixmap.c
#
# generate executables
fire: $(OBJS)
	$(FC) $(FFLAGS) $(OBJS) -o fire $(LIBS)
depend:
	makedepend -- $(CFLAGS) -- $(SRCS)
debug: $(DEBUGOBJS)
	$(FC) $(DEBUGFFLAGS) $(DEBUGOBJS) -o $(EXECNAME) $(LIBS)
prof: $(PROFOBJS)
	$(FC) $(PROFFFLAGS) $(PROFOBJS) -o $(EXECNAME) $(LIBS)

clean:
	rm -f *.o *.do *.po core a.out
tar: DrawPixmap.h $(SRCS) fire.cmap fire.matrix fbmean.matrix \
 firebrand.matrix ignition.matrix parm.i common.i spread.matrix wind.matrix
	tar cvBf fire.tar DrawPixmap.h $(SRCS) fire.cmap \
 fire.matrix fbmean.matrix firebrand.matrix ignition.matrix parm.i \
 risk.cmap common.i spread.matrix wind.matrix Makefile Makefile.funcproto \
 weather.sequence ignition.sequence
	rm -f fire.tar.Z
	compress fire.tar
	@echo Distribution file is fire.tar.Z

# DO NOT DELETE THIS LINE -- make depend depends on it.

DrawPixmap.o: /usr/include/stdio.h /usr/include/features.h
DrawPixmap.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
DrawPixmap.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
DrawPixmap.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
DrawPixmap.o: /usr/include/bits/types.h /usr/include/libio.h
DrawPixmap.o: /usr/include/_G_config.h /usr/include/bits/stdio_lim.h
DrawPixmap.o: /usr/include/strings.h /usr/include/X11/StringDefs.h
DrawPixmap.o: /usr/include/X11/Intrinsic.h /usr/include/X11/Xlib.h
DrawPixmap.o: /usr/include/sys/types.h /usr/include/time.h
DrawPixmap.o: /usr/include/endian.h /usr/include/bits/endian.h
DrawPixmap.o: /usr/include/sys/select.h /usr/include/bits/select.h
DrawPixmap.o: /usr/include/bits/sigset.h /usr/include/sys/sysmacros.h
DrawPixmap.o: /usr/include/X11/X.h /usr/include/X11/Xfuncproto.h
DrawPixmap.o: /usr/include/X11/Xosdefs.h /usr/include/X11/Xutil.h
DrawPixmap.o: /usr/include/X11/Xresource.h /usr/include/string.h
DrawPixmap.o: /usr/include/X11/Core.h /usr/include/X11/Composite.h
DrawPixmap.o: /usr/include/X11/Constraint.h /usr/include/X11/Object.h
DrawPixmap.o: /usr/include/X11/RectObj.h /usr/include/X11/Shell.h
DrawPixmap.o: /usr/include/X11/SM/SMlib.h /usr/include/X11/SM/SM.h
DrawPixmap.o: /usr/include/X11/ICE/ICElib.h /usr/include/X11/ICE/ICE.h
DrawPixmap.o: /usr/include/X11/extensions/shape.h /usr/include/X11/xpm.h
DrawPixmap.o: DrawPixmap.h
xpm_out.o: /usr/include/stdio.h /usr/include/features.h
xpm_out.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
xpm_out.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
xpm_out.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
xpm_out.o: /usr/include/bits/types.h /usr/include/libio.h
xpm_out.o: /usr/include/_G_config.h /usr/include/bits/stdio_lim.h
xpm_out.o: /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h
xpm_out.o: /usr/include/endian.h /usr/include/bits/endian.h
xpm_out.o: /usr/include/sys/select.h /usr/include/bits/select.h
xpm_out.o: /usr/include/bits/sigset.h /usr/include/sys/sysmacros.h
xpm_out.o: /usr/include/alloca.h
ran.o: /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h
ran.o: /usr/include/gnu/stubs.h
ran.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
ran.o: /usr/include/sys/types.h /usr/include/bits/types.h /usr/include/time.h
ran.o: /usr/include/endian.h /usr/include/bits/endian.h
ran.o: /usr/include/sys/select.h /usr/include/bits/select.h
ran.o: /usr/include/bits/sigset.h /usr/include/sys/sysmacros.h
ran.o: /usr/include/alloca.h
