OBJS = common.o output.o mesh.o solver.o init.o \ moduleBoundary.o moduleCollisions.o moduleInject.o \ moduleList.o moduleProbe.o moduleCoulomb.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 moduleCoulomb.o moduleBoundary.o output.o common.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)/$@ moduleCoulomb.o: moduleSpecies.o common.o moduleCoulomb.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)/$@