# Makefile for astra_dist CPP = ./../ HPP = ./../../inc/ BIN = ./../../bin/ LIB = ./../../lib/ # Compiler CC = g++ # Compiler options CFLAGS = -O3 -Wall -pedantic -I $(HPP) LFLAGS = -O3 -Wall #-static LIBS = -lm SHARED_LIB_FLAGS = -fPIC -shared -pedantic -I $(HPP) EXE = distgen EXE_DIR = ../../bin/ EXE_OBJECTS = helpers.o \ unit_converter.o \ physical_constants.o \ parameter.o \ verbose_out.o \ parser.o \ map_parser.o \ 1D_distributions.o \ crystal_laser_dist.o \ dist.o \ distgen.o SRC_FILES = $(CPP)helpers.cpp \ $(CPP)unit_converter.cpp \ $(CPP)physical_constants.cpp \ $(CPP)parameter.cpp \ $(CPP)verbose_out.cpp \ $(CPP)parser.cpp \ $(CPP)map_parser.cpp \ $(CPP)1D_distributions.cpp \ $(CPP)crystal_laser_dist.cpp \ $(CPP)dist.cpp SHARED_LIB = $(EXE).so all : $(EXE_OBJECTS) exe lib mv $(EXE) $(BIN)$(EXE) mv $(SHARED_LIB) $(LIB)$(SHARED_LIB) exe : $(EXE_OBJECTS) $(CC) -o $(EXE) $(LFLAGS) $(EXE_OBJECTS) $(LIBS) lib : $(EXE_OBJECTS) exe $(CC) $(SHARED_LIB_FLAGS) $(SRC_FILES) $(FLAGS) -o $(SHARED_LIB) distgen.o : $(CPP)distgen.cpp $(CC) $(CFLAGS) -c $(CPP)distgen.cpp dist.o : $(CPP)dist.cpp $(HPP)dist.hpp $(SEL_OBJECTS) $(CC) $(CFLAGS) -c $(CPP)dist.cpp deformable_dist_1D.o : helpers.o $(CPP)deformable_dist_1D.cpp $(HPP)deformable_dist_1D.hpp $(CC) $(CFLAGS) -c $(CPP)deformable_dist_1D.cpp 1D_distributions.o : $(CPP)1D_distributions.cpp $(HPP)1D_distributions.hpp helpers.o physical_constants.o $(CC) $(CFLAGS) -c $(CPP)1D_distributions.cpp crystal_laser_dist.o : $(CPP)crystal_laser_dist.cpp $(HPP)crystal_laser_dist.hpp helpers.o physical_constants.o $(CC) $(CFLAGS) -c $(CPP)crystal_laser_dist.cpp map_parser.o : parser.o $(CPP)map_parser.cpp $(HPP)map_parser.hpp $(CC) $(CFLAGS) -c $(CPP)map_parser.cpp #particle_dist.o : $(CPP)particle_dist.cpp $(HPP)particle_dist.hpp helpers.o # $(CC) $(CFLAGS) -c $(CPP)particle_dist.cpp parser.o : verbose_out.o $(CPP)parser.cpp $(HPP)parser.hpp verbose_out.o $(CC) $(CFLAGS) -c $(CPP)parser.cpp verbose_out.o : $(CPP)verbose_out.cpp $(HPP)verbose_out.hpp $(CC) $(CFLAGS) -c $(CPP)verbose_out.cpp parameter.o : $(CPP)parameter.cpp $(HPP)parameter.hpp unit_converter.o helpers.o $(CC) $(CFLAGS) -c $(CPP)parameter.cpp #pvector.o : $(CPP)pvector.cpp $(HPP)pvector.hpp unit_converter.o helpers.o # $(CC) $(CFLAGS) -c $(CPP)pvector.cpp unit_converter.o : $(CPP)unit_converter.cpp $(HPP)unit_converter.hpp $(CC) $(CFLAGS) -c $(CPP)unit_converter.cpp physical_constants.o : $(CPP)physical_constants.cpp $(HPP)helpers.hpp $(CC) $(CFLAGS) -c $(CPP)physical_constants.cpp helpers.o : $(CPP)helpers.cpp $(HPP)helpers.hpp $(CC) $(CFLAGS) -c $(CPP)helpers.cpp clean : rm -f *~ *.o