Makefile 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. # Makefile for building Mac OS X app startup
  2. MODULE_TOPDIR = ../..
  3. include $(MODULE_TOPDIR)/include/Make/Vars.make
  4. MOD_OBJS =
  5. EXTRA_INC =
  6. EXTRA_CFLAGS =
  7. EXTRA_LDFLAGS = -framework Cocoa -framework AppleScriptKit
  8. ifndef MACOSX_APP_NAME
  9. MACOSX_APP_NAME = GRASS-${GRASS_VERSION_MAJOR}.${GRASS_VERSION_MINOR}.app
  10. endif
  11. APPDIR = $(ARCH_DISTDIR)/${MACOSX_APP_NAME}/Contents
  12. MAKE_DIR_CMD = mkdir -p -m 755
  13. GRASS_VERSION_BUILD = `/bin/date "+%y%m%d"`
  14. # ugly hack - assume gdal prefix starts with -L flag
  15. ifndef GDAL_BIN
  16. GDAL_BIN = `echo "${GDALLIBS}" | sed -e "s,-L,," -e "s,/lib.*$$,/bin:,"`
  17. endif
  18. # ugly hack - extract path to PROJ bin from nad2bin
  19. ifndef PROJ_BIN
  20. PROJ_BIN = `echo "${NAD2BIN}" | sed -e "s,.=,," -e "s,/nad2bin,:,"`
  21. endif
  22. # get python version - use python in path, should be config'd python
  23. PYVER = `python -V 2>&1 | cut -d \ -f 2 | cut -d . -f 1,2`
  24. ifneq ($(filter ppc64 x86_64,$(MACOSX_ARCHS_WXPYTHON)),)
  25. WX64BIT = 1
  26. else
  27. WX64BIT = 0
  28. endif
  29. FILES = \
  30. $(OBJDIR)/GRASS \
  31. $(OBJDIR)/Info.plist \
  32. $(OBJDIR)/GRASS.scpt \
  33. $(OBJDIR)/grass.sh
  34. default: $(FILES)
  35. $(OBJDIR)/main.o: main.m
  36. $(MAKE_DIR_CMD) $(OBJDIR)
  37. $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(EXTRA_INC) -o $@ -c $<
  38. $(OBJDIR)/GRASS: $(OBJDIR)/main.o
  39. $(MAKE_DIR_CMD) $(OBJDIR)
  40. $(CC) $(LDFLAGS) -o $@ $< $(EXTRA_LDFLAGS)
  41. $(OBJDIR)/Info.plist: Info.plist.in
  42. $(MAKE_DIR_CMD) $(OBJDIR)
  43. sed -e "s,@GRASS_VERSION_MAJOR@,$(GRASS_VERSION_MAJOR),g" \
  44. -e "s,@GRASS_VERSION_MINOR@,$(GRASS_VERSION_MINOR),g" \
  45. -e "s,@GRASS_VERSION_RELEASE@,$(GRASS_VERSION_RELEASE),g" \
  46. -e "s,@GRASS_VERSION_BUILD@,$(GRASS_VERSION_BUILD),g" \
  47. $< > $@
  48. $(OBJDIR)/GRASS.scpt: GRASS.applescript
  49. $(MAKE_DIR_CMD) $(OBJDIR)
  50. osacompile -d -x -i /System/Library/Frameworks/AppleScriptKit.framework -o $@ $<
  51. $(OBJDIR)/grass.sh: grass.sh.in
  52. $(MAKE_DIR_CMD) $(OBJDIR)
  53. sed -e "s,@GDAL_BIN_PATH@,$(GDAL_BIN)," \
  54. -e "s,@PROJ_BIN_PATH@,$(PROJ_BIN)," \
  55. -e "s,@X11@,$(USE_X11),g" \
  56. -e "s,@PYVER@,$(PYVER),g" \
  57. -e "s,@WX64BIT@,$(WX64BIT),g" \
  58. -e "s,@GRASS_NAME@,$(GRASS_NAME),g" \
  59. $< > $@
  60. clean:
  61. -rm -rf $(OBJDIR) $(EXTRA_CLEAN_DIRS) $(EXTRA_CLEAN_FILES)