From: <sg...@us...> - 2007-10-28 03:41:26
|
Revision: 105 http://toc.svn.sourceforge.net/toc/?rev=105&view=rev Author: sgbeal Date: 2007-10-27 20:41:29 -0700 (Sat, 27 Oct 2007) Log Message: ----------- re-ordered flags for .BIN rules to fix link with static libs Modified Paths: -------------- make-book/trunk/code/ShakeNMake/shake-n-make.make Modified: make-book/trunk/code/ShakeNMake/shake-n-make.make =================================================================== --- make-book/trunk/code/ShakeNMake/shake-n-make.make 2007-10-21 01:22:05 UTC (rev 104) +++ make-book/trunk/code/ShakeNMake/shake-n-make.make 2007-10-28 03:41:29 UTC (rev 105) @@ -450,8 +450,8 @@ $$(CFLAGS) $$($(1).BIN.CFLAGS) \ $$(CXXFLAGS) $$($(1).BIN.CXXFLAGS) \ $$(CPPFLAGS) $$($(1).BIN.CPPFLAGS) \ - $$(LDFLAGS) $$($(1).BIN.LDFLAGS) \ - $$($(1).BIN.OBJECTS) $$($(1).BIN.SOURCES) + $$($(1).BIN.OBJECTS) $$($(1).BIN.SOURCES) \ + $$(LDFLAGS) $$($(1).BIN.LDFLAGS) # note about 'set -x': i do this because it normalizes backslashed # newline, extra spaces, and other oddities of formatting. endef This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sg...@us...> - 2007-10-28 06:47:27
|
Revision: 106 http://toc.svn.sourceforge.net/toc/?rev=106&view=rev Author: sgbeal Date: 2007-10-27 23:47:32 -0700 (Sat, 27 Oct 2007) Log Message: ----------- corrected args ordering for .DLL targets to avoid undefined symbols Modified Paths: -------------- make-book/trunk/code/ShakeNMake/shake-n-make.make Modified: make-book/trunk/code/ShakeNMake/shake-n-make.make =================================================================== --- make-book/trunk/code/ShakeNMake/shake-n-make.make 2007-10-28 03:41:29 UTC (rev 105) +++ make-book/trunk/code/ShakeNMake/shake-n-make.make 2007-10-28 06:47:32 UTC (rev 106) @@ -411,6 +411,12 @@ $(INCLUDES) $($(*).OBJ.INCLUDES) \ $(CPPFLAGS) $($(*).OBJ.CPPFLAGS) \ -c -o $@ $< +%.o: %.cxx + @$(call ShakeNMake.CALL.SETX,"CXX [$@] ..."); \ + $(CXX) $(CXXFLAGS) $($(*).OBJ.CXXFLAGS) \ + $(INCLUDES) $($(*).OBJ.INCLUDES) \ + $(CPPFLAGS) $($(*).OBJ.CPPFLAGS) \ + -c -o $@ $< # end %.o: %.cpp rules ######################################################################## @@ -484,8 +490,9 @@ @test x = "x$$($(1).DLL.OBJECTS)$$($(1).DLL.SOURCES)" && { \ echo "$(1).DLL.OBJECTS and/or $(1).DLL.SOURCES are/is undefined!"; exit 1; }; \ $(call ShakeNMake.CALL.SETX,"CXX [$$@] ..."); \ - $$(CXX) -o $$@ -shared -export-dynamic $$(LDFLAGS) \ - $$($(1).DLL.LDFLAGS) $$($(1).DLL.OBJECTS) $$($(1).DLL.SOURCES) \ + $$(CXX) -o $$@ -shared $$(LDFLAGS) \ + $$($(1).DLL.OBJECTS) $$($(1).DLL.SOURCES) \ + $$($(1).DLL.LDFLAGS) \ $$($(1).DLL.CPPFLAGS) endef ######################################################################## This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sg...@us...> - 2007-11-08 22:30:43
|
Revision: 107 http://toc.svn.sourceforge.net/toc/?rev=107&view=rev Author: sgbeal Date: 2007-11-08 14:30:45 -0800 (Thu, 08 Nov 2007) Log Message: ----------- fixed exit code when make dist failed Modified Paths: -------------- make-book/trunk/code/ShakeNMake/shake-n-make.make Modified: make-book/trunk/code/ShakeNMake/shake-n-make.make =================================================================== --- make-book/trunk/code/ShakeNMake/shake-n-make.make 2007-10-28 06:47:32 UTC (rev 106) +++ make-book/trunk/code/ShakeNMake/shake-n-make.make 2007-11-08 22:30:45 UTC (rev 107) @@ -298,7 +298,7 @@ endif dist: @$(MAKE) --no-print-directory dist-target-implementation; err=$$?; \ - $(MAKE) --no-print-directory dist-cleanup; echo $$err + $(MAKE) --no-print-directory dist-cleanup; exit $$err clean: dist-cleanup endif # if $(ShakeNMake.BINS.TAR) # end dist This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sg...@us...> - 2007-11-10 04:06:48
|
Revision: 108 http://toc.svn.sourceforge.net/toc/?rev=108&view=rev Author: sgbeal Date: 2007-11-09 20:06:52 -0800 (Fri, 09 Nov 2007) Log Message: ----------- corrected missing PACKAGE.CLEAN_FILES from the cleanup rules. Modified Paths: -------------- make-book/trunk/code/ShakeNMake/shake-n-make.make Modified: make-book/trunk/code/ShakeNMake/shake-n-make.make =================================================================== --- make-book/trunk/code/ShakeNMake/shake-n-make.make 2007-11-08 22:30:45 UTC (rev 107) +++ make-book/trunk/code/ShakeNMake/shake-n-make.make 2007-11-10 04:06:52 UTC (rev 108) @@ -527,12 +527,12 @@ CLEAN_FILES += *.o DISTCLEAN_FILES += *~ clean: ShakeNMake.FORCE - @fl="$(sort $(wildcard $(CLEAN_FILES)))"; \ + @fl="$(sort $(wildcard $(CLEAN_FILES) $(PACKAGE.CLEAN_FILES)))"; \ test x = "x$$fl" && { echo "Nothing to clean!"; exit 0; }; \ $(call ShakeNMake.CALL.SETX,"Cleaning up ..."); \ $(ShakeNMake.BINS.RM) -fr $$fl distclean: ShakeNMake.FORCE - @fl="$(sort $(wildcard $(CLEAN_FILES) $(DISTCLEAN_FILES)))"; \ + @fl="$(sort $(wildcard $(CLEAN_FILES) $(DISTCLEAN_FILES) $(PACKAGE.CLEAN_FILES) $(PACKAGE.DISTCLEAN_FILES)))"; \ test x = "x$$fl" && { echo "Nothing to clean!"; exit 0; }; \ $(call ShakeNMake.CALL.SETX,"Cleaning up ..."); \ $(ShakeNMake.BINS.RM) -fr $$fl This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sg...@us...> - 2007-11-10 04:29:38
|
Revision: 109 http://toc.svn.sourceforge.net/toc/?rev=109&view=rev Author: sgbeal Date: 2007-11-09 20:29:42 -0800 (Fri, 09 Nov 2007) Log Message: ----------- added visual queue when Doxyfile is (re)created Modified Paths: -------------- make-book/trunk/code/ShakeNMake/shake-n-make.make Modified: make-book/trunk/code/ShakeNMake/shake-n-make.make =================================================================== --- make-book/trunk/code/ShakeNMake/shake-n-make.make 2007-11-10 04:06:52 UTC (rev 108) +++ make-book/trunk/code/ShakeNMake/shake-n-make.make 2007-11-10 04:29:42 UTC (rev 109) @@ -618,6 +618,7 @@ -e 's,@PERL@,$(ShakeNMake.BINS.PERL),' \ -e 's,@USE_DOT@,$(ShakeNMake.DOXYGEN.USE_DOT),' \ < $(ShakeNMake.DOXYGEN.DOXYFILE_TEMPLATE) > $@ + @echo "Created $@" doxygen-clean: @test -d $(ShakeNMake.DOXYGEN.OUTPUT_DIR) && rm -fr $(ShakeNMake.DOXYGEN.OUTPUT_DIR); \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sg...@us...> - 2008-01-04 18:47:24
|
Revision: 110 http://toc.svn.sourceforge.net/toc/?rev=110&view=rev Author: sgbeal Date: 2008-01-04 10:47:20 -0800 (Fri, 04 Jan 2008) Log Message: ----------- typo corrections Modified Paths: -------------- make-book/trunk/code/ShakeNMake/shake-n-make.make Modified: make-book/trunk/code/ShakeNMake/shake-n-make.make =================================================================== --- make-book/trunk/code/ShakeNMake/shake-n-make.make 2007-11-10 04:29:42 UTC (rev 109) +++ make-book/trunk/code/ShakeNMake/shake-n-make.make 2008-01-04 18:47:20 UTC (rev 110) @@ -11,7 +11,7 @@ # in higher-level makefiles and include this one from there. # # The shell code in this makefile assumes GNU Make, GNU Bash and GNU -# versions several other common system tools, like mkdir, tar, sed, +# versions of several other common system tools, like mkdir, tar, sed, # etc. # ######################################################################## @@ -49,7 +49,8 @@ # include shake-n-make.mk # # Using spaces or special shell characters in .NAME and .VERSION may -# cause problems in this code. +# cause problems in this code. Likewise, special characters in +# filenames may cause problems with some of the built-in rules. # # PACKAGE.* are used when building a distribution tarball. # @@ -162,7 +163,7 @@ # # Note that GNUmakefile and shake-n-make.make are added to DIST_FILES by # default, so you don't need to add those. If shake-n-make.make is using -# mkdep.c to generate C/C++ dependencies than that file is also +# mkdep.c to generate C/C++ dependencies then that file is also # automatically included in the distribution. # # If you want to use a non-GNU tar or change the compression type This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sg...@us...> - 2008-01-11 20:23:24
|
Revision: 111 http://toc.svn.sourceforge.net/toc/?rev=111&view=rev Author: sgbeal Date: 2008-01-11 12:23:23 -0800 (Fri, 11 Jan 2008) Log Message: ----------- minor fixes and touches-up Modified Paths: -------------- make-book/trunk/code/ShakeNMake/shake-n-make.make Modified: make-book/trunk/code/ShakeNMake/shake-n-make.make =================================================================== --- make-book/trunk/code/ShakeNMake/shake-n-make.make 2008-01-04 18:47:20 UTC (rev 110) +++ make-book/trunk/code/ShakeNMake/shake-n-make.make 2008-01-11 20:23:23 UTC (rev 111) @@ -101,7 +101,7 @@ # Building a shared library: # # myDLL.DLL.OBJECTS = foo.o bar.o -# myDLL.LDFLAGS = -L/a/lib/path -lmylib +# myDLL.DLL.LDFLAGS = -L/a/lib/path -lmylib # $(call ShakeNMake.CALL.RULES.DLLS,myDLL) # # Like CALL.RULES.BINS, you may pass an arbitrary number of DLL names to @@ -196,16 +196,16 @@ ifneq (,$(COMSPEC)) $(warning Setting ShakeNMake.SMELLS.LIKE.WINDOWS to 1) ShakeNMake.SMELLS.LIKE.WINDOWS := 1 -ShakeNMake.EXTENSIONS.DLL = .DLL# maintenance reminder: this must stay upper-case! -ShakeNMake.EXTENSIONS.EXE = .EXE# maintenance reminder: this must stay upper-case! +ShakeNMake.EXTENSIONS.DLL := .DLL# maintenance reminder: this must stay upper-case! +ShakeNMake.EXTENSIONS.EXE := .EXE# maintenance reminder: this must stay upper-case! else ShakeNMake.SMELLS.LIKE.WINDOWS := 0 -ShakeNMake.EXTENSIONS.DLL = .so -ShakeNMake.EXTENSIONS.EXE =# no whitespace, please +ShakeNMake.EXTENSIONS.DLL := .so +ShakeNMake.EXTENSIONS.EXE :=# no whitespace, please endif -ShakeNMake.MAKEFILE = shake-n-make.make +ShakeNMake.MAKEFILE := shake-n-make.make $(ShakeNMake.MAKEFILE):# avoid breaking some deps checks if someone renames this file (been there, done that) ######################################################################## @@ -224,7 +224,7 @@ # auto-add the makefiles to DIST_FILES, filtering out any which start # with a dot because we use such files for temp/volitile files which # contain Make rules (C/C++ deps, for example). -PACKAGE.MAKEFILE = $(firstword $(MAKEFILE_LIST))# normally either Makefile or GNUmakefile +PACKAGE.MAKEFILE := $(firstword $(MAKEFILE_LIST))# normally either Makefile or GNUmakefile PACKAGE.DIST_FILES += $(filter-out .%,$(MAKEFILE_LIST)) @@ -327,8 +327,10 @@ ShakeNMake.CALL.UNINSTALL = { \ test -d $(1) || exit 0; \ for x in $(2); do \ - echo -e "\t<-- " $(1)/$$x; \ - rm -f $(1)/$$x || exit; \ + f=$(1)/$$x; \ + echo -e "\t<-- " $$f; \ + if [ -d $$f ]; then rm -r $$f; else \ + rm -f $$f || exit; fi; \ done; \ }; \ rmdir $(1) 2>/dev/null || true; @@ -482,7 +484,7 @@ # Also defines the var $(1).DLL, which expands to the filename of the DLL, # (normally $(1)$(ShakeNMake.EXTENSIONS.DLL)). define ShakeNMake.EVAL.RULES.DLL -$(1).DLL = $(1)$(ShakeNMake.EXTENSIONS.DLL) +$(1).DLL ?= $(1)$(ShakeNMake.EXTENSIONS.DLL) ifneq (.DLL,$(ShakeNMake.EXTENSIONS.DLL)) $(1).DLL: $$($(1).DLL) endif @@ -607,7 +609,7 @@ ################################################## PACKAGE.DIST_FILES += $(ShakeNMake.DOXYGEN.DOXYFILE_TEMPLATE) $(ShakeNMake.DOXYGEN.INDEX) -ShakeNMake.DOXYGEN.INCLUDE_DIRS = . +ShakeNMake.DOXYGEN.INCLUDE_DIRS += . ShakeNMake.DOXYGEN.OUTPUT_DIR = $(PACKAGE.NAME)-$(PACKAGE.VERSION)-doxygen @@ -642,8 +644,8 @@ CLEAN_FILES += Doxyfile $(ShakeNMake.DOXYGEN.OUTPUT_DIR) latex -INSTALL_DOXYGEN = $(ShakeNMake.DOXYGEN.OUTPUT_DIR) -INSTALL_DOXYGEN_DEST = $(prefix)/share/doc/$(PACKAGE.NAME) +INSTALL.DOXYGEN := $(ShakeNMake.DOXYGEN.OUTPUT_DIR) +INSTALL.DOXYGEN.DEST ?= $(prefix)/share/doc/$(PACKAGE.NAME) install: doxygen $(call ShakeNMake.CALL.RULES.INSTALL,DOXYGEN) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |