1SUBDIRS = spherical
2CC      = g++
3LIBOUT  = libsiscone.a
4CFLAGS  = -Wall -g -O3 -ffast-math
5
6LDFLAGS = -lm #-lprofiler -lpthread -ltcmalloc
7ifeq ($(shell whoami),salam)
8  # needed for Gavin to include tcmalloc
9  LDFLAGS += -L/ada1/lpthe/salam/software/local/lib
10endif
11
12OBJS    = ranlux.o reference.o geom_2d.o momentum.o hash.o quadtree.o \
13          vicinity.o protocones.o split_merge.o siscone.o siscone_error.o area.o
14
15SRCS = $(patsubst %.o,%.cpp,$(OBJS))
16
17
18%.o: %.cpp %.h
19	$(CC) -c $(CFLAGS) $<
20
21%.o: %.cpp
22	$(CC) -c $(CFLAGS) $<
23
24all: $(OBJS) $(SUBDIRS)
25	ar cru $(LIBOUT) $(OBJS)
26	ranlib $(LIBOUT)
27
28.PHONY: clean $(SUBDIRS)
29
30clean: $(SUBDIRS)
31	rm -f *.o *~
32
33spherical:
34	@cd spherical && $(MAKE) -f makefile.static $(MAKECMDGOALS)
35
36# note the -Y option below avoids including all the standard
37# include directories (which change from one system to another)
38depend: $(SUBDIRS)
39	makedepend -f makefile.static -- -Y  -- $(SRCS)
40# DO NOT DELETE
41
42ranlux.o: ranlux.h
43reference.o: reference.h ranlux.h
44geom_2d.o: geom_2d.h defines.h
45momentum.o: momentum.h reference.h geom_2d.h defines.h
46hash.o: hash.h momentum.h reference.h geom_2d.h defines.h
47quadtree.o: quadtree.h momentum.h reference.h geom_2d.h defines.h
48vicinity.o: vicinity.h momentum.h reference.h geom_2d.h defines.h quadtree.h
49protocones.o: protocones.h momentum.h reference.h geom_2d.h defines.h
50protocones.o: vicinity.h quadtree.h hash.h siscone_error.h circulator.h
51split_merge.o: split_merge.h defines.h geom_2d.h momentum.h reference.h
52split_merge.o: siscone_error.h
53siscone.o: config.h ranlux.h momentum.h reference.h geom_2d.h defines.h
54siscone.o: siscone.h protocones.h vicinity.h quadtree.h hash.h split_merge.h
55siscone.o: siscone_error.h
56siscone_error.o: siscone_error.h
57area.o: area.h momentum.h reference.h geom_2d.h defines.h siscone.h
58area.o: protocones.h vicinity.h quadtree.h hash.h split_merge.h
59