Makefile 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. MODULE_TOPDIR = ../..
  2. LIB = GPROJ
  3. include $(MODULE_TOPDIR)/include/Make/Vars.make
  4. MOD_OBJS := $(filter-out ftol.o,$(AUTO_OBJS))
  5. include $(MODULE_TOPDIR)/include/Make/Lib.make
  6. include $(MODULE_TOPDIR)/include/Make/Doxygen.make
  7. EXTRA_CFLAGS = $(ZLIBINCPATH) $(GDALCFLAGS)
  8. EXTRA_INC = $(PROJINC)
  9. NAD_TABLES := $(wildcard *.lla)
  10. NT_TABLES = ntv1_can.dat nzgd2kgrid0005.gsb
  11. CSV_FILES := $(wildcard *.csv)
  12. PROJ_DIR = $(ETC)/proj
  13. NAD_DIR = $(ETC)/proj/nad
  14. CSV_DIR = $(ETC)/proj/ogr_csv
  15. NAD_DSTFILES := $(patsubst %.lla,$(NAD_DIR)/%,$(NAD_TABLES))
  16. NT_DSTFILES := $(patsubst %,$(NAD_DIR)/%,$(NT_TABLES))
  17. CSV_DSTFILES := $(patsubst %,$(CSV_DIR)/%,$(CSV_FILES))
  18. NAD_SRCDIR = $(ETC)/proj/nad/src
  19. NAD_SRCFILES := $(patsubst %.lla,$(NAD_SRCDIR)/%.lla,$(NAD_TABLES))
  20. PROJ_TABLES := desc.table parms.table units.table
  21. PROJ_DSTFILES := $(patsubst %,$(PROJ_DIR)/%,$(PROJ_TABLES))
  22. default: lib $(FTOL_OBJ)
  23. $(MAKE) $(NAD_DSTFILES) $(CSV_DSTFILES) $(PROJ_DSTFILES) $(NAD_SRCFILES)
  24. ifdef MINGW
  25. $(FTOL_OBJ): $(OBJDIR)/ftol.o
  26. $(INSTALL) $< $@
  27. endif
  28. $(NAD_DSTFILES): $(NAD_DIR)/%: %.lla | $(NAD_DIR)
  29. $(NAD2BIN) < $< $@
  30. $(NT_DSTFILES): $(NAD_DIR)/%: % | $(NAD_DIR)
  31. $(INSTALL_DATA) $< $@
  32. $(CSV_DSTFILES): $(CSV_DIR)/%.csv: %.csv | $(CSV_DIR)
  33. $(INSTALL_DATA) $< $@
  34. $(NAD_SRCFILES): $(NAD_SRCDIR)/%.lla: %.lla | $(NAD_SRCDIR)
  35. $(INSTALL_DATA) $< $@
  36. $(PROJ_DSTFILES): $(PROJ_DIR)/%: % | $(PROJ_DIR)
  37. $(INSTALL_DATA) $< $@
  38. $(PROJ_DIR):
  39. $(MKDIR) $@
  40. $(NAD_DIR): | $(PROJ_DIR)
  41. $(MKDIR) $@
  42. $(CSV_DIR): | $(PROJ_DIR)
  43. $(MKDIR) $@
  44. $(NAD_SRCDIR): | $(PROJ_DIR)
  45. $(MKDIR) $@
  46. # Note for future improvement:
  47. # To allow for cross-compilation, the above NAD_TABLES files should be
  48. # created during installation rather than compilation
  49. #doxygen:
  50. DOXNAME=proj