Makefile 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. MODULE_TOPDIR = ../../..
  2. include $(MODULE_TOPDIR)/include/Make/Lib.make
  3. SHLIB_LD = $(CXX) -shared
  4. LIB_NAME = grass7_wxvdigit
  5. SOURCES := $(wildcard *.cpp) $(LIB_NAME)_wrap.cpp
  6. SHLIB_OBJS := $(patsubst %.cpp, $(OBJDIR)/%.o, $(SOURCES))
  7. EXTRA_CFLAGS = $(SHLIB_CFLAGS) $(GDALCFLAGS) $(PYTHONCFLAGS) $(WXWIDGETSCXXFLAGS)
  8. EXTRA_LIBS = $(VECTLIB) $(GISLIB) $(GDALLIBS) $(VEDITLIB)
  9. ifeq ($(findstring darwin,$(ARCH)),darwin)
  10. EXTRA_LIBS := -bundle -undefined dynamic_lookup $(EXTRA_LIBS)
  11. CXXFLAGS := $(subst -arch ppc64,,$(subst -arch x86_64,,$(CXXFLAGS)))
  12. LDFLAGS := $(subst -arch ppc64,,$(subst -arch x86_64,,$(LDFLAGS)))
  13. else
  14. EXTRA_LIBS := $(PYTHONLDFLAGS) $(WXWIDGETSLIB) $(EXTRA_LIBS)
  15. endif
  16. LOCAL_HEADERS = digit.h driver.h pseudodc.h
  17. ETCDIR = $(ETC)/wxpython
  18. SHLIB = $(OBJDIR)/_$(LIB_NAME).so
  19. EXTRA_CLEAN_FILES = $(SHLIB) $(LIB_NAME).i $(LIB_NAME).py $(LIB_NAME)_wrap.cpp
  20. ifneq ($(USE_WXWIDGETS),)
  21. ifneq ($(USE_PYTHON),)
  22. ifneq ($(strip $(CXX)),)
  23. default: install_vdigit
  24. endif
  25. endif
  26. endif
  27. $(LIB_NAME).i: digit.i dig_types.i pseudodc.i driver.h digit.h
  28. cat digit.i pseudodc.i dig_types.i > $(LIB_NAME).i
  29. echo "/* auto-generated swig typedef file */" >> $(LIB_NAME).i
  30. cat driver.h digit.h >> $(LIB_NAME).i
  31. $(LIB_NAME).py $(LIB_NAME)_wrap.cpp: $(LIB_NAME).i
  32. $(SWIG) -c++ -python -shadow -o $(LIB_NAME)_wrap.cpp $<
  33. .NOTPARALLEL: $(LIB_NAME).py $(LIB_NAME)_wrap.cpp
  34. $(SHLIB): $(SHLIB_OBJS)
  35. ifeq ($(findstring darwin,$(ARCH)),darwin)
  36. $(CXX) -o $@ $(LDFLAGS) $^ $(EXTRA_LIBS)
  37. else
  38. $(SHLIB_LD) -o $@ $(LDFLAGS) $^ $(EXTRA_LIBS)
  39. endif
  40. install_vdigit: $(ETCDIR)/vdigit/_$(LIB_NAME).so $(ETCDIR)/vdigit/$(LIB_NAME).py
  41. $(ETCDIR)/vdigit/_$(LIB_NAME).so: $(SHLIB)
  42. $(INSTALL) $< $@
  43. $(ETCDIR)/vdigit/$(LIB_NAME).py: $(LIB_NAME).py
  44. $(INSTALL_DATA) $< $@