Browse Source

Avoid passing large amounts of data via -D switches

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@39842 15284696-431f-4ddb-bdfa-cd5b030d7da7
Glynn Clements 15 years ago
parent
commit
e3302aadca
3 changed files with 21 additions and 11 deletions
  1. 13 8
      general/g.version/Makefile
  2. 8 0
      general/g.version/main.c
  3. 0 3
      include/Make/Grass.make

+ 13 - 8
general/g.version/Makefile

@@ -7,19 +7,24 @@ PGM=g.version
 COPYING := $(shell cat $(MODULE_TOPDIR)/COPYING | sed -f sed.script | tr -d '\012')
 GRASS_CONFIGURE_PARAMS := $(shell head -n 7 $(MODULE_TOPDIR)/config.status | tail -n 1 | tr -d '\012')
 
-EXTRA_CFLAGS=-DGRASS_VERSION_NUMBER=\"'$(GRASS_VERSION_NUMBER)'\" -DGRASS_VERSION_DATE=\"'$(GRASS_VERSION_DATE)'\" \
-	-DGRASS_VERSION_SVN=\"'$(GRASS_VERSION_SVN)'\" -DGRASS_VERSION_UPDATE_PKG=\"'$(GRASS_VERSION_UPDATE_PKG)'\" \
-	-DGRASS_CONFIGURE_PARAMS="\"$(GRASS_CONFIGURE_PARAMS)\"" -DCOPYING="\"$(COPYING)\""
+EXTRA_CFLAGS = \
+	-DGRASS_VERSION_NUMBER=\"'$(GRASS_VERSION_NUMBER)'\" \
+	-DGRASS_VERSION_DATE=\"'$(GRASS_VERSION_DATE)'\" \
+	-DGRASS_VERSION_SVN=\"'$(GRASS_VERSION_SVN)'\" \
+	-DGRASS_VERSION_UPDATE_PKG=\"'$(GRASS_VERSION_UPDATE_PKG)'\" \
+	-I$(OBJDIR)
+
+EXTRA_HEADERS = $(OBJDIR)/copying.h $(OBJDIR)/confparms.h
 
 LIBES = $(GISLIB)
 DEPENDENCIES = $(GISDEP)
 
 include $(MODULE_TOPDIR)/include/Make/Module.make
 
-default: cmd $(GRASS_VERSION_FILE) $(GRASS_BUILD_FILE)
+default: cmd
 
-$(GRASS_VERSION_FILE): $(MODULE_TOPDIR)/COPYING
-	cat $< | sed -f sed.script | tr -d '\012' > $@
+$(OBJDIR)/copying.h: $(MODULE_TOPDIR)/COPYING | $(OBJDIR)
+	sed -e 's/^\(.*\)$$/"\1\\n"/' $< > $@
 
-$(GRASS_BUILD_FILE): $(MODULE_TOPDIR)/config.status
-	head -n 7 $< | tail -n 1 | sed 's+#++1' | tr -d '\012' > $@
+$(OBJDIR)/confparms.h: $(MODULE_TOPDIR)/config.status | $(OBJDIR)
+	sed -n '7s/^#\(.*\)$$/"\1"/p' $< > $@

+ 8 - 0
general/g.version/main.c

@@ -24,6 +24,14 @@
 #define GRASS_VERSION_UPDATE_PKG "0.1"
 #endif
 
+static const char COPYING[] =
+#include "copying.h"
+;
+
+static const char GRASS_CONFIGURE_PARAMS[] =
+#include "confparms.h"
+;
+
 int main(int argc, char *argv[])
 {
     struct GModule *module;

+ 0 - 3
include/Make/Grass.make

@@ -69,9 +69,6 @@ FONTDIR         = $(ARCH_DISTDIR)/fonts
 GRASS_VERSION_NUMBER  = $(GRASS_VERSION_MAJOR).$(GRASS_VERSION_MINOR).$(GRASS_VERSION_RELEASE)
 GRASS_VERSION_NAME    = $(GRASS_VERSION_MAJOR)$(GRASS_VERSION_MINOR)$(GRASS_VERSION_RELEASE)
 
-GRASS_VERSION_FILE    = $(ETC)/VERSION
-GRASS_BUILD_FILE      = $(ETC)/BUILD
-
 ##################### other #############################################
 
 COMPILE_FLAGS      = $(CPPFLAGS) $(CFLAGS1) $(INCLUDE_DIRS)