include ../../settings.make


CCFLAGS += -I ../../include
LDFLAGS += ../../lib/libquickflash.a


EXEC = mass_histogram layer_distrib omega_slicer

OBJ = file_defs.o layer_detection.o layer_distribution.o layer_slices.o \
	    omega_slicer.o grid_output.o shock_front.o


all : $(EXEC)

clean : 
	rm -f $(EXEC) *.o


mass_histogram : mass_histogram.o file_defs.o layer_detection.o
	$(LD) -o mass_histogram \
	    mass_histogram.o file_defs.o layer_detection.o \
	    $(LDFLAGS) $(LDFLAGS_HDF5)

mass_histogram.o : mass_histogram.cpp file_defs.hpp layer_detection.hpp
	$(CXX) -c $(CCFLAGS) $(CCFLAGS_HDF5) -o mass_histogram.o \
	    mass_histogram.cpp

omega_slicer : omega_slicer.o grid_output.o layer_detection.o
	$(LD) -o omega_slicer \
	    omega_slicer.o grid_output.o layer_detection.o \
	    $(LDFLAGS) $(LDFLAGS_HDF5) $(LDFLAGS_MAGICK)

omega_slicer.o : omega_slicer.cpp grid_output.hpp layer_detection.hpp
	$(CXX) -c $(CCFLAGS) $(CCFLAGS_HDF5) $(CCFLAGS_MAGICK) \
	    -o omega_slicer.o omega_slicer.cpp

layer_distrib : layer_distrib.o file_defs.o layer_detection.o \
	    layer_distribution.o layer_slices.o shock_front.o
	$(LD) -o layer_distrib \
	    layer_distrib.o file_defs.o layer_detection.o \
	    layer_distribution.o layer_slices.o shock_front.o \
	    $(LDFLAGS) $(LDFLAGS_HDF5)

layer_distrib.o : layer_distrib.cpp layer_distribution.hpp \
	    layer_detection.hpp layer_slices.hpp shock_front.hpp
	$(CXX) -c $(CCFLAGS) $(CCFLAGS_HDF5) -o layer_distrib.o \
	    layer_distrib.cpp

file_defs.o : file_defs.hpp file_defs.cpp
	$(CXX) -c $(CCFLAGS) -o file_defs.o file_defs.cpp

layer_detection.o : layer_detection.hpp layer_detection.cpp
	$(CXX) -c $(CCFLAGS) $(CCFLAGS_HDF5) -o layer_detection.o \
	    layer_detection.cpp

layer_distribution.o : layer_distribution.hpp layer_distribution.cpp \
	    file_defs.hpp
	$(CXX) -c $(CCFLAGS) $(CCFLAGS_HDF5) -o layer_distribution.o \
	    layer_distribution.cpp

layer_slices.o : layer_slices.hpp layer_slices.cpp file_defs.hpp
	$(CXX) -c $(CCFLAGS) $(CCFLAGS_HDF5) -o layer_slices.o \
	    layer_slices.cpp

grid_output.o : grid_output.hpp grid_output.cpp
	$(CXX) -c $(CCFLAGS) -o grid_output.o \
	    grid_output.cpp

shock_front.o : shock_front.hpp shock_front.cpp
	$(CXX) -c $(CCFLAGS) $(CCFLAGS_HDF5) -o shock_front.o \
	    shock_front.cpp
