Makefile 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. MODULE_TOPDIR = ../..
  2. include $(MODULE_TOPDIR)/include/Make/Other.make
  3. include $(MODULE_TOPDIR)/include/Make/Compile.make
  4. #for i18N support
  5. PACKAGE ="grasslibs"
  6. START_UP=grass
  7. EXTRA_CFLAGS = \
  8. -DD_LOCATION_NAME=\"$(DEFAULT_LOCATION)\" \
  9. -DD_GISDBASE=\"$(DEFAULT_DATABASE)\" \
  10. -DGRASS_VERSION_NUMBER=\"'$(GRASS_VERSION_NUMBER)'\" \
  11. -DGRASS_VERSION_UPDATE_PKG=\"'$(GRASS_VERSION_UPDATE_PKG)'\"
  12. LIBES = $(GISLIB) $(DATETIMELIB)
  13. FILES = \
  14. $(ARCH_BINDIR)/$(START_UP) \
  15. $(ARCH_DISTDIR)/$(START_UP).tmp \
  16. $(ETC)/clean_temp$(EXE) \
  17. $(ETC)/lock$(EXE) \
  18. $(ETC)/run$(EXE) \
  19. $(ETC)/echo$(EXE) \
  20. $(ETC)/license \
  21. $(ETC)/VERSIONNUMBER \
  22. $(HTMLDIR)/help_loc_struct.png \
  23. $(HTMLDIR)/circle_1.png \
  24. $(HTMLDIR)/circle_2.png \
  25. $(HTMLDIR)/circle_3.png \
  26. $(HTMLDIR)/circle_4.png \
  27. $(HTMLDIR)/circle_5.png \
  28. $(HTMLDIR)/grass_start.png
  29. ifeq ($(findstring darwin,$(ARCH)),darwin)
  30. FILES += \
  31. $(ETC)/html_browser_mac.sh
  32. endif
  33. ifneq ($(strip $(MINGW)),)
  34. FILES += \
  35. $(ARCH_BINDIR)/$(START_UP).py \
  36. $(ETC)/winlocale$(EXE)
  37. endif
  38. HTMLFILES := $(wildcard *.html)
  39. default: $(FILES) $(patsubst %,$(HTMLDIR)/%,$(HTMLFILES))
  40. ifneq ($(strip $(MINGW)),)
  41. $(ARCH_BINDIR)/$(START_UP): grass.sh
  42. @test -d $(ARCH_BINDIR) || (echo 'ARCH_BINDIR($(ARCH_BINDIR))' not found; exit 1)
  43. @test -w $(ARCH_BINDIR) || (echo 'ARCH_BINDIR($(ARCH_BINDIR))' not writable; exit 1)
  44. rm -f $@ ; true
  45. sed \
  46. -e 's#@BINDIR@#$(ARCH_BINDIR)#' \
  47. $< > $@
  48. chmod a+x $@
  49. endif
  50. ifneq ($(strip $(MINGW)),)
  51. $(ARCH_BINDIR)/$(START_UP).py: grass.py
  52. else
  53. $(ARCH_BINDIR)/$(START_UP): grass.py
  54. endif
  55. rm -f $@
  56. sed \
  57. -e 's#@GISBASE@#$(RUN_GISBASE)#' \
  58. -e 's#@GRASS_VERSION_NUMBER@#$(GRASS_VERSION_NUMBER)#' \
  59. -e 's#@GRASS_VERSION_GIT@#$(GRASS_VERSION_GIT)#' \
  60. -e 's#@LD_LIBRARY_PATH_VAR@#$(LD_LIBRARY_PATH_VAR)#' \
  61. -e 's#@START_UP@#$(START_UP)#' \
  62. -e 's#@CONFIG_PROJSHARE@#$(PROJSHARE)#' \
  63. $< > $@
  64. chmod +x $@
  65. $(ARCH_DISTDIR)/$(START_UP).tmp: grass.py
  66. rm -f $@
  67. sed \
  68. -e 's#@GRASS_VERSION_NUMBER@#$(GRASS_VERSION_NUMBER)#' \
  69. -e 's#@GRASS_VERSION_GIT@#$(GRASS_VERSION_GIT)#' \
  70. -e 's#@START_UP@#$(START_UP)#' \
  71. -e 's#@GRASS_CONFIG_DIR@#$(GRASS_CONFIG_DIR)#' \
  72. -e 's#@LD_LIBRARY_PATH_VAR@#$(LD_LIBRARY_PATH_VAR)#' \
  73. -e 's#@CONFIG_PROJSHARE@#$(PROJSHARE)#' \
  74. $< > $@
  75. $(ETC)/echo$(EXE) $(ETC)/run$(EXE): $(ETC)/%$(EXE): $(OBJDIR)/%.o
  76. $(call linker_base,$(LINK),$(LDFLAGS),$(MANIFEST_OBJ))
  77. $(ETC)/clean_temp$(EXE) $(ETC)/lock$(EXE): $(ETC)/%$(EXE): $(OBJDIR)/%.o
  78. $(call linker)
  79. $(ETC)/winlocale$(EXE): $(OBJDIR)/winlocale.o
  80. $(call linker_base,$(LINK),$(LDFLAGS) $(EXTRA_LDFLAGS),$(MANIFEST_OBJ) -lkernel32)
  81. $(ETC)/VERSIONNUMBER:
  82. rm -f $@
  83. @if [ -n "$(GRASS_VERSION_GIT)" ] ; then \
  84. echo "$(GRASS_VERSION_NUMBER) $(GRASS_VERSION_GIT)" > $@ ; \
  85. else \
  86. echo "$(GRASS_VERSION_NUMBER)" > $@ ; \
  87. fi
  88. chmod +r $@
  89. $(ETC)/license: $(ETC)/%: %.txt version.sed
  90. rm -f $@
  91. sh ./version.sed "$(GRASS_VERSION_NUMBER)" "$(GRASS_VERSION_DATE)" "$(GRASS_VERSION_UPDATE_PKG)" $< > $@
  92. chmod +r $@
  93. $(ETC)/%: %
  94. $(INSTALL) $< $@