# MAKEFILE: compile tree-code program.
#
# Modified:  by Joe Hummel, UC-Irvine.
#
# Original Author:
# Copyright (c) 1991, Joshua E. Barnes, Honolulu, HI.
#	   It's free because it's yours.

# These targets build the treecode.
#
# NOTE: see file "defs.h" for #defines you may want to define before
#       building the executable. 
#
CC      = gcc
CFLAGS  = -O3 -static -DRUNTIME
LDFLAGS = -lm -static

SOURCES = main.c getparam.c globals.c grav.c io.c load.c util.c 
OBJECTS = main.o getparam.o globals.o grav.o io.o load.o util.o 
EXEFILE = bh

$(EXEFILE): $(OBJECTS)
	$(CC) -o $(EXEFILE) $(OBJECTS) $(LDFLAGS)
	rm -f $(OBJECTS)

main.o: main.c defs.h stdinc.h vectmath.h getparam.h globals.h grav.h io.h load.h util.h main.h
	$(CC) $(CFLAGS) -c main.c

getparam.o: getparam.c defs.h stdinc.h vectmath.h getparam.h util.h 
	$(CC) $(CFLAGS) -c getparam.c

globals.o: globals.c defs.h stdinc.h vectmath.h globals.h 
	$(CC) $(CFLAGS) -c globals.c

grav.o: grav.c defs.h stdinc.h vectmath.h globals.h grav.h
	$(CC) $(CFLAGS) -c grav.c

io.o: io.c defs.h stdinc.h vectmath.h globals.h io.h util.h
	$(CC) $(CFLAGS) -c io.c

load.o: load.c defs.h stdinc.h vectmath.h globals.h load.h util.h
	$(CC) $(CFLAGS) -c load.c

util.o: util.c defs.h stdinc.h vectmath.h util.h
	$(CC) $(CFLAGS) -c util.c

#####################################################################
# Clean directory... 
clean:
	rm -f *.o
	rm -f $(EXEFILE) 

#####################################################################
# Make a backup... 
backup:
	rm -f bh.tar.Z
	tar cvf bh.tar Makefile README SampleRun Bugs ML* *.c *.h
	compress bh.tar
