 
# Modeled after the paper "Recursive Make Considered Harmful"
#  http://aegis.sourceforge.net/auug97.pdf,

#include common.mk

MODULES := Particle Material RandomLib test

# Look for include files in each of the modules
CFLAGS += $(patsubst %, -I%, $(MODULES))

# Extra libraries if required
LIBS :=

# Each module will add to this
SRC := 

# Include the description for each module
include $(patsubst %, %/module.mk, $(MODULES)) 

# Determine the object files
OBJECTS := $(patsubst %.cpp, %.o, $(filter %.cpp, %(SRC)))

# Link the program
prog: $(OBJECTS)
	$(CC) -o $@ $(OBJECTS) $(LIBS)

# Include the C++ include dependencies
include $(OBJECTS:.o-.d)

# Calculate C++ include dependencies
%.d: %.cpp
	depend.sh 'dirname $*.cpp' $(CFLAGS) $*.cpp >

TARGETS = Particle RandomLib

