Most of the modules are organized in subfolders. Maybe some big re-organization is needed in the future, but for now I am happy.
40 lines
1.1 KiB
Makefile
40 lines
1.1 KiB
Makefile
OBJS = common.o output.o mesh.o solver.o init.o \
|
|
moduleBoundary.o moduleCollisions.o moduleInject.o \
|
|
moduleList.o moduleProbe.o \
|
|
moduleSpecies.o
|
|
|
|
all: $(OBJS)
|
|
|
|
common.o:
|
|
$(MAKE) -C common all
|
|
|
|
output.o: moduleSpecies.o common.o
|
|
$(MAKE) -C output all
|
|
|
|
mesh.o: moduleCollisions.o moduleBoundary.o output.o
|
|
$(MAKE) -C mesh all
|
|
|
|
solver.o: moduleSpecies.o moduleProbe.o common.o output.o mesh.o
|
|
$(MAKE) -C solver all
|
|
|
|
init.o: common.o solver.o moduleInject.o
|
|
$(MAKE) -C init all
|
|
|
|
moduleBoundary.o: common.o moduleBoundary.f90
|
|
$(FC) $(FCFLAGS) -c $(subst .o,.f90,$@) -o $(OBJDIR)/$@
|
|
|
|
moduleCollisions.o: moduleList.o moduleSpecies.o common.o moduleCollisions.f90
|
|
$(FC) $(FCFLAGS) -c $(subst .o,.f90,$@) -o $(OBJDIR)/$@
|
|
|
|
moduleList.o: common.o moduleSpecies.o moduleList.f90
|
|
$(FC) $(FCFLAGS) -c $(subst .o,.f90,$@) -o $(OBJDIR)/$@
|
|
|
|
moduleProbe.o: mesh.o moduleProbe.f90
|
|
$(FC) $(FCFLAGS) -c $(subst .o,.f90,$@) -o $(OBJDIR)/$@
|
|
|
|
moduleSpecies.o: common.o moduleSpecies.f90
|
|
$(FC) $(FCFLAGS) -c $(subst .o,.f90,$@) -o $(OBJDIR)/$@
|
|
|
|
%.o: %.f90
|
|
$(FC) $(FCFLAGS) -c $< -o $(OBJDIR)/$@
|
|
|