On Wed, 25 Feb 2009 23:00:37 +0100 Christoph Wickert wrote: > I'm failing to build emelfm2 with gcc-4.3.2 when setting > DOCS_VERSION=1: > > > + make -j3 'OPTIMIZE=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 > > -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 > > -march=i386 -mtune=generic -fasynchronous-unwind-tables' 'CFLAGS=-O2 > > -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions > > -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 > > -mtune=generic -fasynchronous-unwind-tables' PREFIX=/usr > > DOCS_VERSION=1 WITH_TRANSPARENCY=1 WITH_KERNELFAM=1 USE_LATEST=1 > > NEW_COMMAND=1 WITH_ACL=1 > > creating object directories in 'objs' > > Makefile:51: *** Recursive variable `DOC_DIR' references itself > > (eventually). Stop. > > When I remove the DOCS_VERSION the build is ok, but of course the docs > end up in the wrong folders. I can confirm this behaviour. Attached are 2 patches which should correct the error. Please note DOCS_VERSION Must be set 1 in Makefile.config (as in done in the patch). If you try to pass DOCS_VERSION=1 at "make" the build will now complete but the "docs" will not be installed to a versioned dir. Have yet to crack this issue but can hopefully look into it more later. Charles -- guru, n: A computer owner who can read the manual. ---------------------- Mandriva Linux release 2009.1 (Cooker) for x86_64$ On SuperSize....http://www.eslrahc.com Registered Linux user #182463 2.6.29-tmb-server-0.rc6.1.2mdv AMD Athlon(tm) 64 X2 Dual Core Processor 6400+ ----------------------
--- Makefile.config~ 2009-02-26 12:18:18.000000000 -0500 +++ Makefile.config 2009-02-26 12:23:39.000000000 -0500 @@ -7,7 +7,7 @@ ### documentation ### ##################### # setting this to 1 makes the default docs dir include the current version no. -DOCS_VERSION ?= 0 +DOCS_VERSION ?= 1 #the name of the default main-user-guide document HELPDOC ?= USAGE @@ -168,7 +168,11 @@ LOCALE_DIR ?= $(PREFIX)/share/locale MAN_DIR ?= $(PREFIX)/share/man/man1 # version-number suffix is appended to doc-path in main Makefile, if appropriate +ifeq ($(DOCS_VERSION), 1) +DOC_DIR ?= $(PREFIX)/share/doc/$(TARGET)-$(VERSION) +else DOC_DIR ?= $(PREFIX)/share/doc/$(TARGET) +endif ######################### ### compilation (how) ###
--- Makefile~ 2009-02-26 12:18:18.000000000 -0500 +++ Makefile 2009-02-26 12:07:45.000000000 -0500 @@ -45,11 +45,7 @@ BUILDDATE=$(shell date) BUILDSTAMP=$(shell date +"%02d %b %04Y") BUILDINFO=$(shell uname) $(shell uname -r)/$(shell uname -m) -COPYRIGHT=2003-$(shell date +"%04Y"), tooar <tooar@xxxxxxx> - -ifeq ($(DOCS_VERSION), 1) -DOC_DIR=$(DOC_DIR)-$(VERSION) -endif +COPYRIGHT=2003-$(shell date +"%04Y"), tooar <tooar@xxxxxxx> # object directories that have to be created MKOBJDIRS = $(foreach dir, $(DIRS) $(LIBS) $(OPTLIBS), $(OBJECTS_DIR)/$(dir))