Browse Source

Build system clean-up

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@37701 15284696-431f-4ddb-bdfa-cd5b030d7da7
Glynn Clements 16 years ago
parent
commit
1acdd0be01

+ 2 - 1
Makefile

@@ -34,6 +34,7 @@ GRASS_PDFDIR=		$(DOCSDIR)/pdf
 
 
 DIRS = \
+	tools \
 	lib \
 	db \
 	display \
@@ -50,7 +51,6 @@ DIRS = \
 	gui \
 	visualization \
 	locale \
-	tools \
 	man \
 	swig \
 	gem \
@@ -225,6 +225,7 @@ ifneq ($(strip $(MINGW)),)
 endif
 	-tar cBCf ${GISBASE} - . | tar xBCf ${INST_DIR} - 2>/dev/null
 	-sed 's#'${GISBASE}'#'${INST_DIR}'#g' ${GISBASE}/etc/fontcap > ${INST_DIR}/etc/fontcap
+	-${INSTALL} config.status ${INST_DIR}/config.status
 	-chmod -R a+rX ${INST_DIR} 2>/dev/null
 	@#GEM installation
 	-tar cBf - gem/skeleton | tar xBCf ${INST_DIR}/etc - 2>/dev/null

+ 1 - 1
db/drivers/dbf/dbdriver.h

@@ -2,7 +2,7 @@
 #ifndef DBDRIVER_H
 #define	DBDRIVER_H
 
-#include "dbstubs.h"
+#include <grass/dbstubs.h>
 
 int db__driver_create_table();
 int db__driver_close_cursor();

+ 1 - 1
db/drivers/mysql/dbdriver.h

@@ -2,7 +2,7 @@
 #ifndef DBDRIVER_H
 #define	DBDRIVER_H
 
-#include "dbstubs.h"
+#include <grass/dbstubs.h>
 
 int db__driver_create_table();
 int db__driver_close_cursor();

+ 1 - 1
db/drivers/odbc/dbdriver.h

@@ -2,7 +2,7 @@
 #ifndef DBDRIVER_H
 #define	DBDRIVER_H
 
-#include "dbstubs.h"
+#include <grass/dbstubs.h>
 
 int db__driver_create_table();
 int db__driver_close_cursor();

+ 1 - 1
db/drivers/ogr/dbdriver.h

@@ -2,7 +2,7 @@
 #ifndef DBDRIVER_H
 #define	DBDRIVER_H
 
-#include "dbstubs.h"
+#include <grass/dbstubs.h>
 
 int db__driver_close_cursor();
 int db__driver_open_database();

+ 1 - 1
db/drivers/postgres/dbdriver.h

@@ -2,7 +2,7 @@
 #ifndef DBDRIVER_H
 #define	DBDRIVER_H
 
-#include "dbstubs.h"
+#include <grass/dbstubs.h>
 
 int db__driver_create_table();
 int db__driver_close_cursor();

+ 1 - 1
db/drivers/sqlite/dbdriver.h

@@ -2,7 +2,7 @@
 #ifndef DBDRIVER_H
 #define	DBDRIVER_H
 
-#include "dbstubs.h"
+#include <grass/dbstubs.h>
 
 int db__driver_create_table();
 int db__driver_close_cursor();

+ 2 - 2
general/g.mkfontcap/Makefile

@@ -14,5 +14,5 @@ default: cmd $(CAPFILE)
 
 $(CAPFILE): $(BIN)/$(PGM)$(EXE)
 	GISRC=junk GISBASE=$(RUN_GISBASE) \
-	$(LD_LIBRARY_PATH_VAR)="$(ARCH_LIBDIR):$($(LD_LIBRARY_PATH_VAR))" \
-	$< ; true
+	$(LD_LIBRARY_PATH_VAR)="$(ARCH_LIBDIR):$(BASE_LIBDIR):$($(LD_LIBRARY_PATH_VAR))" \
+	$< -s > $@

+ 1 - 1
general/g.version/Makefile

@@ -19,5 +19,5 @@ default: cmd $(GRASS_VERSION_FILE) $(GRASS_BUILD_FILE)
 $(GRASS_VERSION_FILE): $(MODULE_TOPDIR)/COPYING
 	cat $< | sed -f sed.script | tr -d '\012' > $@
 
-$(GRASS_BUILD_FILE): $(MODULE_TOPDIR)/config.status
+$(GRASS_BUILD_FILE): ../../config.status
 	head -n 7 $< | tail -n 1 | sed 's+#++1' | tr -d '\012' > $@

+ 2 - 2
gui/wxpython/build_ext.py

@@ -49,9 +49,9 @@ def update_opts(flag, macros, inc_dirs, lib_dirs, libs, extras):
             fw_next = True
 
 try:
-    Platform_make = open(os.path.join('..', '..', '..',
+    Platform_make = open(os.path.join(os.path.normpath(os.getenv('MODULE_TOPDIR')),
                                       'include', 'Make', 'Platform.make'))
-    Grass_make = open(os.path.join('..', '..', '..',
+    Grass_make = open(os.path.join(os.path.normpath(os.getenv('MODULE_TOPDIR')),
                                    'include', 'Make', 'Grass.make'))
 except IOError, e:
     print 'Unable to compile wxGUI vdigit extension.\n\n', e

+ 1 - 0
gui/wxpython/nviz/Makefile

@@ -35,6 +35,7 @@ $(LIB_NAME).i: nviz.i nviz_types.i nviz.h
 $(LIB_NAME).py: $(SHLIB)
 
 $(SHLIB): $(LIB_NAME).i
+	ARCH_DISTDIR=$(ARCH_DISTDIR) GISBASE=$(GISBASE) \
 	python setup.py build_ext --swig=$(SWIG) --swig-opts=-c++ --build-lib=$(OBJDIR) --build-temp=$(OBJDIR)
 
 .NOTPARALLEL: $(LIB_NAME).py $(LIB_NAME)_wrap.cpp

+ 4 - 6
gui/wxpython/nviz/setup.py

@@ -12,12 +12,10 @@ from build_ext import update_opts
 from distutils.core import setup, Extension
 
 macros = [('PACKAGE', '"grasslibs"')]
-inc_dirs = [os.path.join(variables['GRASS_HOME'],
-                         'dist.' + variables['ARCH'],
-                         'include')]
-lib_dirs = [os.path.join(variables['GRASS_HOME'],
-                         'dist.' + variables['ARCH'],
-                         'lib')]
+inc_dirs = [os.path.join(os.path.normpath(os.environ['ARCH_DISTDIR']), 'include'),
+	    os.path.join(os.path.normpath(os.environ['GISBASE']), 'include')]
+lib_dirs = [os.path.join(os.path.normpath(os.environ['ARCH_DISTDIR']), 'lib'),
+	    os.path.join(os.path.normpath(os.environ['GISBASE']), 'lib')]
 libs = ['grass_gis',
         'grass_nviz',
         'grass_ogsf',

+ 1 - 0
gui/wxpython/vdigit/Makefile

@@ -33,6 +33,7 @@ $(LIB_NAME).i: digit.i dig_types.i pseudodc.i driver.h digit.h
 $(LIB_NAME).py: $(SHLIB)
 
 $(SHLIB): $(LIB_NAME).i
+	ARCH_DISTDIR=$(ARCH_DISTDIR) GISBASE=$(GISBASE) \
 	python setup.py build_ext --swig=$(SWIG) --swig-opts=-c++ --build-lib=$(OBJDIR) --build-temp=$(OBJDIR)
 
 .NOTPARALLEL: $(LIB_NAME).py $(LIB_NAME)_wrap.cpp

+ 4 - 7
gui/wxpython/vdigit/setup.py

@@ -6,18 +6,15 @@ import os
 import sys
 
 sys.path.append('..')
-from build_ext import variables
 from build_ext import update_opts
 
 from distutils.core import setup, Extension
 
 macros = [('PACKAGE', '"grasslibs"')]
-inc_dirs = [os.path.join(variables['GRASS_HOME'],
-                         'dist.' + variables['ARCH'],
-                         'include')]
-lib_dirs = [os.path.join(variables['GRASS_HOME'],
-                         'dist.' + variables['ARCH'],
-                         'lib')]
+inc_dirs = [os.path.join(os.path.normpath(os.environ['ARCH_DISTDIR']), 'include'),
+	    os.path.join(os.path.normpath(os.environ['GISBASE']), 'include')]
+lib_dirs = [os.path.join(os.path.normpath(os.environ['ARCH_DISTDIR']), 'lib'),
+	    os.path.join(os.path.normpath(os.environ['GISBASE']), 'lib')]
 libs = ['grass_dbmibase',
         'grass_dbmiclient',
         'grass_vect',

+ 0 - 2
include/Make/DB.make

@@ -8,8 +8,6 @@ include $(MODULE_TOPDIR)/include/Make/Rules.make
 include $(MODULE_TOPDIR)/include/Make/Html.make
 include $(MODULE_TOPDIR)/include/Make/Compile.make
 
-EXTRA_INC += -I$(MODULE_TOPDIR)/lib/db/dbmi_driver
-
 dbmi: $(DBDRIVERDIR)/$(PGM)$(EXE) db_html
 
 db_html: $(HTMLDIR)/grass-$(PGM).html $(MANDIR)/grass-$(PGM).$(MANSECT)

+ 72 - 70
include/Make/Grass.make

@@ -38,8 +38,9 @@ VECT_INC        =
 
 # libraries
 ARCH_LIBDIR     = $(ARCH_DISTDIR)/lib
+BASE_LIBDIR     = $(GISBASE)/lib
 
-LIBPATH		= -L$(ARCH_LIBDIR) -L$(GISBASE)/lib
+LIBPATH		= -L$(ARCH_LIBDIR) -L$(BASE_LIBDIR)
 
 # object dir
 OBJDIR		= OBJ.$(ARCH)
@@ -62,6 +63,7 @@ HTMLDIR         = $(ARCH_DISTDIR)/docs/html
 SCRIPTDIR       = $(ARCH_DISTDIR)/scripts
 MSG_DIR         = $(ARCH_DISTDIR)/etc/msgs
 MO_DIR          = $(ARCH_DISTDIR)/locale
+TOOLSDIR	= $(ARCH_DISTDIR)/tools
 
 FONTDIR         = $(ARCH_DISTDIR)/fonts
 
@@ -83,7 +85,7 @@ VECT_CFLAGS =  $(GDALCFLAGS) $(GEOSCFLAGS)
 
 # Object with _fmode which must be linked to each executable on Windows
 ifdef MINGW
-  FMODE_OBJ = $(MODULE_TOPDIR)/lib/gis/$(OBJDIR)/fmode.o
+FMODE_OBJ = $(BASE_LIBDIR)/fmode.o
 endif
 
 # lexical analyzer and default options
@@ -95,7 +97,7 @@ YFLAGS      = -d -v
 MANSECT = 1
 MANBASEDIR = $(ARCH_DISTDIR)/man
 MANDIR = $(MANBASEDIR)/man$(MANSECT)
-HTML2MAN = VERSION_NUMBER=$(GRASS_VERSION_NUMBER) $(GRASS_HOME)/tools/g.html2man/g.html2man.py
+HTML2MAN = VERSION_NUMBER=$(GRASS_VERSION_NUMBER) $(GISBASE)/tools/g.html2man.py
 
 ##################### library names #####################################
 
@@ -292,96 +294,96 @@ LRSLIB        = -l$(LRS_LIBNAME) $(DBMIBASELIB) $(DBMICLIENTLIB) $(GISLIB)
 ##################### library dependencies ##############################
 
 # These always static
-ISMAPDEP    = $(ARCH_LIBDIR)/$(STLIB_PREFIX)$(ISMAP_LIBNAME)$(STLIB_SUFFIX)
-MANAGEDEP   = $(ARCH_LIBDIR)/$(STLIB_PREFIX)$(MANAGE_LIBNAME)$(STLIB_SUFFIX)
-IOSTREAMDEP = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(IOSTREAM_LIBNAME)$(STLIB_SUFFIX)
-
-ARRAYSTATSDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(ARRAYSTATS_LIBNAME)$(LIB_SUFFIX)
-BITMAPDEP   = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(BITMAP_LIBNAME)$(LIB_SUFFIX)
-BTREEDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(BTREE_LIBNAME)$(LIB_SUFFIX)
-COORCNVDEP  = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(COORCNV_LIBNAME)$(LIB_SUFFIX)
-CLUSTERDEP  = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(CLUSTER_LIBNAME)$(LIB_SUFFIX)
-DATETIMEDEP = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(DATETIME_LIBNAME)$(LIB_SUFFIX)
-DBDIALOGDEP = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(DBDIALOG_LIBNAME)$(LIB_SUFFIX)
-DISPLAYDEP  = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(DISPLAY_LIBNAME)$(LIB_SUFFIX)
-DLGDEP      = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(DLG_LIBNAME)$(LIB_SUFFIX)
-DRIVERDEP   = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(DRIVER_LIBNAME)$(LIB_SUFFIX)
-PNGDRIVERDEP= $(ARCH_LIBDIR)/$(LIB_PREFIX)$(PNGDRIVER_LIBNAME)$(LIB_SUFFIX)
-PSDRIVERDEP = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(PSDRIVER_LIBNAME)$(LIB_SUFFIX)
-CAIRODRIVERDEP = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(CAIRODRIVER_LIBNAME)$(LIB_SUFFIX)
-HTMLDRIVERDEP = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(HTMLDRIVER_LIBNAME)$(LIB_SUFFIX)
-DSPFDEP     = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(DSPF_LIBNAME)$(LIB_SUFFIX)
-G3DDEP      = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(G3D_LIBNAME)$(LIB_SUFFIX)
-GISDEP      = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(GIS_LIBNAME)$(LIB_SUFFIX)
-GMATHDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(GMATH_LIBNAME)$(LIB_SUFFIX)
-GPDEDEP     = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(GPDE_LIBNAME)$(LIB_SUFFIX)
-GPROJDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(GPROJ_LIBNAME)$(LIB_SUFFIX)
-IBTREEDEP   = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(IBTREE_LIBNAME)$(LIB_SUFFIX)
-ICONDEP     = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(ICON_LIBNAME)$(LIB_SUFFIX)
-IMAGERYDEP  = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(IMAGERY_LIBNAME)$(LIB_SUFFIX)
-IORTHODEP   = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(IORTHO_LIBNAME)$(LIB_SUFFIX)
-LINKMDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(LINKM_LIBNAME)$(LIB_SUFFIX)
-LOCKDEP     = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(LOCK_LIBNAME)$(LIB_SUFFIX)
-RASTERDEP   = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(RASTER_LIBNAME)$(LIB_SUFFIX)
-ROWIODEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(ROWIO_LIBNAME)$(LIB_SUFFIX)
-SEGMENTDEP  = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(SEGMENT_LIBNAME)$(LIB_SUFFIX)
-STATSDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(STATS_LIBNAME)$(LIB_SUFFIX)
-XGDDEP	    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(XGD_LIBNAME)$(LIB_SUFFIX)
-XGIDEP	    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(XGI_LIBNAME)$(LIB_SUFFIX)
-XPMDEP	    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(XPM_LIBNAME)$(LIB_SUFFIX)
+ISMAPDEP    = $(BASE_LIBDIR)/$(STLIB_PREFIX)$(ISMAP_LIBNAME)$(STLIB_SUFFIX)
+MANAGEDEP   = $(BASE_LIBDIR)/$(STLIB_PREFIX)$(MANAGE_LIBNAME)$(STLIB_SUFFIX)
+IOSTREAMDEP = $(BASE_LIBDIR)/$(LIB_PREFIX)$(IOSTREAM_LIBNAME)$(STLIB_SUFFIX)
+
+ARRAYSTATSDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(ARRAYSTATS_LIBNAME)$(LIB_SUFFIX)
+BITMAPDEP   = $(BASE_LIBDIR)/$(LIB_PREFIX)$(BITMAP_LIBNAME)$(LIB_SUFFIX)
+BTREEDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(BTREE_LIBNAME)$(LIB_SUFFIX)
+COORCNVDEP  = $(BASE_LIBDIR)/$(LIB_PREFIX)$(COORCNV_LIBNAME)$(LIB_SUFFIX)
+CLUSTERDEP  = $(BASE_LIBDIR)/$(LIB_PREFIX)$(CLUSTER_LIBNAME)$(LIB_SUFFIX)
+DATETIMEDEP = $(BASE_LIBDIR)/$(LIB_PREFIX)$(DATETIME_LIBNAME)$(LIB_SUFFIX)
+DBDIALOGDEP = $(BASE_LIBDIR)/$(LIB_PREFIX)$(DBDIALOG_LIBNAME)$(LIB_SUFFIX)
+DISPLAYDEP  = $(BASE_LIBDIR)/$(LIB_PREFIX)$(DISPLAY_LIBNAME)$(LIB_SUFFIX)
+DLGDEP      = $(BASE_LIBDIR)/$(LIB_PREFIX)$(DLG_LIBNAME)$(LIB_SUFFIX)
+DRIVERDEP   = $(BASE_LIBDIR)/$(LIB_PREFIX)$(DRIVER_LIBNAME)$(LIB_SUFFIX)
+PNGDRIVERDEP= $(BASE_LIBDIR)/$(LIB_PREFIX)$(PNGDRIVER_LIBNAME)$(LIB_SUFFIX)
+PSDRIVERDEP = $(BASE_LIBDIR)/$(LIB_PREFIX)$(PSDRIVER_LIBNAME)$(LIB_SUFFIX)
+CAIRODRIVERDEP = $(BASE_LIBDIR)/$(LIB_PREFIX)$(CAIRODRIVER_LIBNAME)$(LIB_SUFFIX)
+HTMLDRIVERDEP = $(BASE_LIBDIR)/$(LIB_PREFIX)$(HTMLDRIVER_LIBNAME)$(LIB_SUFFIX)
+DSPFDEP     = $(BASE_LIBDIR)/$(LIB_PREFIX)$(DSPF_LIBNAME)$(LIB_SUFFIX)
+G3DDEP      = $(BASE_LIBDIR)/$(LIB_PREFIX)$(G3D_LIBNAME)$(LIB_SUFFIX)
+GISDEP      = $(BASE_LIBDIR)/$(LIB_PREFIX)$(GIS_LIBNAME)$(LIB_SUFFIX)
+GMATHDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(GMATH_LIBNAME)$(LIB_SUFFIX)
+GPDEDEP     = $(BASE_LIBDIR)/$(LIB_PREFIX)$(GPDE_LIBNAME)$(LIB_SUFFIX)
+GPROJDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(GPROJ_LIBNAME)$(LIB_SUFFIX)
+IBTREEDEP   = $(BASE_LIBDIR)/$(LIB_PREFIX)$(IBTREE_LIBNAME)$(LIB_SUFFIX)
+ICONDEP     = $(BASE_LIBDIR)/$(LIB_PREFIX)$(ICON_LIBNAME)$(LIB_SUFFIX)
+IMAGERYDEP  = $(BASE_LIBDIR)/$(LIB_PREFIX)$(IMAGERY_LIBNAME)$(LIB_SUFFIX)
+IORTHODEP   = $(BASE_LIBDIR)/$(LIB_PREFIX)$(IORTHO_LIBNAME)$(LIB_SUFFIX)
+LINKMDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(LINKM_LIBNAME)$(LIB_SUFFIX)
+LOCKDEP     = $(BASE_LIBDIR)/$(LIB_PREFIX)$(LOCK_LIBNAME)$(LIB_SUFFIX)
+RASTERDEP   = $(BASE_LIBDIR)/$(LIB_PREFIX)$(RASTER_LIBNAME)$(LIB_SUFFIX)
+ROWIODEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(ROWIO_LIBNAME)$(LIB_SUFFIX)
+SEGMENTDEP  = $(BASE_LIBDIR)/$(LIB_PREFIX)$(SEGMENT_LIBNAME)$(LIB_SUFFIX)
+STATSDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(STATS_LIBNAME)$(LIB_SUFFIX)
+XGDDEP	    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(XGD_LIBNAME)$(LIB_SUFFIX)
+XGIDEP	    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(XGI_LIBNAME)$(LIB_SUFFIX)
+XPMDEP	    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(XPM_LIBNAME)$(LIB_SUFFIX)
 
 # DBMI
-DBMIBASEDEP     = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(DBMIBASE_LIBNAME)$(LIB_SUFFIX)
-DBMICLIENTDEP   = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(DBMICLIENT_LIBNAME)$(LIB_SUFFIX)
-DBMIDRIVERDEP   = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(DBMIDRIVER_LIBNAME)$(LIB_SUFFIX)
+DBMIBASEDEP     = $(BASE_LIBDIR)/$(LIB_PREFIX)$(DBMIBASE_LIBNAME)$(LIB_SUFFIX)
+DBMICLIENTDEP   = $(BASE_LIBDIR)/$(LIB_PREFIX)$(DBMICLIENT_LIBNAME)$(LIB_SUFFIX)
+DBMIDRIVERDEP   = $(BASE_LIBDIR)/$(LIB_PREFIX)$(DBMIDRIVER_LIBNAME)$(LIB_SUFFIX)
 DBMIDEP         = $(DBMICLIENTDEP) $(DBMIBASEDEP)
-SQLPDEP     = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(SQLP_LIBNAME)$(LIB_SUFFIX)
-DBSTUBSDEP  = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(DBSTUBS_LIBNAME)$(LIB_SUFFIX)
+SQLPDEP     = $(BASE_LIBDIR)/$(LIB_PREFIX)$(SQLP_LIBNAME)$(LIB_SUFFIX)
+DBSTUBSDEP  = $(BASE_LIBDIR)/$(LIB_PREFIX)$(DBSTUBS_LIBNAME)$(LIB_SUFFIX)
 
 # Vector
-DIGDEP      = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(DIG_LIBNAME)$(LIB_SUFFIX)
-DIG2DEP     = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(DIG2_LIBNAME)$(LIB_SUFFIX)
-VECTRDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(VECTR_LIBNAME)$(LIB_SUFFIX)
-TRANSDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(TRANS_LIBNAME)$(LIB_SUFFIX)
-SHAPEDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(SHAPE_LIBNAME)$(LIB_SUFFIX)
-GRAPHDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(GRAPH_LIBNAME)$(LIB_SUFFIX)
-RTREEDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(RTREE_LIBNAME)$(LIB_SUFFIX)
-VEDITDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(VEDIT_LIBNAME)$(LIB_SUFFIX)
+DIGDEP      = $(BASE_LIBDIR)/$(LIB_PREFIX)$(DIG_LIBNAME)$(LIB_SUFFIX)
+DIG2DEP     = $(BASE_LIBDIR)/$(LIB_PREFIX)$(DIG2_LIBNAME)$(LIB_SUFFIX)
+VECTRDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(VECTR_LIBNAME)$(LIB_SUFFIX)
+TRANSDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(TRANS_LIBNAME)$(LIB_SUFFIX)
+SHAPEDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(SHAPE_LIBNAME)$(LIB_SUFFIX)
+GRAPHDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(GRAPH_LIBNAME)$(LIB_SUFFIX)
+RTREEDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(RTREE_LIBNAME)$(LIB_SUFFIX)
+VEDITDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(VEDIT_LIBNAME)$(LIB_SUFFIX)
 VECTDEP     = $(VECTRDEP) $(DIG2DEP) $(GRAPHDEP) $(RTREEDEP) $(LINKMDEP) $(DBMIDEP)
 
 # Interpolation
-INTERPDATADEP = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(INTERPDATA_LIBNAME)$(LIB_SUFFIX)
-INTERPFLDEP   = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(INTERPFL_LIBNAME)$(LIB_SUFFIX)
-QTREEDEP      = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(QTREE_LIBNAME)$(LIB_SUFFIX)
+INTERPDATADEP = $(BASE_LIBDIR)/$(LIB_PREFIX)$(INTERPDATA_LIBNAME)$(LIB_SUFFIX)
+INTERPFLDEP   = $(BASE_LIBDIR)/$(LIB_PREFIX)$(INTERPFL_LIBNAME)$(LIB_SUFFIX)
+QTREEDEP      = $(BASE_LIBDIR)/$(LIB_PREFIX)$(QTREE_LIBNAME)$(LIB_SUFFIX)
 
 # NVIZ related
-OGSFDEP      = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(OGSF_LIBNAME)$(LIB_SUFFIX)
-NVIZDEP      = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(NVIZ_LIBNAME)$(LIB_SUFFIX)
+OGSFDEP      = $(BASE_LIBDIR)/$(LIB_PREFIX)$(OGSF_LIBNAME)$(LIB_SUFFIX)
+NVIZDEP      = $(BASE_LIBDIR)/$(LIB_PREFIX)$(NVIZ_LIBNAME)$(LIB_SUFFIX)
 
 # triangulation libraries
-SOSDEP      = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(SOS_LIBNAME)$(LIB_SUFFIX)
-LIADEP      = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(LIA_LIBNAME)$(LIB_SUFFIX)
-OPTRIDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(OPTRI_LIBNAME)$(LIB_SUFFIX)
-BASICDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(BASIC_LIBNAME)$(LIB_SUFFIX)
+SOSDEP      = $(BASE_LIBDIR)/$(LIB_PREFIX)$(SOS_LIBNAME)$(LIB_SUFFIX)
+LIADEP      = $(BASE_LIBDIR)/$(LIB_PREFIX)$(LIA_LIBNAME)$(LIB_SUFFIX)
+OPTRIDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(OPTRI_LIBNAME)$(LIB_SUFFIX)
+BASICDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(BASIC_LIBNAME)$(LIB_SUFFIX)
 GEOMDEP     = $(OPTRIDEP) $(SOSDEP) $(LIADEP) $(BASICDEP)
 
 # misc
-XDISPLAYDEP = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(XDISPLAY_LIBNAME)$(LIB_SUFFIX)
-FORMDEP     = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(FORM_LIBNAME)$(LIB_SUFFIX)
-SYMBDEP     = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(SYMB_LIBNAME)$(LIB_SUFFIX)
+XDISPLAYDEP = $(BASE_LIBDIR)/$(LIB_PREFIX)$(XDISPLAY_LIBNAME)$(LIB_SUFFIX)
+FORMDEP     = $(BASE_LIBDIR)/$(LIB_PREFIX)$(FORM_LIBNAME)$(LIB_SUFFIX)
+SYMBDEP     = $(BASE_LIBDIR)/$(LIB_PREFIX)$(SYMB_LIBNAME)$(LIB_SUFFIX)
 
 # Normality
-CDHCDEP     = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(CDHC_LIBNAME)$(LIB_SUFFIX)
+CDHCDEP     = $(BASE_LIBDIR)/$(LIB_PREFIX)$(CDHC_LIBNAME)$(LIB_SUFFIX)
 
 # Lidar
-LIDARDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(LIDAR_LIBNAME)$(LIB_SUFFIX)
+LIDARDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(LIDAR_LIBNAME)$(LIB_SUFFIX)
 
 # Raster/SIMWE
-SIMDEP      = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(SIM_LIBNAME)$(LIB_SUFFIX)
+SIMDEP      = $(BASE_LIBDIR)/$(LIB_PREFIX)$(SIM_LIBNAME)$(LIB_SUFFIX)
 
 # Sites (legacy)
-SITESDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(SITES_LIBNAME)$(LIB_SUFFIX)
+SITESDEP    = $(BASE_LIBDIR)/$(LIB_PREFIX)$(SITES_LIBNAME)$(LIB_SUFFIX)
 
 # LRS
-LRSDEP      = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(LRS_LIBNAME)$(LIB_SUFFIX)
+LRSDEP      = $(BASE_LIBDIR)/$(LIB_PREFIX)$(LRS_LIBNAME)$(LIB_SUFFIX)
 

+ 4 - 4
include/Make/Html.make

@@ -10,21 +10,21 @@ else
 htmldesc = \
 	GISRC=$(RUN_GISRC) \
 	GISBASE=$(RUN_GISBASE) \
-	PATH="$(BIN):$$PATH" \
+	PATH="$(GISBASE)/bin:$$PATH" \
 	PYTHONPATH="$(call mkpath,$(GISBASE)/etc/python,$$PYTHONPATH)" \
-	$(LD_LIBRARY_PATH_VAR)="$(BIN):$(ARCH_LIBDIR):$($(LD_LIBRARY_PATH_VAR))" \
+	$(LD_LIBRARY_PATH_VAR)="$(BIN):$(ARCH_LIBDIR):$(BASE_LIBDIR):$($(LD_LIBRARY_PATH_VAR))" \
 	LC_ALL=C \
 	$(1) --html-description < /dev/null | grep -v '</body>\|</html>' > $(2)
 
 ifneq ($(MINGW),)
-mkpath = $(shell PATH="$(BIN):$(ARCH_LIBDIR):$$PATH" GISRC=$(RUN_GISRC) $(BIN)/g.dirseps$(EXE) -h $(1));$(2)
+mkpath = $(shell PATH="$(GISBASE)/bin:$(ARCH_LIBDIR):$$PATH" GISRC=$(RUN_GISRC) $(BIN)/g.dirseps$(EXE) -h $(1));$(2)
 else
 mkpath = $(1):$(2)
 endif
 
 $(HTMLDIR)/%.html: %.html %.tmp.html $(HTMLSRC)
 	-test -d $(HTMLDIR) || $(MKDIR) $(HTMLDIR)
-	$(MODULE_TOPDIR)/tools/mkhtml.sh $* > $@
+	$(GISBASE)/tools/mkhtml.sh $* > $@
 	-for file in  *.png *.jpg ; do \
 		head -n 1 $$file | grep '^\#!' > /dev/null ; \
 		if [ $$? -ne 0 ] ; then \

+ 1 - 1
include/Make/Rules.make

@@ -6,7 +6,7 @@ first: pre default
 ARCH_DIRS = $(ARCH_DISTDIR) $(ARCH_BINDIR) $(ARCH_INCDIR) $(ARCH_LIBDIR) \
 	$(BIN) $(ETC) \
 	$(DRIVERDIR) $(DBDRIVERDIR) $(FONTDIR) $(DOCSDIR) $(HTMLDIR) \
-	$(MANBASEDIR) $(MANDIR)
+	$(MANBASEDIR) $(MANDIR) $(TOOLSDIR)
 
 pre: $(ARCH_DIRS)
 

+ 1 - 4
include/Make/ScriptRules.make

@@ -1,7 +1,7 @@
 
 # common dependencies and rules for building scripts
 
-STRINGDIR = $(MODULE_TOPDIR)/locale/scriptstrings
+STRINGDIR = $(GRASS_HOME)/locale/scriptstrings
 
 $(SCRIPTDIR)/%: %.py
 	if [ ! -d $(SCRIPTDIR) ]; then $(MKDIR) $(SCRIPTDIR); fi
@@ -11,9 +11,6 @@ $(SCRIPTDIR)/%: %
 	if [ ! -d $(SCRIPTDIR) ]; then $(MKDIR) $(SCRIPTDIR); fi
 	$(INSTALL) $< $@
 
-$(BIN)/%.bat: $(MODULE_TOPDIR)/scripts/windows_launch.bat
-	sed -e "s#SCRIPT_NAME#$*#" $(MODULE_TOPDIR)/scripts/windows_launch.bat > $@
-
 # Make strings in a fake .c file so that they get picked up by the internationalizer stuff.
 # These are only the options (parser.c) type things.
 # See locale/scriptstrings/README for more information

+ 1 - 4
lib/db/dbmi_driver/Makefile

@@ -7,8 +7,5 @@ LIB_NAME = $(DBMIDRIVER_LIBNAME)
 
 include $(MODULE_TOPDIR)/include/Make/Lib.make
 
-default: lib
-
-
-
+default: lib $(ARCH_INCDIR)/dbstubs.h
 

+ 8 - 4
lib/gis/Makefile

@@ -8,6 +8,10 @@ EXTRA_LIBS = $(XDRLIB) $(SOCKLIB) $(DATETIMELIB) $(PTHREADLIBPATH) $(PTHREADLIB)
 DATASRC = ellipse.table datum.table datumtransform.table FIPS.code state27 state83 projections
 EXTRA_INC = $(ZLIBINCPATH) $(PTHREADINCPATH)
 
+include $(MODULE_TOPDIR)/include/Make/Vars.make
+
+MOD_OBJS := $(filter-out fmode.o,$(AUTO_OBJS))
+
 include $(MODULE_TOPDIR)/include/Make/Lib.make
 include $(MODULE_TOPDIR)/include/Make/Doxygen.make
 
@@ -39,10 +43,10 @@ endif
 
 default: lib $(FMODE_OBJ) $(DATAFILES) $(COLORFILES) $(ETC)/colors.desc $(ETC)/element_list
 
-$(FMODE_OBJ): fmode.dat
-	@test -d $(OBJDIR) || mkdir $(OBJDIR)
-	cat fmode.dat > $(OBJDIR)/fmode.c
-	$(CC) $(CFLAGS) $(INC) -o $(FMODE_OBJ) -c $(OBJDIR)/fmode.c
+ifdef MINGW
+$(FMODE_OBJ): $(OBJDIR)/fmode.o
+	$(INSTALL) $< $@
+endif
 
 $(ETC)/colors:
 	$(MKDIR) $@

lib/gis/fmode.dat → lib/gis/fmode.c


+ 1 - 1
raster3d/r3.mkdspf/Makefile

@@ -4,7 +4,7 @@ PGM=r3.mkdspf
 
 include $(MODULE_TOPDIR)/include/Make/Module.make
 
-LDIR = $(MODULE_TOPDIR)/lib/dspf
+LDIR = ../../lib/dspf
 EXTRA_CFLAGS    =       -I$(LDIR)
 # -I$(INCLUDE_DIR)
 

+ 21 - 21
swig/python/Makefile

@@ -83,25 +83,25 @@ numptr:
 
 .SECONDARY: $(patsubst %,_%.so,$(MODULES))
 
-date_wrap.c: $(ARCH_INCDIR)/datetime.h
-date_wrap.c: $(ARCH_INCDIR)/P_datetime.h
-grass_wrap.c: $(ARCH_INCDIR)/gis.h
-grass_wrap.c: $(ARCH_INCDIR)/gisdefs.h
-math_wrap.c: $(ARCH_INCDIR)/gmath.h
-proj_wrap.c: $(ARCH_INCDIR)/gprojects.h
-imagery_wrap.c: $(ARCH_INCDIR)/imagedefs.h
-imagery_wrap.c: $(ARCH_INCDIR)/imagery.h
-vector_wrap.c: $(ARCH_INCDIR)/Vect.h
-vector_wrap.c: $(ARCH_INCDIR)/vect/dig_defines.h
-vector_wrap.c: $(ARCH_INCDIR)/vect/dig_structs.h
-raster_wrap.c: $(ARCH_INCDIR)/raster.h
-display_wrap.c: $(ARCH_INCDIR)/display.h
-stats_wrap.c: $(ARCH_INCDIR)/stats.h
-dbmi_wrap.c: $(ARCH_INCDIR)/dbmi.h
-dbmi_wrap.c: $(ARCH_INCDIR)/proto_dbmi.h
-g3d_wrap.c: $(ARCH_INCDIR)/G3d.h
-arraystats_wrap.c: $(ARCH_INCDIR)/arraystats.h
-cluster_wrap.c: $(ARCH_INCDIR)/cluster.h
-trans_wrap.c: $(ARCH_INCDIR)/transform.h
-vedit_wrap.c: $(ARCH_INCDIR)/vedit.h
+date_wrap.c: $(GISBASE)/include/grass/datetime.h
+date_wrap.c: $(GISBASE)/include/grass/P_datetime.h
+grass_wrap.c: $(GISBASE)/include/grass/gis.h
+grass_wrap.c: $(GISBASE)/include/grass/gisdefs.h
+math_wrap.c: $(GISBASE)/include/grass/gmath.h
+proj_wrap.c: $(GISBASE)/include/grass/gprojects.h
+imagery_wrap.c: $(GISBASE)/include/grass/imagedefs.h
+imagery_wrap.c: $(GISBASE)/include/grass/imagery.h
+vector_wrap.c: $(GISBASE)/include/grass/Vect.h
+vector_wrap.c: $(GISBASE)/include/grass/vect/dig_defines.h
+vector_wrap.c: $(GISBASE)/include/grass/vect/dig_structs.h
+raster_wrap.c: $(GISBASE)/include/grass/raster.h
+display_wrap.c: $(GISBASE)/include/grass/display.h
+stats_wrap.c: $(GISBASE)/include/grass/stats.h
+dbmi_wrap.c: $(GISBASE)/include/grass/dbmi.h
+dbmi_wrap.c: $(GISBASE)/include/grass/proto_dbmi.h
+g3d_wrap.c: $(GISBASE)/include/grass/G3d.h
+arraystats_wrap.c: $(GISBASE)/include/grass/arraystats.h
+cluster_wrap.c: $(GISBASE)/include/grass/cluster.h
+trans_wrap.c: $(GISBASE)/include/grass/transform.h
+vedit_wrap.c: $(GISBASE)/include/grass/vedit.h
 utils_wrap.c:

+ 4 - 2
tools/Makefile

@@ -1,8 +1,10 @@
 MODULE_TOPDIR = ..
 
-SUBDIRS = timer
+SUBDIRS = timer g.html2man
 
 include $(MODULE_TOPDIR)/include/Make/Dir.make
 
-default: parsubdirs
+default: parsubdirs $(TOOLSDIR)/mkhtml.sh
 
+$(TOOLSDIR)/mkhtml.sh: mkhtml.sh
+	$(INSTALL) $< $@

+ 8 - 0
tools/g.html2man/Makefile

@@ -0,0 +1,8 @@
+MODULE_TOPDIR = ../..
+
+include $(MODULE_TOPDIR)/include/Make/Other.make
+
+default: $(TOOLSDIR)/g.html2man.py
+
+$(TOOLSDIR)/g.html2man.py: g.html2man.py
+	$(INSTALL) $< $@