Makefile 1.5 KB

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