Changeset 35275


Ignore:
Timestamp:
Jan 7, 2009, 11:29:30 AM (16 years ago)
Author:
glynn
Message:

Create a separate module for each library
Add more libraries

Location:
grass/trunk/swig/python
Files:
10 added
1 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • grass/trunk/swig/python/Makefile

    r33927 r35275  
    44include $(MODULE_TOPDIR)/include/Make/Doxygen.make
    55
    6 LIB_NAME = python_grass7
     6CFLAGS=-c -fpic -I. $(ARCH_INC) $(GDALCFLAGS) $(PYTHONCFLAGS)
     7LDFLAGS=-shared -L$(ARCH_LIBDIR) $(GDALLIBS) $(PYTHONLDFLAGS)
    78
    8 CFLAGS=-c -fpic -I. $(ARCH_INC) $(GDALCFLAGS) $(PYTHONCFLAGS)
    9 LDFLAGS=-shared -L$(ARCH_LIBDIR) $(GDALLIBS) $(PYTHONLDFLAGS) $(VECTLIB) $(IMAGERYLIB) $(GMATHLIB) $(GISLIB)
     9MODULES = grass math imagery vector proj raster display stats
    1010
     11vector_LIBS = $(VECTLIB)
     12imagery_LIBS = $(IMAGERYLIB)
     13grass_LIBS = $(GISLIB)
     14math_LIBS = $(GMATHLIB)
     15proj_LIBS = $(GPROJLIB)
     16raster_LIBS = $(RASTERLIB)
     17display_LIBS = $(DISPLAYLIB)
     18stats_LIBS = $(STATSLIB)
    1119
    12 EXTRA_CLEAN_FILES = $(LIB_NAME)_wrap.o _$(LIB_NAME).so $(LIB_NAME)_wrap.c $(LIB_NAME).pyc $(LIB_NAME).py
     20EXTRA_CLEAN_FILES := $(foreach M,$(MODULES),$(M)_wrap.o $(M)_wrap.c $(M).pyc $(M).py)
    1321CLEAN_SUBDIRS = NumPtr
    1422
    15 default: _$(LIB_NAME).so numptr
     23DSTDIR = $(ARCH_DISTDIR)/etc/python/swig
    1624
    17 %_wrap.c: %.i my_typemaps.i renames.i
     25LIBFILES := $(patsubst %,$(DSTDIR)/_%.so,$(MODULES))
     26PYFILES  := $(patsubst %,$(DSTDIR)/%.py,$(MODULES))
     27PYCFILES := $(patsubst %,$(DSTDIR)/%.pyc,$(MODULES))
     28
     29default: $(LIBFILES) $(PYFILES) $(DSTDIR)/__init__.pyc numptr
     30
     31%_wrap.c %.py: %.i my_typemaps.i renames.i common.i
    1832        $(SWIG) $(ARCH_INC) -python -shadow $<
    1933
    20 %_wrap.o: %_wrap.c
    21         $(CC) $(CFLAGS) $(INCLUDE_DIRS) $<
     34$(OBJDIR)/%_wrap.o: %_wrap.c
     35        test -d $(OBJDIR) || $(MKDIR) -p $(OBJDIR)
     36        $(CC) $(CFLAGS) $(INCLUDE_DIRS) -o $@ $<
    2237
    23 _%.so: %_wrap.o
    24         $(LD) $(LDFLAGS) $< -o $@
    25         # build bytecode .pyc file; ignore undefined symbol error
    26         echo "import $*" | python; true
     38$(DSTDIR)/_%.so: $(OBJDIR)/%_wrap.o
     39        test -d $(DSTDIR) || $(MKDIR) -p $(DSTDIR)
     40        $(SHLIB_LD) -o $@ $(LDFLAGS) $^ $($*_LIBS)
     41
     42$(DSTDIR)/%.py: %.py
     43        test -d $(DSTDIR) || $(MKDIR) -p $(DSTDIR)
     44        $(INSTALL_DATA) $< $@
     45
     46$(DSTDIR)/%.pyc: $(DSTDIR)/%.py $(DSTDIR)/_%.so
     47        cd $(DSTDIR) && echo "import $*" | python; true
     48
     49$(DSTDIR)/__init__.pyc: $(DSTDIR)/__init__.py $(LIBFILES) $(PYCFILES)
     50        cd $(DSTDIR) && echo "import __init__" | python; true
    2751
    2852numptr:
     
    3559DOXINPUT=grasspython.dox
    3660
    37 $(LIB_NAME)_wrap.c: $(ARCH_INCDIR)/gis.h
    38 $(LIB_NAME)_wrap.c: $(ARCH_INCDIR)/gisdefs.h
    39 $(LIB_NAME)_wrap.c: $(ARCH_INCDIR)/imagery.h
    40 $(LIB_NAME)_wrap.c: $(ARCH_INCDIR)/imagedefs.h
    41 $(LIB_NAME)_wrap.c: $(ARCH_INCDIR)/Vect.h
    42 $(LIB_NAME)_wrap.c: $(ARCH_INCDIR)/vect/dig_structs.h
    43 $(LIB_NAME)_wrap.c: $(ARCH_INCDIR)/vect/dig_defines.h
     61display_wrap.c: $(ARCH_INCDIR)/display.h
     62grass_wrap.c: $(ARCH_INCDIR)/gis.h
     63grass_wrap.c: $(ARCH_INCDIR)/gisdefs.h
     64imagery_wrap.c: $(ARCH_INCDIR)/imagedefs.h
     65imagery_wrap.c: $(ARCH_INCDIR)/imagery.h
     66math_wrap.c: $(ARCH_INCDIR)/gmath.h
     67proj_wrap.c: $(ARCH_INCDIR)/gprojects.h
     68raster_wrap.c: $(ARCH_INCDIR)/raster.h
     69stats_wrap.c: $(ARCH_INCDIR)/stats.h
     70vector_wrap.c: $(ARCH_INCDIR)/Vect.h
     71vector_wrap.c: $(ARCH_INCDIR)/vect/dig_defines.h
     72vector_wrap.c: $(ARCH_INCDIR)/vect/dig_structs.h
Note: See TracChangeset for help on using the changeset viewer.