Makefile.rules 794 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. $(info --> Reading $(lastword $(MAKEFILE_LIST)))
  2. .SUFFIXES:
  3. .SUFFIXES: .o .F90 .F .c
  4. .PHONY: $(LIB_FILE) lib master clean realclean dep-clean
  5. lib: $(LIB_FILE)
  6. $(LIB_FILE): $(OBJS)
  7. $(AR) $(ARFLAGS) $@ $^
  8. %.o: %.F90
  9. $(F90) -c $(F90FLAGS) $(FPPDEFS) $(addprefix -I,$(F90_INC_DIRS)) $<
  10. %.o: %.F
  11. $(FC) -c $(FFLAGS) $(FPPDEFS) $(addprefix -I,$(F77_INC_DIRS)) $<
  12. %.o: %.f
  13. $(FC) -c $(FFLAGS) $(addprefix -I,$(F77_INC_DIRS)) $<
  14. %.o: %.c
  15. $(CC) -c $(CFLAGS) $(CPPDEFS) $(addprefix -I,$(C_INC_DIRS)) $<
  16. clean:
  17. -rm -f $(OBJS)
  18. -rm -f $(OBJS:.o=.mod)
  19. realclean: clean
  20. -rm -f $(LIB_FILE)
  21. dep-clean:
  22. -rm -f $(F90_DEP_FILE)
  23. ifneq (,$(filter %.F90 %.f90,$(SRCS)))
  24. $(F90_DEP_FILE): $(filter %.F90 %.f90,$(SRCS))
  25. $(MAKEDEPF90) $(filter %.F90 %.f90,$(SRCS)) > $@
  26. -include $(F90_DEP_FILE)
  27. endif