##############################################################################
# MAKEFILE: compile tree-code program and next neighbour search              #
#                                                                            #
# Copyright (c) 1993, Joshua E. Barnes, Honolulu, HI.			     #
# 				                                             #
# It's free because it's yours.                                              #
##############################################################################
# adapted by Bernd Vollmer, CDS, Observatoire de Strasbourg 2004             #
##############################################################################

# Compiler flags for development on SGI; not used on other systems.
# single version: CFLAGS = -fullwarn -woff 269,302 -prototypes -O -float
# double version: CFLAGS = -DDOUBLEPREC -fullwarn -woff 269,302 -prototypes -O

# Standard compiler flags.  Double precision is the default because not
# all available systems seem to have single-precision square root.

CC=gcc 
CFLAGS = -ansi -DSINGLEPREC -DTWODIM -O3


# Build a treecode.

specfind: maingal1.o load1.o grav1.o grav2.o configold1.o joinsources1.o crosssources1.o compresssources1.o util1.o spectra1.o spreadspec1.o speccheck1.o
	$(CC) $(LDFLAGS) -o specfind maingal1.o load1.o grav1.o grav2.o configold1.o joinsources1.o crosssources1.o compresssources1.o util1.o spectra1.o spreadspec1.o speccheck1.o -lm

maingal1.o: maingal.c code.h nrutil.c nrutil.h
	$(CC) $(CFLAGS) -c maingal.c -o maingal1.o

load1.o: load.c defs.h stdinc.h
	$(CC) $(CFLAGS) -c load.c -o load1.o

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

grav2.o: grav1.c defs.h stdinc.h
	$(CC) $(CFLAGS) -c grav1.c -o grav2.o


configold1.o: configold.c code.h
	$(CC) $(CFLAGS) -c configold.c -o configold1.o
 
joinsources1.o: joinsources.c code.h
	$(CC) $(CFLAGS) -c joinsources.c -o joinsources1.o

crosssources1.o: crosssources.c code.h
	$(CC) $(CFLAGS) -c crosssources.c -o crosssources1.o

compresssources1.o: compresssources.c code.h
	$(CC) $(CFLAGS) -c compresssources.c -o compresssources1.o

spectra1.o: spectra.c code.h
	$(CC) $(CFLAGS) -c spectra.c -o spectra1.o

spreadspec1.o: spreadspec.c code.h
	$(CC) $(CFLAGS) -c spreadspec.c -o spreadspec1.o

speccheck1.o: speccheck.c code.h
	$(CC) $(CFLAGS) -c speccheck.c -o speccheck1.o


#  Utility routines etc.

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


