complement-svn Mailing List for Complement (Page 24)
Status: Pre-Alpha
Brought to you by:
complement
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(61) |
Nov
(76) |
Dec
(39) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(33) |
Feb
(41) |
Mar
(16) |
Apr
|
May
(22) |
Jun
(14) |
Jul
(64) |
Aug
(60) |
Sep
(35) |
Oct
(34) |
Nov
(10) |
Dec
(5) |
2008 |
Jan
(4) |
Feb
(24) |
Mar
(10) |
Apr
(30) |
May
(15) |
Jun
(50) |
Jul
(20) |
Aug
(7) |
Sep
(8) |
Oct
(10) |
Nov
|
Dec
|
From: <com...@us...> - 2006-11-24 10:14:25
|
Revision: 1403 http://svn.sourceforge.net/complement/?rev=1403&view=rev Author: complement Date: 2006-11-24 02:14:24 -0800 (Fri, 24 Nov 2006) Log Message: ----------- fix path to lib, build system changed Modified Paths: -------------- trunk/complement/explore/test/libstem/unit/unit_test.cc Modified: trunk/complement/explore/test/libstem/unit/unit_test.cc =================================================================== --- trunk/complement/explore/test/libstem/unit/unit_test.cc 2006-11-23 17:17:54 UTC (rev 1402) +++ trunk/complement/explore/test/libstem/unit/unit_test.cc 2006-11-24 10:14:24 UTC (rev 1403) @@ -143,11 +143,11 @@ void stem_test::dl() { #ifdef _STLP_DEBUG - void *lh = dlopen( "dl/obj/gcc/shared-stlg/libloadable_stemstlg.so", RTLD_LAZY ); + void *lh = dlopen( "dl/obj/gcc/so_stlg/libloadable_stemstlg.so", RTLD_LAZY ); #elif defined(DEBUG) - void *lh = dlopen( "dl/obj/gcc/shared-g/libloadable_stemg.so", RTLD_LAZY ); + void *lh = dlopen( "dl/obj/gcc/so_g/libloadable_stemg.so", RTLD_LAZY ); #else - void *lh = dlopen( "dl/obj/gcc/shared/libloadable_stem.so", RTLD_LAZY ); + void *lh = dlopen( "dl/obj/gcc/so/libloadable_stem.so", RTLD_LAZY ); #endif BOOST_REQUIRE( lh != NULL ); void *(*f)(unsigned) = reinterpret_cast<void *(*)(unsigned)>( dlsym( lh, "create_NewNodeDL" ) ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-23 17:18:01
|
Revision: 1402 http://svn.sourceforge.net/complement/?rev=1402&view=rev Author: complement Date: 2006-11-23 09:17:54 -0800 (Thu, 23 Nov 2006) Log Message: ----------- use stdc++'s ext/functional, if no STLport Modified Paths: -------------- trunk/complement/explore/test/libstem/unit/unit_test.cc Modified: trunk/complement/explore/test/libstem/unit/unit_test.cc =================================================================== --- trunk/complement/explore/test/libstem/unit/unit_test.cc 2006-11-23 16:15:33 UTC (rev 1401) +++ trunk/complement/explore/test/libstem/unit/unit_test.cc 2006-11-23 17:17:54 UTC (rev 1402) @@ -30,6 +30,11 @@ #include <stem/EvManager.h> #include <sockios/sockmgr.h> +#ifndef STLPORT +#include <ext/functional> +using namespace __gnu_cxx; +#endif + using namespace std; struct stem_test This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-23 16:15:39
|
Revision: 1401 http://svn.sourceforge.net/complement/?rev=1401&view=rev Author: complement Date: 2006-11-23 08:15:33 -0800 (Thu, 23 Nov 2006) Log Message: ----------- take hostid on Linux Modified Paths: -------------- trunk/complement/explore/lib/mt/ChangeLog trunk/complement/explore/lib/mt/Makefile.inc Added Paths: ----------- trunk/complement/explore/include/mt/uid.h trunk/complement/explore/lib/mt/uid.cc Added: trunk/complement/explore/include/mt/uid.h =================================================================== --- trunk/complement/explore/include/mt/uid.h (rev 0) +++ trunk/complement/explore/include/mt/uid.h 2006-11-23 16:15:33 UTC (rev 1401) @@ -0,0 +1,56 @@ +// -*- C++ -*- Time-stamp: <06/11/23 16:51:52 ptr> + +/* + * Copyright (c) 2006 + * Petr Ovtchenkov + * + * Licensed under the Academic Free License version 3.0 + * + */ + +#ifndef __mt_uid_h +#define __mt_uid_h + +#ifndef __config_feature_h +#include <config/feature.h> +#endif + +#include <string> +#include <stdint.h> + +namespace xmt { + +struct uuid_type +{ + union { + uint8_t b[16]; + uint32_t i[4]; + } u; + + + uuid_type() + {} + + uuid_type( const uuid_type& uid ) + { + u.i[0] = uid.u.i[0]; + u.i[1] = uid.u.i[1]; + u.i[2] = uid.u.i[2]; + u.i[3] = uid.u.i[3]; + } + + + bool operator ==( const uuid_type& uid ) + { return u.i[0] == uid.u.i[0] && u.i[1] == uid.u.i[1] && u.i[2] == uid.u.i[2] && u.i[3] == uid.u.i[3]; } + + bool operator !=( const uuid_type& uid ) + { return u.i[0] != uid.u.i[0] || u.i[1] != uid.u.i[1] || u.i[2] != uid.u.i[2] || u.i[3] != uid.u.i[3]; } + +}; + +const std::string& hostid_str(); +const xmt::uuid_type& hostid(); + +} // namespace xmt + +#endif // __mt_uid_h Modified: trunk/complement/explore/lib/mt/ChangeLog =================================================================== --- trunk/complement/explore/lib/mt/ChangeLog 2006-11-20 13:20:25 UTC (rev 1400) +++ trunk/complement/explore/lib/mt/ChangeLog 2006-11-23 16:15:33 UTC (rev 1401) @@ -1,3 +1,9 @@ +2006-11-23 Petr Ovtchenkov <pt...@is...> + + * uid.h, uid.cc: return hostid on Linux + + * libxmt: version 1.9.2 + 2006-10-31 Petr Ovtchenkov <pt...@is...> * time.cc: add useful includes, detected when compile Modified: trunk/complement/explore/lib/mt/Makefile.inc =================================================================== --- trunk/complement/explore/lib/mt/Makefile.inc 2006-11-20 13:20:25 UTC (rev 1400) +++ trunk/complement/explore/lib/mt/Makefile.inc 2006-11-23 16:15:33 UTC (rev 1401) @@ -1,8 +1,8 @@ -# -*- Makefile -*- Time-stamp: <06/09/22 22:21:22 ptr> +# -*- Makefile -*- Time-stamp: <06/11/23 17:32:14 ptr> LIBNAME = xmt MAJOR = 1 MINOR = 9 -PATCH = 1 -SRC_CC = xmt.cc thr_mgr.cc time.cc +PATCH = 2 +SRC_CC = xmt.cc thr_mgr.cc time.cc uid.cc SRC_C = fl.c Added: trunk/complement/explore/lib/mt/uid.cc =================================================================== --- trunk/complement/explore/lib/mt/uid.cc (rev 0) +++ trunk/complement/explore/lib/mt/uid.cc 2006-11-23 16:15:33 UTC (rev 1401) @@ -0,0 +1,73 @@ +// -*- C++ -*- Time-stamp: <06/11/23 17:35:29 ptr> + +/* + * Copyright (c) 2006 + * Petr Ovtchenkov + * + * Licensed under the Academic Free License version 3.0 + * + */ + +#include <mt/uid.h> +#include <mt/xmt.h> +#include <fstream> +#include <sstream> +#include <iomanip> + +namespace xmt { + +namespace detail { + +using namespace std; +using namespace xmt; + +class __uid_init +{ + public: + __uid_init(); + + static Mutex _lk; + static uuid_type _host_id; + static string _host_id_str; +}; + +Mutex __uid_init::_lk; +uuid_type __uid_init::_host_id; +string __uid_init::_host_id_str; + +__uid_init::__uid_init() +{ + Locker lock( _lk ); + ifstream f( "/proc/sys/kernel/random/boot_id" ); + + getline( f, _host_id_str ); + + istringstream s( _host_id_str ); + char delimiter; + + s >> hex >> _host_id.u.b[0] >> _host_id.u.b[1] >> _host_id.u.b[2] >> _host_id.u.b[3] + >> delimiter + >> _host_id.u.b[4] >> _host_id.u.b[5] + >> delimiter + >> _host_id.u.b[6] >> _host_id.u.b[7] + >> delimiter + >> _host_id.u.b[8] >> _host_id.u.b[9] + >> delimiter + >> _host_id.u.b[10] >> _host_id.u.b[11] >> _host_id.u.b[12] >> _host_id.u.b[13] >> _host_id.u.b[14] >> _host_id.u.b[15]; +} + +} // namespace detail + +const std::string& hostid_str() +{ + static detail::__uid_init _uid; + return detail::__uid_init::_host_id_str; +} + +const xmt::uuid_type& hostid() +{ + hostid_str(); + return detail::__uid_init::_host_id; +} + +} // namespace xmt This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-20 13:20:26
|
Revision: 1400 http://svn.sourceforge.net/complement/?rev=1400&view=rev Author: complement Date: 2006-11-20 05:20:25 -0800 (Mon, 20 Nov 2006) Log Message: ----------- snapshot 2006-11-20 Added Paths: ----------- tags/complement-20061120/ Copied: tags/complement-20061120 (from rev 1399, trunk/complement) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-17 07:46:34
|
Revision: 1399 http://svn.sourceforge.net/complement/?rev=1399&view=rev Author: complement Date: 2006-11-16 23:46:32 -0800 (Thu, 16 Nov 2006) Log Message: ----------- ability to build few programs from same Makefile; pure C linkage may not work properly for multiple progrmas yet Modified Paths: -------------- trunk/complement/explore/Makefiles/ChangeLog trunk/complement/explore/Makefiles/clean.mak trunk/complement/explore/Makefiles/gmake/app/clean.mak trunk/complement/explore/Makefiles/gmake/app/macro.mak trunk/complement/explore/Makefiles/gmake/app/rules-install.mak trunk/complement/explore/Makefiles/gmake/app/rules.mak trunk/complement/explore/Makefiles/gmake/lib/clean.mak trunk/complement/explore/Makefiles/gmake/targets.mak trunk/complement/explore/Makefiles/top.mak Modified: trunk/complement/explore/Makefiles/ChangeLog =================================================================== --- trunk/complement/explore/Makefiles/ChangeLog 2006-11-13 18:25:20 UTC (rev 1398) +++ trunk/complement/explore/Makefiles/ChangeLog 2006-11-17 07:46:32 UTC (rev 1399) @@ -1,3 +1,16 @@ +2006-11-17 Petr Ovtchenkov <pt...@is...> + + * gmake/app/rules.mak, rules-install.mak, macro.mak, clean.mak: + ability to build few programs from same Makefile; pure C linkage + may not work properly for multiple progrmas yet. + + * gmake/targets.mak: idem + + * clean.mak, top.mak: idem + + * gmake/lib/clean.mak: idem, but main functionality for libraries + not completed yet. + 2006-11-10 Petr Ovtchenkov <pt...@is...> * gmake/app/rules.mak, gmake/app/gcc.mak: add static tags; Modified: trunk/complement/explore/Makefiles/clean.mak =================================================================== --- trunk/complement/explore/Makefiles/clean.mak 2006-11-13 18:25:20 UTC (rev 1398) +++ trunk/complement/explore/Makefiles/clean.mak 2006-11-17 07:46:32 UTC (rev 1399) @@ -1,4 +1,4 @@ -# -*- Makefile -*- Time-stamp: <06/11/11 01:06:53 ptr> +# -*- Makefile -*- Time-stamp: <06/11/17 00:25:42 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -11,13 +11,33 @@ PHONY += clean distclean mostlyclean maintainer-clean uninstall +define obj_clean +clean:: + @-rm -f $$($(1)_OBJ) $$($(1)_DEP) + @-rm -f $$($(1)_OBJ_DBG) $$($(1)_DEP_DBG) + @-rm -f $$($(1)_OBJ_STLDBG) $$($(1)_DEP_STLDBG) +endef + clean:: @-rm -f core core.* +ifdef PRGNAME @-rm -f $(OBJ) $(DEP) @-rm -f $(OBJ_DBG) $(DEP_DBG) @-rm -f $(OBJ_STLDBG) $(DEP_STLDBG) +endif +ifdef LIBNAME + @-rm -f $(OBJ) $(DEP) + @-rm -f $(OBJ_DBG) $(DEP_DBG) + @-rm -f $(OBJ_STLDBG) $(DEP_STLDBG) +endif +$(foreach prg,$(PRGNAMES),$(eval $(call obj_clean,$(prg)))) + +$(foreach prg,$(LIBNAMES),$(eval $(call obj_clean,$(prg)))) + distclean:: clean +# $(DEPENDS_COLLECTION) removed before directory, +# see app/clean.mak and lib/clean.mak mostlyclean: clean @-rm -f $(DEPENDS_COLLECTION) Modified: trunk/complement/explore/Makefiles/gmake/app/clean.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/app/clean.mak 2006-11-13 18:25:20 UTC (rev 1398) +++ trunk/complement/explore/Makefiles/gmake/app/clean.mak 2006-11-17 07:46:32 UTC (rev 1399) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/11/11 00:43:13 ptr> +# -*- makefile -*- Time-stamp: <06/11/17 00:29:39 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -9,16 +9,27 @@ # Licensed under the Academic Free License version 3.0 # +define prog_clean clean:: - @-rm -f ${PRG} - @-rm -f ${PRG_DBG} - @-rm -f ${PRG_STLDBG} + @rm -f $${$(1)_PRG} $${$(1)_PRG_DBG} $${$(1)_PRG_STLDBG} +uninstall:: + @rm -f $$(INSTALL_BIN_DIR)/$$($(1)_PRG) $$(INSTALL_BIN_DIR_DBG)/$$($(1)_PRG_DBG) $$(INSTALL_BIN_DIR_STLDBG)/$$($(1)_PRG_STLDBG) +endef + +clean:: +ifdef PRGNAME + @-rm -f ${PRG} ${PRG_DBG} ${PRG_STLDBG} +endif + +$(foreach prg,$(PRGNAMES),$(eval $(call prog_clean,$(prg)))) + distclean:: @-rm -f $(DEPENDS_COLLECTION) - @-rmdir -p ${OUTPUT_DIR} ${OUTPUT_DIR_DBG} ${OUTPUT_DIR_STLDBG} 2>/dev/null || exit 0 + @-rmdir -p ${OUTPUT_DIR} ${OUTPUT_DIR_DBG} ${OUTPUT_DIR_STLDBG} 2>/dev/null -uninstall: - @-rm -f $(INSTALL_BIN_DIR)/$(PRG) - @-rm -f $(INSTALL_BIN_DIR_DBG)/$(PRG_DBG) - @-rm -f $(INSTALL_BIN_DIR_STLDBG)/$(PRG_STLDBG) +uninstall:: +ifdef PRGNAME + @-rm -f $(INSTALL_BIN_DIR)/$(PRG) $(INSTALL_BIN_DIR_DBG)/$(PRG_DBG) $(INSTALL_BIN_DIR_STLDBG)/$(PRG_STLDBG) +endif + @-rmdir -p $(INSTALL_BIN_DIR) $(INSTALL_BIN_DIR_DBG) $(INSTALL_BIN_DIR_STLDBG) 2>/dev/null Modified: trunk/complement/explore/Makefiles/gmake/app/macro.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/app/macro.mak 2006-11-13 18:25:20 UTC (rev 1398) +++ trunk/complement/explore/Makefiles/gmake/app/macro.mak 2006-11-17 07:46:32 UTC (rev 1399) @@ -1,5 +1,30 @@ -# Time-stamp: <06/11/10 17:27:33 ptr> +# Time-stamp: <06/11/16 23:37:38 ptr> +# +# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 +# Petr Ovtchenkov +# +# Portion Copyright (c) 1999-2001 +# Parallel Graphics Ltd. +# +# Licensed under the Academic Free License version 3.0 +# +ALLPRGS = +ALLPRGS_DBG = +ALLPRGS_STLDBG = + +define prog_prog +$(1)_PRG := $(OUTPUT_DIR)/$(1)${EXE} +$(1)_PRG_DBG := $(OUTPUT_DIR_DBG)/$(1)${EXE} +$(1)_PRG_STLDBG := $(OUTPUT_DIR_STLDBG)/$(1)${EXE} + +ALLPRGS += $${$(1)_PRG} +ALLPRGS_DBG += $${$(1)_PRG_DBG} +ALLPRGS_STLDBG += $${$(1)_PRG_STLDBG} +endef + +$(foreach prg,$(PRGNAMES),$(eval $(call prog_prog,$(prg)))) + PRG := $(OUTPUT_DIR)/${PRGNAME}${EXE} PRG_DBG := $(OUTPUT_DIR_DBG)/${PRGNAME}${EXE} PRG_STLDBG := $(OUTPUT_DIR_STLDBG)/${PRGNAME}${EXE} Modified: trunk/complement/explore/Makefiles/gmake/app/rules-install.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/app/rules-install.mak 2006-11-13 18:25:20 UTC (rev 1398) +++ trunk/complement/explore/Makefiles/gmake/app/rules-install.mak 2006-11-17 07:46:32 UTC (rev 1399) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/11/02 10:45:53 ptr> +# -*- makefile -*- Time-stamp: <06/11/17 00:21:21 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -15,38 +15,49 @@ install: install-release-shared install-dbg-shared endif -# The program name to be installed will be the same as compiled name, -# but it will be a bit altered in case of installation debug and/or -# stlport-debug program in the same catalog as 'release' program. +INSTALL_PRGNAME_CMD = +INSTALL_PRGNAME_CMD_DBG = +INSTALL_PRGNAME_CMD_STLDBG = +define prog_install +INSTALL_$(1)_PRGNAME := $(1)${EXE} +INSTALL_PRGNAME_CMD += $$(INSTALL_EXE) $${$(1)_PRG} $$(INSTALL_BIN_DIR)/$${INSTALL_$(1)_PRGNAME}; \ + +INSTALL_$(1)_PRGNAME_DBG := $${INSTALL_$(1)_PRGNAME} +INSTALL_PRGNAME_CMD_DBG += $$(INSTALL_EXE) $${$(1)_PRG_DBG} $$(INSTALL_BIN_DIR_DBG)/$${INSTALL_$(1)_PRGNAME_DBG}; \ + +ifndef WITHOUT_STLPORT +INSTALL_$(1)_PRGNAME_STLDBG := $${INSTALL_$(1)_PRGNAME} +INSTALL_PRGNAME_CMD_STLDBG += $$(INSTALL_EXE) $${$(1)_PRG_STLDBG} $$(INSTALL_BIN_DIR_STLDBG)/$${INSTALL_$(1)_PRGNAME_STLDBG}; \ + +endif +endef + INSTALL_PRGNAME := ${PRGNAME}${EXE} +$(foreach prg,$(PRGNAMES),$(eval $(call prog_install,$(prg)))) -#ifeq (${INSTALL_BIN_DIR},${INSTALL_BIN_DIR_DBG}) -#INSTALL_PRGNAME_DBG := ${PRGNAME}g${EXE} -#else INSTALL_PRGNAME_DBG := ${INSTALL_PRGNAME} -#endif ifndef WITHOUT_STLPORT -#ifeq (${INSTALL_BIN_DIR},${INSTALL_BIN_DIR_STLDBG}) -#INSTALL_PRGNAME_STLDBG := ${PRGNAME}stlg${EXE} -#else INSTALL_PRGNAME_STLDBG := ${INSTALL_PRGNAME} -#endif endif -#ifeq (${INSTALL_BIN_DIR_DBG},${INSTALL_BIN_DIR_STLDBG}) -#INSTALL_PRGNAME_DBG := ${PRGNAME}g${EXE} -#INSTALL_PRGNAME_STLDBG := ${PRGNAME}stlg${EXE} -#endif - install-release-shared: release-shared $(INSTALL_BIN_DIR) +ifdef PRGNAME $(INSTALL_EXE) ${PRG} $(INSTALL_BIN_DIR)/${INSTALL_PRGNAME} +endif + $(INSTALL_PRGNAME_CMD) install-dbg-shared: dbg-shared $(INSTALL_BIN_DIR_DBG) +ifdef PRGNAME $(INSTALL_EXE) ${PRG_DBG} $(INSTALL_BIN_DIR_DBG)/${INSTALL_PRGNAME_DBG} +endif + $(INSTALL_PRGNAME_CMD_DBG) ifndef WITHOUT_STLPORT install-stldbg-shared: stldbg-shared $(INSTALL_BIN_DIR_STLDBG) +ifdef PRGNAME $(INSTALL_EXE) ${PRG_STLDBG} $(INSTALL_BIN_DIR_STLDBG)/${INSTALL_PRGNAME_STLDBG} endif + $(INSTALL_PRGNAME_CMD_STLDBG) +endif Modified: trunk/complement/explore/Makefiles/gmake/app/rules.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/app/rules.mak 2006-11-13 18:25:20 UTC (rev 1398) +++ trunk/complement/explore/Makefiles/gmake/app/rules.mak 2006-11-17 07:46:32 UTC (rev 1399) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/11/10 17:10:45 ptr> +# -*- makefile -*- Time-stamp: <06/11/17 10:34:26 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -9,22 +9,49 @@ # Licensed under the Academic Free License version 3.0 # -dbg-shared: $(EXTRA_PRE_DBG) $(OUTPUT_DIR_DBG) ${PRG_DBG} $(EXTRA_POST_DBG) +dbg-shared: $(EXTRA_PRE_DBG) $(OUTPUT_DIR_DBG) ${PRG_DBG} ${ALLPRGS_DBG} $(EXTRA_POST_DBG) -dbg-static: $(EXTRA_PRE_DBG) $(OUTPUT_DIR_DBG) ${PRG_DBG} $(EXTRA_POST_DBG) +dbg-static: $(EXTRA_PRE_DBG) $(OUTPUT_DIR_DBG) ${PRG_DBG} ${ALLPRGS_DBG} $(EXTRA_POST_DBG) -release-shared: $(EXTRA_PRE) $(OUTPUT_DIR) ${PRG} $(EXTRA_POST) +release-shared: $(EXTRA_PRE) $(OUTPUT_DIR) ${PRG} ${ALLPRGS} $(EXTRA_POST) -release-static: $(EXTRA_PRE) $(OUTPUT_DIR) ${PRG} $(EXTRA_POST) +release-static: $(EXTRA_PRE) $(OUTPUT_DIR) ${PRG} ${ALLPRGS} $(EXTRA_POST) ifndef WITHOUT_STLPORT -stldbg-shared: $(EXTRA_PRE_STLDBG) $(OUTPUT_DIR_STLDBG) ${PRG_STLDBG} $(EXTRA_POST_STLDBG) +stldbg-shared: $(EXTRA_PRE_STLDBG) $(OUTPUT_DIR_STLDBG) ${PRG_STLDBG} ${ALLPRGS_STLDBG} $(EXTRA_POST_STLDBG) -stldbg-static: $(EXTRA_PRE_STLDBG) $(OUTPUT_DIR_STLDBG) ${PRG_STLDBG} $(EXTRA_POST_STLDBG) +stldbg-static: $(EXTRA_PRE_STLDBG) $(OUTPUT_DIR_STLDBG) ${PRG_STLDBG} ${ALLPRGS_STLDBG} $(EXTRA_POST_STLDBG) endif +define prog_lnk +ifeq ($${_$(1)_C_SOURCES_ONLY},) +$${$(1)_PRG}: $$($(1)_OBJ) $$(LIBSDEP) + $$(LINK.cc) $$(LINK_OUTPUT_OPTION) $${START_OBJ} $$($(1)_OBJ) $$(LDLIBS) $${STDLIBS} $${END_OBJ} + +$${$(1)_PRG_DBG}: $$($(1)_OBJ_DBG) $$(LIBSDEP) + $$(LINK.cc) $$(LINK_OUTPUT_OPTION) $${START_OBJ} $$($(1)_OBJ_DBG) $$(LDLIBS) $${STDLIBS} $${END_OBJ} + +ifndef WITHOUT_STLPORT +$${$(1)_PRG_STLDBG}: $$($(1)_OBJ_STLDBG) $$(LIBSDEP) + $$(LINK.cc) $$(LINK_OUTPUT_OPTION) $${START_OBJ} $$($(1)_OBJ_STLDBG) $$(LDLIBS) $${STDLIBS} $${END_OBJ} +endif +else +$${$(1)_PRG}: $$($(1)_OBJ) $$(LIBSDEP) + $$(LINK.c) $$(LINK_OUTPUT_OPTION) $$($(1)_OBJ) $$(LDLIBS) + +$${$(1)_PRG_DBG}: $$(OBJ_DBG) $$(LIBSDEP) + $$(LINK.c) $$(LINK_OUTPUT_OPTION) $$($(1)_OBJ_DBG) $$(LDLIBS) + +ifndef WITHOUT_STLPORT +$${$(1)_PRG_STLDBG}: $$($(1)_OBJ_STLDBG) $$(LIBSDEP) + $$(LINK.c) $$(LINK_OUTPUT_OPTION) $$($(1)_OBJ_STLDBG) $$(LDLIBS) +endif +endif +endef + +$(foreach prg,$(PRGNAMES),$(eval $(call prog_lnk,$(prg)))) + ifeq ("${_C_SOURCES_ONLY}","") - ${PRG}: $(OBJ) $(LIBSDEP) $(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(OBJ) $(LDLIBS) ${STDLIBS} ${END_OBJ} @@ -35,9 +62,7 @@ ${PRG_STLDBG}: $(OBJ_STLDBG) $(LIBSDEP) $(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(OBJ_STLDBG) $(LDLIBS) ${STDLIBS} ${END_OBJ} endif - else - ${PRG}: $(OBJ) $(LIBSDEP) $(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ) $(LDLIBS) @@ -48,5 +73,4 @@ ${PRG_STLDBG}: $(OBJ_STLDBG) $(LIBSDEP) $(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ_STLDBG) $(LDLIBS) endif - endif Modified: trunk/complement/explore/Makefiles/gmake/lib/clean.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/lib/clean.mak 2006-11-13 18:25:20 UTC (rev 1398) +++ trunk/complement/explore/Makefiles/gmake/lib/clean.mak 2006-11-17 07:46:32 UTC (rev 1399) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/11/11 00:43:08 ptr> +# -*- makefile -*- Time-stamp: <06/11/17 00:39:31 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -9,7 +9,55 @@ # Licensed under the Academic Free License version 3.0 # +define lib_clean clean:: + @-rm -f $${$(1)_SO_NAME_OUT} + @-rm -f $${$(1)_SO_NAME_OUTx} + @-rm -f $${$(1)_SO_NAME_OUTxx} + @-rm -f $${$(1)_SO_NAME_OUTxxx} + @-rm -f $${$(1)_SO_NAME_OUT_DBG} + @-rm -f $${$(1)_SO_NAME_OUT_DBGx} + @-rm -f $${$(1)_SO_NAME_OUT_DBGxx} + @-rm -f $${$(1)_SO_NAME_OUT_DBGxxx} + @-rm -f $${$(1)_SO_NAME_OUT_STLDBG} + @-rm -f $${$(1)_SO_NAME_OUT_STLDBGx} + @-rm -f $${$(1)_SO_NAME_OUT_STLDBGxx} + @-rm -f $${$(1)_SO_NAME_OUT_STLDBGxxx} + @-rm -f $${$(1)_A_NAME_OUT} + @-rm -f $${$(1)_A_NAME_OUT_DBG} + @-rm -f $${$(1)_A_NAME_OUT_STLDBG} +ifeq ($(OSNAME), cygming) + @-rm -f $${$(1)_LIB_NAME_OUT} + @-rm -f $${$(1)_LIB_NAME_OUT_DBG} + @-rm -f $${$(1)_LIB_NAME_OUT_STLDBG} + @-rm -f $${$(1)_RES} + @-rm -f $${$(1)_RES_DBG} + @-rm -f $${$(1)_RES_STLDBG} +endif + +uninstall:: + @-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAME) + @-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAMEx) + @-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAMExx) + @-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAMExxx) + @-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBG) + @-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBGx) + @-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBGxx) + @-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBGxxx) + @-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBG) + @-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBGx) + @-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBGxx) + @-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBGxxx) + @-rm -f $$(INSTALL_LIB_DIR)/$${$(1)_A_NAME_OUT} + @-rm -f $$(INSTALL_LIB_DIR_DBG)/$${$(1)_A_NAME_OUT_DBG} + @-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$${$(1)_A_NAME_OUT_STLDBG} + @-rmdir -p $$(INSTALL_LIB_DIR) $$(INSTALL_LIB_DIR_DBG) $$(INSTALL_LIB_DIR_STLDBG) 2>/dev/null +endef + +$(foreach nm,$(LIBNAMES),$(eval $(call lib_clean,$(nm)))) + +clean:: +ifdef LIBNAME @-rm -f ${SO_NAME_OUT} @-rm -f ${SO_NAME_OUTx} @-rm -f ${SO_NAME_OUTxx} @@ -33,12 +81,14 @@ @-rm -f ${RES_DBG} @-rm -f ${RES_STLDBG} endif +endif distclean:: @-rm -f $(DEPENDS_COLLECTION) - @-rmdir -p ${OUTPUT_DIR} ${OUTPUT_DIR_DBG} ${OUTPUT_DIR_STLDBG} 2>/dev/null || exit 0 + @-rmdir -p ${OUTPUT_DIR} ${OUTPUT_DIR_DBG} ${OUTPUT_DIR_STLDBG} 2>/dev/null -uninstall: +uninstall:: +ifdef LIBNAME @-rm -f $(INSTALL_LIB_DIR)/$(SO_NAME) @-rm -f $(INSTALL_LIB_DIR)/$(SO_NAMEx) @-rm -f $(INSTALL_LIB_DIR)/$(SO_NAMExx) @@ -54,5 +104,6 @@ @-rm -f $(INSTALL_LIB_DIR)/${A_NAME_OUT} @-rm -f $(INSTALL_LIB_DIR_DBG)/${A_NAME_OUT_DBG} @-rm -f $(INSTALL_LIB_DIR_STLDBG)/${A_NAME_OUT_STLDBG} - @-rmdir -p $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_STLDBG) 2>/dev/null || exit 0 +endif + @-rmdir -p $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_STLDBG) 2>/dev/null Modified: trunk/complement/explore/Makefiles/gmake/targets.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/targets.mak 2006-11-13 18:25:20 UTC (rev 1398) +++ trunk/complement/explore/Makefiles/gmake/targets.mak 2006-11-17 07:46:32 UTC (rev 1399) @@ -1,4 +1,4 @@ -# Time-stamp: <06/11/03 12:09:39 ptr> +# Time-stamp: <06/11/17 10:29:59 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -9,6 +9,34 @@ # Licensed under the Academic Free License version 3.0 # +PRGS_DIR_SRC = +define prog_ +PRGS_DIR_SRC += $$(dir $${$(1)_SRC_CPP} $${$(1)_SRC_CC} $${$(1)_SRC_CXX} $${$(1)_SRC_C} $${$(1)_SRC_S} ) +$(1)_ALLBASE := $$(basename $$(notdir $${$(1)_SRC_CC} $${$(1)_SRC_CPP} $${$(1)_SRC_CXX} $${$(1)_SRC_C} $${$(1)_SRC_S} ) ) +$(1)_ALLOBJS := $$(addsuffix .o,$${$(1)_ALLBASE}) +$(1)_ALLDEPS := $$(addsuffix .d,$${$(1)_ALLBASE}) + +$(1)_OBJ := $$(addprefix $$(OUTPUT_DIR)/,$${$(1)_ALLOBJS}) +$(1)_OBJ_DBG := $$(addprefix $$(OUTPUT_DIR_DBG)/,$${$(1)_ALLOBJS}) +$(1)_OBJ_STLDBG := $$(addprefix $$(OUTPUT_DIR_STLDBG)/,$${$(1)_ALLOBJS}) + +$(1)_DEP := $$(addprefix $$(OUTPUT_DIR)/,$${$(1)_ALLDEPS}) +$(1)_DEP_DBG := $$(addprefix $$(OUTPUT_DIR_DBG)/,$${$(1)_ALLDEPS}) +$(1)_DEP_STLDBG := $$(addprefix $$(OUTPUT_DIR_STLDBG)/,$${$(1)_ALLDEPS}) + +$(1)_RES := $$(addprefix $$(OUTPUT_DIR)/,$${$(1)_ALLRESS}) +$(1)_RES_DBG := $$(addprefix $$(OUTPUT_DIR_DBG)/,$${$(1)_ALLRESS}) +$(1)_RES_STLDBG := $$(addprefix $$(OUTPUT_DIR_STLDBG)/,$${$(1)_ALLRESS}) + +ifeq ("$$(sort $${$(1)_SRC_CC} $${$(1)_SRC_CPP} $${$(1)_SRC_CXX})","") +$(1)_NOT_USE_NOSTDLIB := 1 +_$(1)_C_SOURCES_ONLY := true +endif + +endef + +$(foreach prg,$(PRGNAMES),$(eval $(call prog_,$(prg)))) + # If we have no C++ sources, let's use C compiler for linkage instead of C++. ifeq ("$(sort ${SRC_CC} ${SRC_CPP} ${SRC_CXX})","") NOT_USE_NOSTDLIB := 1 @@ -21,7 +49,7 @@ ifeq (${OSNAME},cygming) DIRS_UNIQUE_SRC := ${DIRS_UNIQUE_SRC} $(dir $(SRC_RC) ) endif -DIRS_UNIQUE_SRC := $(sort $(DIRS_UNIQUE_SRC) ) +DIRS_UNIQUE_SRC := $(sort $(DIRS_UNIQUE_SRC) $(PRGS_DIR_SRC)) # The rules below may be even simpler (i.e. define macro that generate # rules for COMPILE.xx), but this GNU make 3.80 unhappy with it; @@ -139,4 +167,3 @@ DEP_A_STLDBG := $(addprefix $(OUTPUT_DIR_A_STLDBG)/,$(ALLDEPS)) endif - Modified: trunk/complement/explore/Makefiles/top.mak =================================================================== --- trunk/complement/explore/Makefiles/top.mak 2006-11-13 18:25:20 UTC (rev 1398) +++ trunk/complement/explore/Makefiles/top.mak 2006-11-17 07:46:32 UTC (rev 1399) @@ -111,4 +111,8 @@ include ${RULESBASE}/$(USE_MAKE)/app/top.mak endif +ifdef PRGNAMES +# include ${RULESBASE}/$(USE_MAKE)/app/top.mak +endif + .PHONY: $(PHONY) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-13 18:25:35
|
Revision: 1398 http://svn.sourceforge.net/complement/?rev=1398&view=rev Author: complement Date: 2006-11-13 10:25:20 -0800 (Mon, 13 Nov 2006) Log Message: ----------- msg investigations Added Paths: ----------- trunk/complement/explore/inquiry/shades/msgq/ trunk/complement/explore/inquiry/shades/msgq/Makefile trunk/complement/explore/inquiry/shades/msgq/Makefile.inc trunk/complement/explore/inquiry/shades/msgq/test.cc Property changes on: trunk/complement/explore/inquiry/shades/msgq ___________________________________________________________________ Name: svn:ignore + obj Added: trunk/complement/explore/inquiry/shades/msgq/Makefile =================================================================== --- trunk/complement/explore/inquiry/shades/msgq/Makefile (rev 0) +++ trunk/complement/explore/inquiry/shades/msgq/Makefile 2006-11-13 18:25:20 UTC (rev 1398) @@ -0,0 +1,6 @@ +# -*- Makefile -*- Time-stamp: <04/01/09 16:53:50 ptr> + +SRCROOT := ../../.. + +include Makefile.inc +include ${SRCROOT}/Makefiles/top.mak Added: trunk/complement/explore/inquiry/shades/msgq/Makefile.inc =================================================================== --- trunk/complement/explore/inquiry/shades/msgq/Makefile.inc (rev 0) +++ trunk/complement/explore/inquiry/shades/msgq/Makefile.inc 2006-11-13 18:25:20 UTC (rev 1398) @@ -0,0 +1,5 @@ +# -*- makefile -*- Time-stamp: <04/01/12 15:37:40 ptr> + +PRGNAME = test +#SRC_C = test.c +SRC_CC = test.cc Added: trunk/complement/explore/inquiry/shades/msgq/test.cc =================================================================== --- trunk/complement/explore/inquiry/shades/msgq/test.cc (rev 0) +++ trunk/complement/explore/inquiry/shades/msgq/test.cc 2006-11-13 18:25:20 UTC (rev 1398) @@ -0,0 +1,53 @@ +#include <sys/ipc.h> +#include <sys/msg.h> + +#include <iostream> +#include <iomanip> + +using namespace std; + +int main( int argc, char **argv ) +{ + // key_t key = 12345; + key_t key = ftok( "/tmp/msg.queue", 276 ); + + int msqid = msgget( key /* IPC_PRIVATE */, 0666 | IPC_CREAT ); + + if ( msqid < 0 ) { + cerr << "Can't create message queue" << endl; + return 1; + } + + + struct msqid_ds buf; + if ( msgctl( msqid, IPC_STAT, &buf ) < 0 ) { + cerr << "Can't stat message queue" << endl; + return 2; + } + + cout << buf.msg_perm.uid << "\n" << buf.msg_perm.gid << "\n" + << oct << buf.msg_perm.mode << dec << "\n" + << buf.msg_qbytes << endl; + + // if ( msgctl( msqid, IPC_RMID, &buf ) ) { + // cerr << "Can't remove message queue" << endl; + // return 4; + // } + + return 0; + + + buf.msg_qbytes = /* 16384; */ 256 * 1024 * 1024; + + if ( msgctl( msqid, IPC_SET, &buf ) < 0 ) { + cerr << "Can't set message queue params" << endl; + return 3; + } + + if ( msgctl( msqid, IPC_STAT, &buf ) < 0 ) { + cerr << "Can't stat message queue" << endl; + return 2; + } + + return 0; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-13 11:26:23
|
Revision: 1397 http://svn.sourceforge.net/complement/?rev=1397&view=rev Author: complement Date: 2006-11-13 03:26:07 -0800 (Mon, 13 Nov 2006) Log Message: ----------- change tags related to clean processes (to satisfy 'standard' tagets); fix options for etags and ctags Modified Paths: -------------- trunk/complement/explore/Makefiles/clean.mak trunk/complement/explore/Makefiles/gmake/app/clean.mak trunk/complement/explore/Makefiles/gmake/depend.mak trunk/complement/explore/Makefiles/gmake/lib/clean.mak trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak trunk/complement/explore/Makefiles/gmake/linux/rules-so.mak trunk/complement/explore/Makefiles/gmake/linux/sys.mak Modified: trunk/complement/explore/Makefiles/clean.mak =================================================================== --- trunk/complement/explore/Makefiles/clean.mak 2006-11-10 19:09:03 UTC (rev 1396) +++ trunk/complement/explore/Makefiles/clean.mak 2006-11-13 11:26:07 UTC (rev 1397) @@ -1,7 +1,15 @@ -# -*- Makefile -*- Time-stamp: <03/07/15 12:19:04 ptr> -# $Id$ +# -*- Makefile -*- Time-stamp: <06/11/11 01:06:53 ptr> +# +# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 +# Petr Ovtchenkov +# +# Portion Copyright (c) 1999-2001 +# Parallel Graphics Ltd. +# +# Licensed under the Academic Free License version 3.0 +# -PHONY += clean clobber distclean +PHONY += clean distclean mostlyclean maintainer-clean uninstall clean:: @-rm -f core core.* @@ -9,7 +17,12 @@ @-rm -f $(OBJ_DBG) $(DEP_DBG) @-rm -f $(OBJ_STLDBG) $(DEP_STLDBG) -clobber:: clean +distclean:: clean + +mostlyclean: clean @-rm -f $(DEPENDS_COLLECTION) + @-rm -f TAGS tags -distclean:: clobber +maintainer-clean: distclean + @rm -f ${RULESBASE}/config.mak + @-rm -f TAGS tags Modified: trunk/complement/explore/Makefiles/gmake/app/clean.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/app/clean.mak 2006-11-10 19:09:03 UTC (rev 1396) +++ trunk/complement/explore/Makefiles/gmake/app/clean.mak 2006-11-13 11:26:07 UTC (rev 1397) @@ -1,12 +1,24 @@ -# -*- makefile -*- Time-stamp: <03/07/10 00:20:54 ptr> -# $Id$ +# -*- makefile -*- Time-stamp: <06/11/11 00:43:13 ptr> +# +# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 +# Petr Ovtchenkov +# +# Portion Copyright (c) 1999-2001 +# Parallel Graphics Ltd. +# +# Licensed under the Academic Free License version 3.0 +# -clobber:: +clean:: @-rm -f ${PRG} @-rm -f ${PRG_DBG} @-rm -f ${PRG_STLDBG} distclean:: + @-rm -f $(DEPENDS_COLLECTION) + @-rmdir -p ${OUTPUT_DIR} ${OUTPUT_DIR_DBG} ${OUTPUT_DIR_STLDBG} 2>/dev/null || exit 0 + +uninstall: @-rm -f $(INSTALL_BIN_DIR)/$(PRG) @-rm -f $(INSTALL_BIN_DIR_DBG)/$(PRG_DBG) @-rm -f $(INSTALL_BIN_DIR_STLDBG)/$(PRG_STLDBG) Modified: trunk/complement/explore/Makefiles/gmake/depend.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/depend.mak 2006-11-10 19:09:03 UTC (rev 1396) +++ trunk/complement/explore/Makefiles/gmake/depend.mak 2006-11-13 11:26:07 UTC (rev 1397) @@ -1,4 +1,4 @@ -# Time-stamp: <06/11/03 18:38:39 ptr> +# Time-stamp: <06/11/11 01:04:15 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -35,9 +35,9 @@ @cat -s $(_ALL_DEP) /dev/null > $(DEPENDS_COLLECTION) TAGS: $(OUTPUT_DIRS) ${_DASH_DEP} - @etags -i -m `cat -s $(_ALL_DEP) /dev/null | sed 's/^.*://;s/\\\\$$//'` + @etags -i -m `cat -s $(_ALL_DEP) /dev/null | sed 's/^.*://;s/\\\\$$//' | uniq -u` tags: $(OUTPUT_DIRS) ${_DASH_DEP} - @ctags -d -g -i -m -t `cat -s $(_ALL_DEP) /dev/null | sed 's/^.*://;s/\\\\$$//'` + @ctags -d --globals --declarations -t -w `cat -s $(_ALL_DEP) /dev/null | sed 's/^.*://;s/\\\\$$//' | uniq -u` -include $(DEPENDS_COLLECTION) Modified: trunk/complement/explore/Makefiles/gmake/lib/clean.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/lib/clean.mak 2006-11-10 19:09:03 UTC (rev 1396) +++ trunk/complement/explore/Makefiles/gmake/lib/clean.mak 2006-11-13 11:26:07 UTC (rev 1397) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/10/12 19:53:46 ptr> +# -*- makefile -*- Time-stamp: <06/11/11 00:43:08 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -9,7 +9,7 @@ # Licensed under the Academic Free License version 3.0 # -clobber:: +clean:: @-rm -f ${SO_NAME_OUT} @-rm -f ${SO_NAME_OUTx} @-rm -f ${SO_NAME_OUTxx} @@ -25,7 +25,6 @@ @-rm -f ${A_NAME_OUT} @-rm -f ${A_NAME_OUT_DBG} @-rm -f ${A_NAME_OUT_STLDBG} - @-rmdir -p ${OUTPUT_DIR} ${OUTPUT_DIR_DBG} ${OUTPUT_DIR_STLDBG} 2>/dev/null || exit 0 ifeq ($(OSNAME), cygming) @-rm -f ${LIB_NAME_OUT} @-rm -f ${LIB_NAME_OUT_DBG} @@ -36,6 +35,10 @@ endif distclean:: + @-rm -f $(DEPENDS_COLLECTION) + @-rmdir -p ${OUTPUT_DIR} ${OUTPUT_DIR_DBG} ${OUTPUT_DIR_STLDBG} 2>/dev/null || exit 0 + +uninstall: @-rm -f $(INSTALL_LIB_DIR)/$(SO_NAME) @-rm -f $(INSTALL_LIB_DIR)/$(SO_NAMEx) @-rm -f $(INSTALL_LIB_DIR)/$(SO_NAMExx) @@ -52,3 +55,4 @@ @-rm -f $(INSTALL_LIB_DIR_DBG)/${A_NAME_OUT_DBG} @-rm -f $(INSTALL_LIB_DIR_STLDBG)/${A_NAME_OUT_STLDBG} @-rmdir -p $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_STLDBG) 2>/dev/null || exit 0 + Modified: trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-11-10 19:09:03 UTC (rev 1396) +++ trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-11-13 11:26:07 UTC (rev 1397) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/11/10 18:42:44 ptr> +# -*- makefile -*- Time-stamp: <06/11/11 00:23:29 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -43,14 +43,52 @@ endif -PHONY += install $(INSTALL_TAGS) +ifndef INSTALL_STRIP_TAGS + +ifndef _NO_SHARED_BUILD +INSTALL_STRIP_TAGS := install-strip-shared +else +INSTALL_STRIP_TAGS := +endif + +ifdef _STATIC_BUILD +INSTALL_STRIP_TAGS += install-release-static +endif + +ifndef _NO_DBG_BUILD +ifndef _NO_SHARED_BUILD +INSTALL_STRIP_TAGS += install-dbg-shared +endif +ifdef _STATIC_BUILD +INSTALL_STRIP_TAGS += install-dbg-static +endif +endif + +ifndef _NO_STLDBG_BUILD +ifndef WITHOUT_STLPORT +ifndef _NO_SHARED_BUILD +INSTALL_STRIP_TAGS += install-stldbg-shared +endif +ifdef _STATIC_BUILD +INSTALL_STRIP_TAGS += install-stldbg-static +endif +endif +endif + +endif + + +PHONY += install install-strip $(INSTALL_TAGS) $(INSTALL_STRIP_TAGS) + install: $(INSTALL_TAGS) +install-strip: $(INSTALL_STRIP_TAGS) + # Workaround forGNU make 3.80; see comments in rules-so.mak define do_install_so_links -$${INSTALL_LIB_DIR$(1)}/$${SO_NAME$(1)xxx}: ${SO_NAME_OUT$(1)xxx} - $$(INSTALL_SO) $${SO_NAME_OUT$(1)xxx} $(INSTALL_LIB_DIR$(1)) +$${INSTALL_LIB_DIR$(1)}/$${SO_NAME$(1)xxx}: $${SO_NAME_OUT$(1)xxx} + $$(INSTALL_SO) $${SO_NAME_OUT$(1)xxx} $$(INSTALL_LIB_DIR$(1)) @$(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)xx},$${SO_NAME$(1)xxx}) @$(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)x},$${SO_NAME$(1)xx}) @$(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)},$${SO_NAME$(1)x}) @@ -72,6 +110,10 @@ install-release-shared: release-shared $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR)/${SO_NAMExxx} ${POST_INSTALL} +install-strip-shared: release-shared $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR)/${SO_NAMExxx} + ${STRIP} ${_SO_STRIP_OPTION} $(INSTALL_LIB_DIR)/${SO_NAMExxx} + ${POST_INSTALL} + install-dbg-shared: dbg-shared $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxxx} ${POST_INSTALL_DBG} Modified: trunk/complement/explore/Makefiles/gmake/linux/rules-so.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/linux/rules-so.mak 2006-11-10 19:09:03 UTC (rev 1396) +++ trunk/complement/explore/Makefiles/gmake/linux/rules-so.mak 2006-11-13 11:26:07 UTC (rev 1397) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/11/03 11:45:22 ptr> +# -*- makefile -*- Time-stamp: <06/11/11 00:23:27 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov Modified: trunk/complement/explore/Makefiles/gmake/linux/sys.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/linux/sys.mak 2006-11-10 19:09:03 UTC (rev 1396) +++ trunk/complement/explore/Makefiles/gmake/linux/sys.mak 2006-11-13 11:26:07 UTC (rev 1397) @@ -1,4 +1,4 @@ -# Time-stamp: <06/11/10 19:18:10 ptr> +# Time-stamp: <06/11/10 23:43:27 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -15,6 +15,8 @@ install-strip: _INSTALL_STRIP_OPTION = -s +install-strip: _SO_STRIP_OPTION = -S + INSTALL_SO := ${INSTALL} -c -m 0755 ${_INSTALL_STRIP_OPTION} INSTALL_A := ${INSTALL} -c -m 0644 INSTALL_EXE := ${INSTALL} -c -m 0755 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-10 19:09:10
|
Revision: 1396 http://svn.sourceforge.net/complement/?rev=1396&view=rev Author: complement Date: 2006-11-10 11:09:03 -0800 (Fri, 10 Nov 2006) Log Message: ----------- use strip, if requested; use proper install- tagets, depends upon config.mak Modified Paths: -------------- trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak trunk/complement/explore/Makefiles/gmake/linux/sys.mak Modified: trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-11-10 15:11:44 UTC (rev 1395) +++ trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-11-10 19:09:03 UTC (rev 1396) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/11/03 11:47:01 ptr> +# -*- makefile -*- Time-stamp: <06/11/10 18:42:44 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -9,12 +9,40 @@ # Licensed under the Academic Free License version 3.0 # -ifndef WITHOUT_STLPORT -INSTALL_TAGS ?= install-release-shared install-dbg-shared install-stldbg-shared +ifndef INSTALL_TAGS + +ifndef _NO_SHARED_BUILD +INSTALL_TAGS := install-release-shared else -INSTALL_TAGS ?= install-release-shared install-dbg-shared +INSTALL_TAGS := endif +ifdef _STATIC_BUILD +INSTALL_TAGS += install-release-static +endif + +ifndef _NO_DBG_BUILD +ifndef _NO_SHARED_BUILD +INSTALL_TAGS += install-dbg-shared +endif +ifdef _STATIC_BUILD +INSTALL_TAGS += install-dbg-static +endif +endif + +ifndef _NO_STLDBG_BUILD +ifndef WITHOUT_STLPORT +ifndef _NO_SHARED_BUILD +INSTALL_TAGS += install-stldbg-shared +endif +ifdef _STATIC_BUILD +INSTALL_TAGS += install-stldbg-static +endif +endif +endif + +endif + PHONY += install $(INSTALL_TAGS) install: $(INSTALL_TAGS) Modified: trunk/complement/explore/Makefiles/gmake/linux/sys.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/linux/sys.mak 2006-11-10 15:11:44 UTC (rev 1395) +++ trunk/complement/explore/Makefiles/gmake/linux/sys.mak 2006-11-10 19:09:03 UTC (rev 1396) @@ -1,9 +1,21 @@ -# Time-stamp: <05/09/09 21:01:23 ptr> -# $Id$ +# Time-stamp: <06/11/10 19:18:10 ptr> +# +# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 +# Petr Ovtchenkov +# +# Portion Copyright (c) 1999-2001 +# Parallel Graphics Ltd. +# +# Licensed under the Academic Free License version 3.0 +# INSTALL := /usr/bin/install -INSTALL_SO := ${INSTALL} -c -m 0755 +STRIP := /usr/bin/strip + +install-strip: _INSTALL_STRIP_OPTION = -s + +INSTALL_SO := ${INSTALL} -c -m 0755 ${_INSTALL_STRIP_OPTION} INSTALL_A := ${INSTALL} -c -m 0644 INSTALL_EXE := ${INSTALL} -c -m 0755 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-10 15:12:06
|
Revision: 1395 http://svn.sourceforge.net/complement/?rev=1395&view=rev Author: complement Date: 2006-11-10 07:11:44 -0800 (Fri, 10 Nov 2006) Log Message: ----------- add static tags; this is the same as shared, except link with static libstlport. allow insist on C and C++ compilers names. This may make happy Debian users, because of package may use names like g++-3.4 here. form ALL_TAGS depends upon options from config.mak, i.e. take into account static, dynamic variants and possible disabling dbg and stldbg variants plus build without STLport. configure assume WITHOUT_STLPORT by default now! Assume gcc compilers family, if no COMPILER_NAME set. Modified Paths: -------------- trunk/complement/explore/Makefiles/ChangeLog trunk/complement/explore/Makefiles/gmake/CC.mak trunk/complement/explore/Makefiles/gmake/aCC.mak trunk/complement/explore/Makefiles/gmake/app/gcc.mak trunk/complement/explore/Makefiles/gmake/app/macro.mak trunk/complement/explore/Makefiles/gmake/app/rules.mak trunk/complement/explore/Makefiles/gmake/app/top.mak trunk/complement/explore/Makefiles/gmake/gcc.mak trunk/complement/explore/Makefiles/gmake/mwccnlm.mak trunk/complement/explore/Makefiles/top.mak trunk/complement/explore/app/utils/RTF/Makefile trunk/complement/explore/configure trunk/complement/explore/lib/mt/Makefile Modified: trunk/complement/explore/Makefiles/ChangeLog =================================================================== --- trunk/complement/explore/Makefiles/ChangeLog 2006-11-10 14:36:53 UTC (rev 1394) +++ trunk/complement/explore/Makefiles/ChangeLog 2006-11-10 15:11:44 UTC (rev 1395) @@ -1,3 +1,18 @@ +2006-11-10 Petr Ovtchenkov <pt...@is...> + + * gmake/app/rules.mak, gmake/app/gcc.mak: add static tags; + this is the same as shared, except link with static libstlport. + + * gmake/CC.mak, gmake/aCC.mak, gmake/gcc.mak, gmake/mwccnlm.mak: + allow insist on C and C++ compilers names. This may make happy + Debian users, because of package may use names like g++-3.4 here. + + * top.mak: form ALL_TAGS depends upon options from config.mak, + i.e. take into account static, dynamic variants and possible + disabling dbg and stldbg variants plus build without STLport. + Note, that configure assume WITHOUT_STLPORT by default now! + Assume gcc compilers family, if no COMPILER_NAME set. + 2006-11-03 Petr Ovtchenkov <pt...@is...> * gmake/linux/rules-so.mak, gmake/linux/rules-install-so.mak: Modified: trunk/complement/explore/Makefiles/gmake/CC.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/CC.mak 2006-11-10 14:36:53 UTC (rev 1394) +++ trunk/complement/explore/Makefiles/gmake/CC.mak 2006-11-10 15:11:44 UTC (rev 1395) @@ -1,16 +1,26 @@ -# Time-stamp: <04/08/23 22:49:14 ptr> -# $Id$ +# Time-stamp: <06/11/10 15:57:24 ptr> +# +# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 +# Petr Ovtchenkov +# +# Portion Copyright (c) 1999-2001 +# Parallel Graphics Ltd. +# +# Licensed under the Academic Free License version 3.0 +# - -#INCLUDES = -I$(SRCROOT)/include INCLUDES := +ifndef _FORCE_CXX CXX := CC +else +CXX := $_FORCE_CXX +endif + +ifndef _FORCE_CC CC := cc - -ifdef TARGET_OS -CXX := ${TARGET_OS}-${CXX} -CC := ${TARGET_OS}-${CC} +else +CC := $_FORCE_CC endif CXX_VERSION := $(shell ${CXX} -V 2>&1 | grep ${CXX} | awk '{ print $$4; }') Modified: trunk/complement/explore/Makefiles/gmake/aCC.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/aCC.mak 2006-11-10 14:36:53 UTC (rev 1394) +++ trunk/complement/explore/Makefiles/gmake/aCC.mak 2006-11-10 15:11:44 UTC (rev 1395) @@ -1,16 +1,26 @@ -# Time-stamp: <05/03/21 10:42:37 ptr> -# $Id$ +# Time-stamp: <06/11/10 15:54:03 ptr> +# +# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 +# Petr Ovtchenkov +# +# Portion Copyright (c) 1999-2001 +# Parallel Graphics Ltd. +# +# Licensed under the Academic Free License version 3.0 +# - -#INCLUDES = -I$(SRCROOT)/include INCLUDES := +ifndef _FORCE_CXX CXX := aCC +else +CXX := $_FORCE_CXX +endif + +ifndef _FORCE_CC CC := aCC - -ifdef TARGET_OS -CXX := ${TARGET_OS}-${CXX} -CC := ${TARGET_OS}-${CC} +else +CC := $_FORCE_CC endif CXX_VERSION := $(shell ${CXX} --version | grep ${CXX} | awk '{ print $$3; }') Modified: trunk/complement/explore/Makefiles/gmake/app/gcc.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/app/gcc.mak 2006-11-10 14:36:53 UTC (rev 1394) +++ trunk/complement/explore/Makefiles/gmake/app/gcc.mak 2006-11-10 15:11:44 UTC (rev 1395) @@ -1,4 +1,13 @@ -# -*- Makefile -*- Time-stamp: <06/01/18 15:04:43 ptr> +# -*- Makefile -*- Time-stamp: <06/11/10 17:28:41 ptr> +# +# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 +# Petr Ovtchenkov +# +# Portion Copyright (c) 1999-2001 +# Parallel Graphics Ltd. +# +# Licensed under the Academic Free License version 3.0 +# ifndef NOT_USE_NOSTDLIB @@ -52,9 +61,13 @@ LDSEARCH += -L${STLPORT_LIB_DIR} release-shared: STLPORT_LIB = -lstlport +release-static: STLPORT_LIB = -Wl,-Bstatic -lstlport -Wl,-Bdynamic dbg-shared: STLPORT_LIB = -lstlportg +dbg-static: STLPORT_LIB = -Wl,-Bstatic -lstlportg -Wl,-Bdynamic stldbg-shared: STLPORT_LIB = -lstlportstlg +stldbg-static: STLPORT_LIB = -Wl,-Bstatic -lstlportstlg -Wl,-Bdynamic + ifeq ($(OSNAME),cygming) LIB_VERSION = ${LIBMAJOR}.${LIBMINOR} release-shared : STLPORT_LIB = -lstlport.${LIB_VERSION} Modified: trunk/complement/explore/Makefiles/gmake/app/macro.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/app/macro.mak 2006-11-10 14:36:53 UTC (rev 1394) +++ trunk/complement/explore/Makefiles/gmake/app/macro.mak 2006-11-10 15:11:44 UTC (rev 1395) @@ -1,5 +1,4 @@ -# Time-stamp: <03/07/15 17:54:22 ptr> -# $Id$ +# Time-stamp: <06/11/10 17:27:33 ptr> PRG := $(OUTPUT_DIR)/${PRGNAME}${EXE} PRG_DBG := $(OUTPUT_DIR_DBG)/${PRGNAME}${EXE} Modified: trunk/complement/explore/Makefiles/gmake/app/rules.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/app/rules.mak 2006-11-10 14:36:53 UTC (rev 1394) +++ trunk/complement/explore/Makefiles/gmake/app/rules.mak 2006-11-10 15:11:44 UTC (rev 1395) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/11/02 10:47:37 ptr> +# -*- makefile -*- Time-stamp: <06/11/10 17:10:45 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -11,10 +11,16 @@ dbg-shared: $(EXTRA_PRE_DBG) $(OUTPUT_DIR_DBG) ${PRG_DBG} $(EXTRA_POST_DBG) +dbg-static: $(EXTRA_PRE_DBG) $(OUTPUT_DIR_DBG) ${PRG_DBG} $(EXTRA_POST_DBG) + release-shared: $(EXTRA_PRE) $(OUTPUT_DIR) ${PRG} $(EXTRA_POST) +release-static: $(EXTRA_PRE) $(OUTPUT_DIR) ${PRG} $(EXTRA_POST) + ifndef WITHOUT_STLPORT stldbg-shared: $(EXTRA_PRE_STLDBG) $(OUTPUT_DIR_STLDBG) ${PRG_STLDBG} $(EXTRA_POST_STLDBG) + +stldbg-static: $(EXTRA_PRE_STLDBG) $(OUTPUT_DIR_STLDBG) ${PRG_STLDBG} $(EXTRA_POST_STLDBG) endif ifeq ("${_C_SOURCES_ONLY}","") Modified: trunk/complement/explore/Makefiles/gmake/app/top.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/app/top.mak 2006-11-10 14:36:53 UTC (rev 1394) +++ trunk/complement/explore/Makefiles/gmake/app/top.mak 2006-11-10 15:11:44 UTC (rev 1395) @@ -1,5 +1,13 @@ -# -*- makefile -*- Time-stamp: <04/07/25 12:44:54 ptr> -# $Id$ +# -*- makefile -*- Time-stamp: <06/11/10 17:28:09 ptr> +# +# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 +# Petr Ovtchenkov +# +# Portion Copyright (c) 1999-2001 +# Parallel Graphics Ltd. +# +# Licensed under the Academic Free License version 3.0 +# include ${RULESBASE}/${USE_MAKE}/app/macro.mak include ${RULESBASE}/${USE_MAKE}/app/${COMPILER_NAME}.mak Modified: trunk/complement/explore/Makefiles/gmake/gcc.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/gcc.mak 2006-11-10 14:36:53 UTC (rev 1394) +++ trunk/complement/explore/Makefiles/gmake/gcc.mak 2006-11-10 15:11:44 UTC (rev 1395) @@ -1,7 +1,25 @@ -# Time-stamp: <05/12/08 00:11:56 ptr> +# Time-stamp: <06/11/10 15:53:35 ptr> +# +# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 +# Petr Ovtchenkov +# +# Portion Copyright (c) 1999-2001 +# Parallel Graphics Ltd. +# +# Licensed under the Academic Free License version 3.0 +# +ifndef _FORCE_CXX CXX := c++ +else +CXX := $_FORCE_CXX +endif + +ifndef _FORCE_CC CC := gcc +else +CC := $_FORCE_CC +endif ifeq ($(OSNAME), cygming) RC := windres Modified: trunk/complement/explore/Makefiles/gmake/mwccnlm.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/mwccnlm.mak 2006-11-10 14:36:53 UTC (rev 1394) +++ trunk/complement/explore/Makefiles/gmake/mwccnlm.mak 2006-11-10 15:11:44 UTC (rev 1395) @@ -1,12 +1,25 @@ -# Time-stamp: <05/06/03 21:30:03 ptr> -# $Id$ +# Time-stamp: <06/11/10 15:56:39 ptr> +# +# Copyright (c) 2005, 2006 +# Petr Ovtchenkov +# +# Licensed under the Academic Free License version 3.0 +# - -#INCLUDES = -I$(SRCROOT)/include INCLUDES := +ifndef _FORCE_CXX CXX := mwccnlm +else +CXX := $_FORCE_CXX +endif + +ifndef _FORCE_CC CC := mwccnlm +else +CC := $_FORCE_CC +endif + LINK.cc = mwldnlm $(LDFLAGS) $(TARGET_ARCH) ifeq ($(OSNAME), cygming) Modified: trunk/complement/explore/Makefiles/top.mak =================================================================== --- trunk/complement/explore/Makefiles/top.mak 2006-11-10 14:36:53 UTC (rev 1394) +++ trunk/complement/explore/Makefiles/top.mak 2006-11-10 15:11:44 UTC (rev 1395) @@ -1,4 +1,4 @@ -# Time-stamp: <06/11/03 18:54:08 ptr> +# Time-stamp: <06/11/10 16:22:00 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -20,12 +20,44 @@ # include file, generated by configure, if available -include ${RULESBASE}/config.mak -ifndef WITHOUT_STLPORT -ALL_TAGS ?= release-shared dbg-shared stldbg-shared +ifndef COMPILER_NAME +COMPILER_NAME := gcc +endif + +ifndef ALL_TAGS + +ifndef _NO_SHARED_BUILD +ALL_TAGS := release-shared else -ALL_TAGS ?= release-shared dbg-shared +ALL_TAGS := endif +ifdef _STATIC_BUILD +ALL_TAGS += release-static +endif + +ifndef _NO_DBG_BUILD +ifndef _NO_SHARED_BUILD +ALL_TAGS += dbg-shared +endif +ifdef _STATIC_BUILD +ALL_TAGS += dbg-static +endif +endif + +ifndef _NO_STLDBG_BUILD +ifndef WITHOUT_STLPORT +ifndef _NO_SHARED_BUILD +ALL_TAGS += stldbg-shared +endif +ifdef _STATIC_BUILD +ALL_TAGS += stldbg-static +endif +endif +endif + +endif + all: $(OUTPUT_DIRS) $(ALL_TAGS) ifndef WITHOUT_STLPORT Modified: trunk/complement/explore/app/utils/RTF/Makefile =================================================================== --- trunk/complement/explore/app/utils/RTF/Makefile 2006-11-10 14:36:53 UTC (rev 1394) +++ trunk/complement/explore/app/utils/RTF/Makefile 2006-11-10 15:11:44 UTC (rev 1395) @@ -1,15 +1,10 @@ # -*- makefile -*- Time-stamp: <05/04/01 00:06:12 ptr> -# $Id$ SRCROOT := ../../../ -COMPILER_NAME = gcc include Makefile.inc include ${SRCROOT}/Makefiles/top.mak -INCLUDES += -I$(STLPORT_INCLUDE_DIR) - LDLIBS += -lrt -lnsl -lfl -LDFLAGS += -L${STLPORT_LIB_DIR} lex.yy.cc: rtf.lex flex -+ rtf.lex Modified: trunk/complement/explore/configure =================================================================== --- trunk/complement/explore/configure 2006-11-10 14:36:53 UTC (rev 1394) +++ trunk/complement/explore/configure 2006-11-10 15:11:44 UTC (rev 1395) @@ -1,6 +1,6 @@ #!/bin/sh -# Time-stamp: <06/06/28 12:05:08 ptr> +# Time-stamp: <06/11/10 15:47:21 ptr> configmak=Makefiles/config.mak @@ -28,9 +28,9 @@ --target=<target> target platform (cross-compiling) --help print this help message and exit --with-stlport=<dir> use STLport in catalog <dir> - --without-stlport compile without STLport + --without-stlport compile without STLport (default) --with-boost=<dir> use boost headers in catalog <dir> - --with-system-boost use boost from system, don't build boost + --with-system-boost use boost installed on this system --with-msvc=<dir> use MS VC from this catalog --with-mssdk=<dir> use MS SDK from this catalog --with-mwcw=<dir> Metrowerks CodeWarrior compiler catalog (useful for mw* compilers) @@ -44,24 +44,63 @@ with --disable-shared, static libraries will be used in any case) --clean remove custom settings (file ${configmak}) and use default values + --with-cxx=<name> use <name> as C++ compiler + --with-cc=<name> use <name> as C compiler + --use-compiler-family=<name> use compiler family; one of: + gcc GNU compilers + icc Intel compilers + mwccnlm Metrowerks CodeWarrior for Novell Netware + aCC HP\'s aCC compilers + CC SunPro\'s CC compilers + default is 'gcc' family + --without-debug don\'t build debug variant + --without-stldebug don\'t build STLport\'s STLP_DEBUG mode + --enable-static build static + --disable-shared don\'t build shared + EOF } +default_settings () { + # if [ "$boost_set" = "" ]; then + # write_option "${PWD}/external/boost" BOOST_DIR + # fi + + if [ "$stlport_set" = "" ]; then + # write_option "${PWD}/external/STLport" STLPORT_DIR + write_option "1" WITHOUT_STLPORT + fi + # write_option "${PWD}/build/" BASE_INSTALL_DIR + if [ "$compiler_family_set" = "" ]; then + write_option gcc COMPILER_NAME + fi +} + case $# in 0) + if [ ! -f ${configmak} ]; then + default_settings + fi exit 0 ;; esac -case $1 in - --help) - print_help - exit 0 - ;; -esac +for a in $@ ; do + case $a in + --help) + print_help + exit 0 + ;; + --clean) + rm -f ${configmak} + exit 0 + ;; + esac +done rm -f ${configmak} +touch ${configmak} while : do @@ -70,20 +109,20 @@ break ;; esac - option=$1 + option="$1" shift case $option in - --clean) - rm -f ${configmak} - ;; --target=*) write_option "$option" TARGET_OS + target_set=y ;; --with-stlport=*) write_option "$option" STLPORT_DIR + stlport_set=y ;; --without-stlport) write_option "1" WITHOUT_STLPORT + stlport_set=y ;; --with-boost=*) write_option "$option" BOOST_DIR @@ -99,6 +138,7 @@ ;; --with-extra-cxxflags=*) write_option "$option" EXTRA_CXXFLAGS + cxxflags_set=y ;; --with-nwsdk=*) write_option "$option" NWSDK_DIR @@ -107,8 +147,71 @@ write_option "$option" MWCW_BASE ;; --use-static-gcc) - write_option "$option" USE_STATIC_LIBGCC + write_option "1" USE_STATIC_LIBGCC ;; + --without-debug) + write_option "1" _NO_DBG_BUILD + ;; + --without-stldebug) + write_option "1" _NO_STLDBG_BUILD + ;; + --enable-static) + write_option "1" _STATIC_BUILD + ;; + --disable-shared) + write_option "1" _NO_SHARED_BUILD + ;; + --with-cxx=*) + write_option "$option" _FORCE_CXX + cxx_set=y + ;; + --with-cc=*) + write_option "$option" _FORCE_CC + cc_set=y + ;; + --use-compiler-family=*) + case `echo $option | sed -e 's/^[^=]*=//'` in + gcc|icc|aCC|CC|mwccnlm) + write_option "$option" COMPILER_NAME + ;; + *) + echo "Not supported compilers family" + exit -1 + ;; + esac + compiler_family_set=y + ;; esac done +if [ "$CXX" != "" ]; then + if [ "$target_set" != "" ]; then + echo "For cross-compilation with gcc use --target option only" + else + write_option "$CXX" _FORCE_CXX + fi + if [ "$cxx_set" != "" ]; then + echo "Both --with-cxx and \$CXX set, using the first" + fi + if [ "$CC" = "" ] && [ "$cc_set" = "" ]; then + echo "\$CXX set, but I don't see \$CC!" + fi +fi + +if [ "$CC" != "" ]; then + if [ "$cxx_set" != "" ]; then + echo "Both --with-cc and \$CC set, using the first" + fi +fi + +if [ "$CXXFLAGS" != "" ]; then + if [ "$cxxflags_set" = "" ]; then + write_option "$CXXFLAGS" EXTRA_CXXFLAGS + else + echo "Both --with-extra-cxxflags and \$CXXFLAGS set, using the first" + fi +fi + +# default settings + +default_settings Modified: trunk/complement/explore/lib/mt/Makefile =================================================================== --- trunk/complement/explore/lib/mt/Makefile 2006-11-10 14:36:53 UTC (rev 1394) +++ trunk/complement/explore/lib/mt/Makefile 2006-11-10 15:11:44 UTC (rev 1395) @@ -1,7 +1,6 @@ -# -*- Makefile -*- Time-stamp: <05/03/25 10:25:31 ptr> +# -*- Makefile -*- Time-stamp: <06/11/10 16:23:01 ptr> SRCROOT := ../.. -COMPILER_NAME := gcc include Makefile.inc include ${SRCROOT}/Makefiles/top.mak This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-10 14:37:00
|
Revision: 1394 http://svn.sourceforge.net/complement/?rev=1394&view=rev Author: complement Date: 2006-11-10 06:36:53 -0800 (Fri, 10 Nov 2006) Log Message: ----------- change stringstream to modern syntax Modified Paths: -------------- trunk/complement/explore/app/utils/RTF/chars.cc trunk/complement/explore/app/utils/RTF/rtf.lex Modified: trunk/complement/explore/app/utils/RTF/chars.cc =================================================================== --- trunk/complement/explore/app/utils/RTF/chars.cc 2006-11-03 16:25:19 UTC (rev 1393) +++ trunk/complement/explore/app/utils/RTF/chars.cc 2006-11-10 14:36:53 UTC (rev 1394) @@ -15,17 +15,9 @@ * in supporting documentation. */ -#ifdef __unix -# ifdef __HP_aCC -#pragma VERSIONID "@(#)$Id$" -# else -#pragma ident "@(#)$Id$" -# endif -#endif +// #include <iostream> +// #include <sstream> -#include <iostream> -#include <strstream> - using namespace std; void parse(); Modified: trunk/complement/explore/app/utils/RTF/rtf.lex =================================================================== --- trunk/complement/explore/app/utils/RTF/rtf.lex 2006-11-03 16:25:19 UTC (rev 1393) +++ trunk/complement/explore/app/utils/RTF/rtf.lex 2006-11-10 14:36:53 UTC (rev 1394) @@ -19,14 +19,6 @@ %option c++ %{ -#ifdef __unix -# ifdef __HP_aCC -#pragma VERSIONID "@(#)$Id$" -# else -#pragma ident "@(#)$Id$" -# endif -#endif - #include <iostream> #include <iomanip> #include <sstream> @@ -35,6 +27,8 @@ using namespace std; +extern "C" int yywrap(); + struct Lex { Lex() : brace( 0 ), @@ -66,7 +60,7 @@ \{ la.brace++; // cerr << la.brace << endl; \\\'[0-9a-f][[0-9a-f] { - istringstream i( YYText(), YYLeng() ); + istringstream i( string(YYText(), YYLeng()) ); unsigned c; // char ch; i.seekg( 2, ios_base::beg ); @@ -317,7 +311,7 @@ BEGIN(FONT); la.mode = FONT; la.brace++; - istringstream s( YYText(), YYLeng() ); + istringstream s( string(YYText(), YYLeng()) ); s.seekg( 3, ios_base::beg ); int n; s >> n; @@ -592,7 +586,7 @@ } \\version[0-9]+ { - istringstream i( YYText(), YYLeng() ); + istringstream i( string(YYText(), YYLeng()) ); unsigned c; i.seekg( 8, ios_base::beg ); i >> c; @@ -600,7 +594,7 @@ } \\edmins[0-9]+ { - istringstream i( YYText(), YYLeng() ); + istringstream i( string(YYText(), YYLeng()) ); unsigned c; i.seekg( 7, ios_base::beg ); i >> c; @@ -608,7 +602,7 @@ } \\nofpages[0-9]+ { - istringstream i( YYText(), YYLeng() ); + istringstream i( string(YYText(), YYLeng()) ); unsigned c; i.seekg( 9, ios_base::beg ); i >> c; @@ -678,35 +672,35 @@ } } \\yr[0-9]{4} { - istringstream i( YYText(), YYLeng() ); + istringstream i( string(YYText(), YYLeng()) ); unsigned c; i.seekg( 3, ios_base::beg ); i >> c; cout << c; } \\mo[0-9]{1,2} { - istringstream i( YYText(), YYLeng() ); + istringstream i( string(YYText(), YYLeng()) ); unsigned c; i.seekg( 3, ios_base::beg ); i >> c; cout << "-" << setw(2) << setfill('0') << c; } \\dy[0-9]{1,2} { - istringstream i( YYText(), YYLeng() ); + istringstream i( string(YYText(), YYLeng()) ); unsigned c; i.seekg( 3, ios_base::beg ); i >> c; cout << "-" << setw(2) << setfill('0') << c; } \\hr[0-9]{1,2} { - istringstream i( YYText(), YYLeng() ); + istringstream i( string(YYText(), YYLeng()) ); unsigned c; i.seekg( 3, ios_base::beg ); i >> c; cout << " " << setw(2) << setfill('0') << c; } \\min[0-9]{1,2} { - istringstream i( YYText(), YYLeng() ); + istringstream i( string(YYText(), YYLeng()) ); unsigned c; i.seekg( 4, ios_base::beg ); i >> c; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-03 16:25:28
|
Revision: 1393 http://svn.sourceforge.net/complement/?rev=1393&view=rev Author: complement Date: 2006-11-03 08:25:19 -0800 (Fri, 03 Nov 2006) Log Message: ----------- fix issues WITHOUT_STLPORT Modified Paths: -------------- trunk/complement/explore/Makefiles/gmake/depend.mak trunk/complement/explore/Makefiles/gmake/targetdirs.mak trunk/complement/explore/Makefiles/top.mak Modified: trunk/complement/explore/Makefiles/gmake/depend.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/depend.mak 2006-11-03 15:15:59 UTC (rev 1392) +++ trunk/complement/explore/Makefiles/gmake/depend.mak 2006-11-03 16:25:19 UTC (rev 1393) @@ -1,21 +1,43 @@ -# Time-stamp: <06/08/24 10:09:17 ptr> +# Time-stamp: <06/11/03 18:38:39 ptr> +# +# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 +# Petr Ovtchenkov +# +# Portion Copyright (c) 1999-2001 +# Parallel Graphics Ltd. +# +# Licensed under the Academic Free License version 3.0 +# PHONY += release-static-dep release-shared-dep dbg-static-dep dbg-shared-dep \ - stldbg-static-dep stldbg-shared-dep depend + depend +ifndef WITHOUT_STLPORT +PHONY += stldbg-static-dep stldbg-shared-dep +endif + release-static-dep release-shared-dep: $(DEP) dbg-static-dep dbg-shared-dep: $(DEP_DBG) +ifndef WITHOUT_STLPORT stldbg-static-dep stldbg-shared-dep: $(DEP_STLDBG) -depend: $(OUTPUT_DIRS) release-shared-dep dbg-shared-dep stldbg-shared-dep - @cat -s $(DEP) $(DEP_DBG) $(DEP_STLDBG) /dev/null > $(DEPENDS_COLLECTION) +_ALL_DEP := $(DEP) $(DEP_DBG) $(DEP_STLDBG) +_DASH_DEP := release-shared-dep dbg-shared-dep stldbg-shared-dep +else +_ALL_DEP := $(DEP) $(DEP_DBG) +_DASH_DEP := release-shared-dep dbg-shared-dep +endif -TAGS: $(OUTPUT_DIRS) release-shared-dep dbg-shared-dep stldbg-shared-dep - @etags -i -m `cat -s $(DEP) $(DEP_DBG) $(DEP_STLDBG) | sed 's/^.*://;s/\\\\$$//'` -tags: $(OUTPUT_DIRS) release-shared-dep dbg-shared-dep stldbg-shared-dep - @ctags -d -g -i -m -t `cat -s $(DEP) $(DEP_DBG) $(DEP_STLDBG) | sed 's/^.*://;s/\\\\$$//'` +depend: $(OUTPUT_DIRS) ${_DASH_DEP} + @cat -s $(_ALL_DEP) /dev/null > $(DEPENDS_COLLECTION) +TAGS: $(OUTPUT_DIRS) ${_DASH_DEP} + @etags -i -m `cat -s $(_ALL_DEP) /dev/null | sed 's/^.*://;s/\\\\$$//'` + +tags: $(OUTPUT_DIRS) ${_DASH_DEP} + @ctags -d -g -i -m -t `cat -s $(_ALL_DEP) /dev/null | sed 's/^.*://;s/\\\\$$//'` + -include $(DEPENDS_COLLECTION) Modified: trunk/complement/explore/Makefiles/gmake/targetdirs.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/targetdirs.mak 2006-11-03 15:15:59 UTC (rev 1392) +++ trunk/complement/explore/Makefiles/gmake/targetdirs.mak 2006-11-03 16:25:19 UTC (rev 1393) @@ -1,4 +1,4 @@ -# Time-stamp: <06/10/12 19:53:42 ptr> +# Time-stamp: <06/11/03 18:47:05 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -19,7 +19,9 @@ PRE_OUTPUT_DIR := $(BASE_OUTPUT_DIR)/$(TARGET_NAME)$(COMPILER_NAME) OUTPUT_DIR := $(PRE_OUTPUT_DIR)/so$(EXTRA_DIRS) OUTPUT_DIR_DBG := $(PRE_OUTPUT_DIR)/so_g$(EXTRA_DIRS) +ifndef WITHOUT_STLPORT OUTPUT_DIR_STLDBG := $(PRE_OUTPUT_DIR)/so_stlg$(EXTRA_DIRS) +endif # file to store generated dependencies for make: DEPENDS_COLLECTION := $(PRE_OUTPUT_DIR)/.make.depend @@ -27,7 +29,9 @@ # I use the same catalog, as for shared: OUTPUT_DIR_A := $(OUTPUT_DIR) OUTPUT_DIR_A_DBG := $(OUTPUT_DIR_DBG) +ifndef WITHOUT_STLPORT OUTPUT_DIR_A_STLDBG := $(OUTPUT_DIR_STLDBG) +endif BASE_INSTALL_DIR ?= ${SRCROOT}/build/$(TARGET_NAME) @@ -36,16 +40,30 @@ INSTALL_LIB_DIR ?= ${BASE_INSTALL_LIB_DIR}lib INSTALL_LIB_DIR_DBG ?= ${BASE_INSTALL_LIB_DIR}lib +ifndef WITHOUT_STLPORT INSTALL_LIB_DIR_STLDBG ?= ${BASE_INSTALL_LIB_DIR}lib +endif INSTALL_BIN_DIR ?= ${BASE_INSTALL_BIN_DIR}bin INSTALL_BIN_DIR_DBG ?= ${INSTALL_BIN_DIR}_g +ifndef WITHOUT_STLPORT INSTALL_BIN_DIR_STLDBG ?= ${INSTALL_BIN_DIR}_stlg +endif +ifndef WITHOUT_STLPORT OUTPUT_DIRS := $(OUTPUT_DIR) $(OUTPUT_DIR_DBG) $(OUTPUT_DIR_STLDBG) \ $(OUTPUT_DIR_A) $(OUTPUT_DIR_A_DBG) $(OUTPUT_DIR_A_STLDBG) +else +OUTPUT_DIRS := $(OUTPUT_DIR) $(OUTPUT_DIR_DBG) \ + $(OUTPUT_DIR_A) $(OUTPUT_DIR_A_DBG) +endif +ifndef WITHOUT_STLPORT INSTALL_LIB_DIRS := $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_STLDBG) INSTALL_BIN_DIRS := $(INSTALL_BIN_DIR) $(INSTALL_BIN_DIR_DBG) $(INSTALL_BIN_DIR_STLDBG) +else +INSTALL_LIB_DIRS := $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR_DBG) +INSTALL_BIN_DIRS := $(INSTALL_BIN_DIR) $(INSTALL_BIN_DIR_DBG) +endif # sort will remove duplicates: OUTPUT_DIRS := $(sort $(OUTPUT_DIRS)) Modified: trunk/complement/explore/Makefiles/top.mak =================================================================== --- trunk/complement/explore/Makefiles/top.mak 2006-11-03 15:15:59 UTC (rev 1392) +++ trunk/complement/explore/Makefiles/top.mak 2006-11-03 16:25:19 UTC (rev 1393) @@ -1,4 +1,4 @@ -# Time-stamp: <06/11/02 10:32:17 ptr> +# Time-stamp: <06/11/03 18:54:08 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -17,6 +17,9 @@ RULESBASE ?= $(SRCROOT)/Makefiles +# include file, generated by configure, if available +-include ${RULESBASE}/config.mak + ifndef WITHOUT_STLPORT ALL_TAGS ?= release-shared dbg-shared stldbg-shared else @@ -33,9 +36,6 @@ all-shared: release-shared dbg-shared endif -# include file, generated by configure, if available --include ${RULESBASE}/config.mak - ifdef WITHOUT_STLPORT NOT_USE_NOSTDLIB := 1 endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-03 15:16:08
|
Revision: 1392 http://svn.sourceforge.net/complement/?rev=1392&view=rev Author: complement Date: 2006-11-03 07:15:59 -0800 (Fri, 03 Nov 2006) Log Message: ----------- typo Modified Paths: -------------- branches/Makefiles/explore/Makefiles/gmake/linux/rules-so.mak Modified: branches/Makefiles/explore/Makefiles/gmake/linux/rules-so.mak =================================================================== --- branches/Makefiles/explore/Makefiles/gmake/linux/rules-so.mak 2006-11-03 14:01:48 UTC (rev 1391) +++ branches/Makefiles/explore/Makefiles/gmake/linux/rules-so.mak 2006-11-03 15:15:59 UTC (rev 1392) @@ -22,11 +22,11 @@ endif define do_so_links_1 -@if [ -h $(1)/$(2)} ] ; then \ +@if [ -h $(1)/$(2) ] ; then \ if [ `readlink $(1)/$(2)` != "$(3)" ]; then \ rm $(1)/$(2); \ ln -s $(3) $(1)/$(2); \ - fi \ + fi; \ else \ ln -s $(3) $(1)/$(2); \ fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-03 14:01:55
|
Revision: 1391 http://svn.sourceforge.net/complement/?rev=1391&view=rev Author: complement Date: 2006-11-03 06:01:48 -0800 (Fri, 03 Nov 2006) Log Message: ----------- fix typo; add semicolon; change point of disabling echo Modified Paths: -------------- trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak trunk/complement/explore/Makefiles/gmake/linux/rules-so.mak Modified: trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-11-03 13:38:09 UTC (rev 1390) +++ trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-11-03 14:01:48 UTC (rev 1391) @@ -23,9 +23,9 @@ define do_install_so_links $${INSTALL_LIB_DIR$(1)}/$${SO_NAME$(1)xxx}: ${SO_NAME_OUT$(1)xxx} $$(INSTALL_SO) $${SO_NAME_OUT$(1)xxx} $(INSTALL_LIB_DIR$(1)) - $(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)xx},$${SO_NAME$(1)xxx}) - $(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)x},$${SO_NAME$(1)xx}) - $(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)},$${SO_NAME$(1)x}) + @$(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)xx},$${SO_NAME$(1)xxx}) + @$(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)x},$${SO_NAME$(1)xx}) + @$(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)},$${SO_NAME$(1)x}) endef define do_install_so_links_wk Modified: trunk/complement/explore/Makefiles/gmake/linux/rules-so.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/linux/rules-so.mak 2006-11-03 13:38:09 UTC (rev 1390) +++ trunk/complement/explore/Makefiles/gmake/linux/rules-so.mak 2006-11-03 14:01:48 UTC (rev 1391) @@ -22,14 +22,14 @@ endif define do_so_links_1 -@if [ -h $(1)/$(2)} ] ; then \ +if [ -h $(1)/$(2) ]; then \ if [ `readlink $(1)/$(2)` != "$(3)" ]; then \ rm $(1)/$(2); \ ln -s $(3) $(1)/$(2); \ - fi \ + fi; \ else \ ln -s $(3) $(1)/$(2); \ -fi +fi; endef # Workaround for GNU make 3.80: it fail on 'eval' within 'if' @@ -53,9 +53,9 @@ else $$(LINK.c) $$(LINK_OUTPUT_OPTION) $$(OBJ$(1)) $$(LDLIBS) endif - $(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)xx},$${SO_NAME$(1)xxx}) - $(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)x},$${SO_NAME$(1)xx}) - $(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)},$${SO_NAME$(1)x}) + @$(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)xx},$${SO_NAME$(1)xxx}) + @$(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)x},$${SO_NAME$(1)xx}) + @$(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)},$${SO_NAME$(1)x}) endef define do_so_links_wk This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-03 13:38:21
|
Revision: 1390 http://svn.sourceforge.net/complement/?rev=1390&view=rev Author: complement Date: 2006-11-03 05:38:09 -0800 (Fri, 03 Nov 2006) Log Message: ----------- generate rules with macro expansion---real metaprogramming within make; recursive file inclusion to build rules for few catalogs not required more. Notes: this changes may confuse GNU make 3.79.x; I check this with GNU make 3.80 and 3.81---support of 3.80 has required few workarounds relative smooth code for 3.81. Modified Paths: -------------- trunk/complement/explore/Makefiles/ChangeLog trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak trunk/complement/explore/Makefiles/gmake/linux/rules-so.mak trunk/complement/explore/Makefiles/gmake/targets.mak Removed Paths: ------------- trunk/complement/explore/Makefiles/gmake/dirsrc.mak trunk/complement/explore/Makefiles/rules-d.mak trunk/complement/explore/Makefiles/rules-o.mak trunk/complement/explore/Makefiles/rules-res.mak Modified: trunk/complement/explore/Makefiles/ChangeLog =================================================================== --- trunk/complement/explore/Makefiles/ChangeLog 2006-11-03 12:26:36 UTC (rev 1389) +++ trunk/complement/explore/Makefiles/ChangeLog 2006-11-03 13:38:09 UTC (rev 1390) @@ -1,3 +1,20 @@ +2006-11-03 Petr Ovtchenkov <pt...@is...> + + * gmake/linux/rules-so.mak, gmake/linux/rules-install-so.mak: + generate rules with macro expansion---real metaprogramming + within make; + + * gmake/targets.mak: generate rules with macro expansion, + recursive file inclusion to build rules for few catalogs not + required more. + + * rules-d.mak, rules-res.mak, rules-o.mak, gmake/dirsrc.mak: + removed + + * Notes: this changes may confuse GNU make 3.79.x; I check + this with GNU make 3.80 and 3.81---support of 3.80 has required + few workarounds relative smooth code for 3.81. + 2006-11-02 Petr Ovtchenkov <pt...@is...> * gmake/app/rules-install.mak, gmake/app/rules.mak: Deleted: trunk/complement/explore/Makefiles/gmake/dirsrc.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/dirsrc.mak 2006-11-03 12:26:36 UTC (rev 1389) +++ trunk/complement/explore/Makefiles/gmake/dirsrc.mak 2006-11-03 13:38:09 UTC (rev 1390) @@ -1,24 +0,0 @@ -# -*- Makefile -*- Time-stamp: <03/10/27 18:07:14 ptr> -# $Id$ - -# Some trick to build implicit rules for sources in some different -# subdirectories. I remove catalogs from path to sources, with this -# names I build output object path, and provide dependency from -# source in directory. Due to no loops for rules definition, I should -# use recursion here; - -# try take directory from list: -WORD1 := $(word 1,$(DIRS_UNIQUE_SRC)) - -# is still directory in the list? -ifneq "$(WORD1)" "" -include ${RULESBASE}/rules-o.mak -include ${RULESBASE}/rules-d.mak -ifeq ($(OSNAME),cygming) -include ${RULESBASE}/rules-res.mak -endif -# remove processed directory from list -DIRS_UNIQUE_SRC := $(filter-out $(WORD1),$(DIRS_UNIQUE_SRC)) -# recursive include here: -include ${RULESBASE}/${USE_MAKE}/dirsrc.mak -endif Modified: trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-11-03 12:26:36 UTC (rev 1389) +++ trunk/complement/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-11-03 13:38:09 UTC (rev 1390) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/11/02 10:43:02 ptr> +# -*- makefile -*- Time-stamp: <06/11/03 11:47:01 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -19,97 +19,35 @@ install: $(INSTALL_TAGS) -$(INSTALL_LIB_DIR)/${SO_NAMExxx}: ${SO_NAME_OUTxxx} - $(INSTALL_SO) ${SO_NAME_OUTxxx} $(INSTALL_LIB_DIR) - @if [ -h $(INSTALL_LIB_DIR)/${SO_NAMExx} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR)/${SO_NAMExx}` != "${SO_NAMExxx}" ]; then \ - rm $(INSTALL_LIB_DIR)/${SO_NAMExx}; \ - ln -s ${SO_NAMExxx} $(INSTALL_LIB_DIR)/${SO_NAMExx}; \ - fi \ - else \ - ln -s ${SO_NAMExxx} $(INSTALL_LIB_DIR)/${SO_NAMExx}; \ - fi - @if [ -h $(INSTALL_LIB_DIR)/${SO_NAMEx} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR)/${SO_NAMEx}` != "${SO_NAMExx}" ]; then \ - rm $(INSTALL_LIB_DIR)/${SO_NAMEx}; \ - ln -s ${SO_NAMExx} $(INSTALL_LIB_DIR)/${SO_NAMEx}; \ - fi \ - else \ - ln -s ${SO_NAMExx} $(INSTALL_LIB_DIR)/${SO_NAMEx}; \ - fi - @if [ -h $(INSTALL_LIB_DIR)/${SO_NAME} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR)/${SO_NAME}` != "${SO_NAMEx}" ]; then \ - rm $(INSTALL_LIB_DIR)/${SO_NAME}; \ - ln -s ${SO_NAMEx} $(INSTALL_LIB_DIR)/${SO_NAME}; \ - fi \ - else \ - ln -s ${SO_NAMEx} $(INSTALL_LIB_DIR)/${SO_NAME}; \ - fi +# Workaround forGNU make 3.80; see comments in rules-so.mak +define do_install_so_links +$${INSTALL_LIB_DIR$(1)}/$${SO_NAME$(1)xxx}: ${SO_NAME_OUT$(1)xxx} + $$(INSTALL_SO) $${SO_NAME_OUT$(1)xxx} $(INSTALL_LIB_DIR$(1)) + $(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)xx},$${SO_NAME$(1)xxx}) + $(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)x},$${SO_NAME$(1)xx}) + $(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)},$${SO_NAME$(1)x}) +endef +define do_install_so_links_wk +# expand to nothing, if WITHOUT_STLPORT +ifndef WITHOUT_STLPORT +$(call do_install_so_links,$(1)) +endif +endef + +$(eval $(call do_install_so_links,)) +$(eval $(call do_install_so_links,_DBG)) +# ifndef WITHOUT_STLPORT +$(eval $(call do_install_so_links_wk,_STLDBG)) +# endif + install-release-shared: release-shared $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR)/${SO_NAMExxx} ${POST_INSTALL} -$(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxxx}: ${SO_NAME_OUT_DBGxxx} - $(INSTALL_SO) ${SO_NAME_OUT_DBGxxx} $(INSTALL_LIB_DIR_DBG) - @if [ -h $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx}` != "${SO_NAME_DBGxxx}" ]; then \ - rm $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx}; \ - ln -s ${SO_NAME_DBGxxx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGxxx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx}; \ - fi - @if [ -h $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx}` != "${SO_NAME_DBGxx}" ]; then \ - rm $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx}; \ - ln -s ${SO_NAME_DBGxx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGxx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx}; \ - fi - @if [ -h $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG}` != "${SO_NAME_DBGx}" ]; then \ - rm $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG}; \ - ln -s ${SO_NAME_DBGx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG}; \ - fi - - install-dbg-shared: dbg-shared $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxxx} ${POST_INSTALL_DBG} ifndef WITHOUT_STLPORT -$(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxxx}: ${SO_NAME_OUT_STLDBGxxx} - $(INSTALL_SO) ${SO_NAME_OUT_STLDBGxxx} $(INSTALL_LIB_DIR_STLDBG) - @if [ -h $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx}` != "${SO_NAME_STLDBGxxx}" ]; then \ - rm $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - ln -s ${SO_NAME_STLDBGxxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGxxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - fi - @if [ -h $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}` != "${SO_NAME_STLDBGxx}" ]; then \ - rm $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - ln -s ${SO_NAME_STLDBGxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - fi - @if [ -h $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG}` != "${SO_NAME_STLDBGx}" ]; then \ - rm $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - ln -s ${SO_NAME_STLDBGx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - fi - install-stldbg-shared: stldbg-shared $(INSTALL_LIB_DIR_STLDBG) $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxxx} ${POST_INSTALL_STLDBG} - -# WITHOUT_STLPORT endif Modified: trunk/complement/explore/Makefiles/gmake/linux/rules-so.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/linux/rules-so.mak 2006-11-03 12:26:36 UTC (rev 1389) +++ trunk/complement/explore/Makefiles/gmake/linux/rules-so.mak 2006-11-03 13:38:09 UTC (rev 1390) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/11/02 10:40:52 ptr> +# -*- makefile -*- Time-stamp: <06/11/03 11:45:22 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -18,187 +18,55 @@ dbg-shared: $(OUTPUT_DIR_DBG) ${SO_NAME_OUT_DBGxxx} ifndef WITHOUT_STLPORT - stldbg-shared: $(OUTPUT_DIR_STLDBG) ${SO_NAME_OUT_STLDBGxxx} - endif -ifeq ("${_C_SOURCES_ONLY}","") +define do_so_links_1 +@if [ -h $(1)/$(2)} ] ; then \ + if [ `readlink $(1)/$(2)` != "$(3)" ]; then \ + rm $(1)/$(2); \ + ln -s $(3) $(1)/$(2); \ + fi \ +else \ + ln -s $(3) $(1)/$(2); \ +fi +endef -${SO_NAME_OUTxxx}: $(OBJ) $(LIBSDEP) - $(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(OBJ) $(LDLIBS) ${STDLIBS} ${END_OBJ} - @if [ -h $(OUTPUT_DIR)/${SO_NAMExx} ] ; then \ - if [ `readlink $(OUTPUT_DIR)/${SO_NAMExx}` != "${SO_NAMExxx}" ]; then \ - rm $(OUTPUT_DIR)/${SO_NAMExx}; \ - ln -s ${SO_NAMExxx} $(OUTPUT_DIR)/${SO_NAMExx}; \ - fi \ - else \ - ln -s ${SO_NAMExxx} $(OUTPUT_DIR)/${SO_NAMExx}; \ - fi - @if [ -h $(OUTPUT_DIR)/${SO_NAMEx} ] ; then \ - if [ `readlink $(OUTPUT_DIR)/${SO_NAMEx}` != "${SO_NAMExx}" ]; then \ - rm $(OUTPUT_DIR)/${SO_NAMEx}; \ - ln -s ${SO_NAMExx} $(OUTPUT_DIR)/${SO_NAMEx}; \ - fi \ - else \ - ln -s ${SO_NAMExx} $(OUTPUT_DIR)/${SO_NAMEx}; \ - fi - @if [ -h $(OUTPUT_DIR)/${SO_NAME} ] ; then \ - if [ `readlink $(OUTPUT_DIR)/${SO_NAME}` != "${SO_NAMEx}" ]; then \ - rm $(OUTPUT_DIR)/${SO_NAME}; \ - ln -s ${SO_NAMEx} $(OUTPUT_DIR)/${SO_NAME}; \ - fi \ - else \ - ln -s ${SO_NAMEx} $(OUTPUT_DIR)/${SO_NAME}; \ - fi +# Workaround for GNU make 3.80: it fail on 'eval' within 'if' +# directive after some level of complexity, i.e. after complex +# rules it fails on code: +# +# $(eval $(call do_so_links,cc,)) +# $(eval $(call do_so_links,cc,_DBG)) +# ifndef WITHOUT_STLPORT +# $(eval $(call do_so_links,cc,_STLDBG)) +# endif +# +# Put 'if' logic into defined macro looks as workaround. +# +# The GNU make 3.81 free from this problem, but it new... -${SO_NAME_OUT_DBGxxx}: $(OBJ_DBG) $(LIBSDEP) - $(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(OBJ_DBG) $(LDLIBS) ${STDLIBS} ${END_OBJ} - @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}` != "${SO_NAME_DBGxxx}" ]; then \ - rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ - ln -s ${SO_NAME_DBGxxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGxxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ - fi - @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}` != "${SO_NAME_DBGxx}" ]; then \ - rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ - ln -s ${SO_NAME_DBGxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ - fi - @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBG} ] ; then \ - if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}` != "${SO_NAME_DBGx}" ]; then \ - rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ - ln -s ${SO_NAME_DBGx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ - fi - -ifndef WITHOUT_STLPORT - -${SO_NAME_OUT_STLDBGxxx}: $(OBJ_STLDBG) $(LIBSDEP) - $(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(OBJ_STLDBG) $(LDLIBS) ${STDLIBS} ${END_OBJ} - @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}` != "${SO_NAME_STLDBGxxx}" ]; then \ - rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - ln -s ${SO_NAME_STLDBGxxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGxxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - fi - @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}` != "${SO_NAME_STLDBGxx}" ]; then \ - rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - ln -s ${SO_NAME_STLDBGxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - fi - @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG} ] ; then \ - if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}` != "${SO_NAME_STLDBGx}" ]; then \ - rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - ln -s ${SO_NAME_STLDBGx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - fi - -# WITHOUT_STLPORT +define do_so_links +$${SO_NAME_OUT$(1)xxx}: $$(OBJ$(1)) $$(LIBSDEP) +ifeq ("${_C_SOURCES_ONLY}","") + $$(LINK.cc) $$(LINK_OUTPUT_OPTION) $${START_OBJ} $$(OBJ$(1)) $$(LDLIBS) $${STDLIBS} $${END_OBJ} +else + $$(LINK.c) $$(LINK_OUTPUT_OPTION) $$(OBJ$(1)) $$(LDLIBS) endif + $(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)xx},$${SO_NAME$(1)xxx}) + $(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)x},$${SO_NAME$(1)xx}) + $(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)},$${SO_NAME$(1)x}) +endef -# _C_SOURCES_ONLY -else - -${SO_NAME_OUTxxx}: $(OBJ) $(LIBSDEP) - $(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ) $(LDLIBS) - @if [ -h $(OUTPUT_DIR)/${SO_NAMExx} ] ; then \ - if [ `readlink $(OUTPUT_DIR)/${SO_NAMExx}` != "${SO_NAMExxx}" ]; then \ - rm $(OUTPUT_DIR)/${SO_NAMExx}; \ - ln -s ${SO_NAMExxx} $(OUTPUT_DIR)/${SO_NAMExx}; \ - fi \ - else \ - ln -s ${SO_NAMExxx} $(OUTPUT_DIR)/${SO_NAMExx}; \ - fi - @if [ -h $(OUTPUT_DIR)/${SO_NAMEx} ] ; then \ - if [ `readlink $(OUTPUT_DIR)/${SO_NAMEx}` != "${SO_NAMExx}" ]; then \ - rm $(OUTPUT_DIR)/${SO_NAMEx}; \ - ln -s ${SO_NAMExx} $(OUTPUT_DIR)/${SO_NAMEx}; \ - fi \ - else \ - ln -s ${SO_NAMExx} $(OUTPUT_DIR)/${SO_NAMEx}; \ - fi - @if [ -h $(OUTPUT_DIR)/${SO_NAME} ] ; then \ - if [ `readlink $(OUTPUT_DIR)/${SO_NAME}` != "${SO_NAMEx}" ]; then \ - rm $(OUTPUT_DIR)/${SO_NAME}; \ - ln -s ${SO_NAMEx} $(OUTPUT_DIR)/${SO_NAME}; \ - fi \ - else \ - ln -s ${SO_NAMEx} $(OUTPUT_DIR)/${SO_NAME}; \ - fi - -${SO_NAME_OUT_DBGxxx}: $(OBJ_DBG) $(LIBSDEP) - $(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ_DBG) $(LDLIBS) - @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}` != "${SO_NAME_DBGxxx}" ]; then \ - rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ - ln -s ${SO_NAME_DBGxxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGxxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ - fi - @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}` != "${SO_NAME_DBGxx}" ]; then \ - rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ - ln -s ${SO_NAME_DBGxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ - fi - @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBG} ] ; then \ - if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}` != "${SO_NAME_DBGx}" ]; then \ - rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ - ln -s ${SO_NAME_DBGx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ - fi - +define do_so_links_wk +# expand to nothing, if WITHOUT_STLPORT ifndef WITHOUT_STLPORT - -${SO_NAME_OUT_STLDBGxxx}: $(OBJ_STLDBG) $(LIBSDEP) - $(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ_STLDBG) $(LDLIBS) - @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}` != "${SO_NAME_STLDBGxxx}" ]; then \ - rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - ln -s ${SO_NAME_STLDBGxxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGxxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - fi - @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}` != "${SO_NAME_STLDBGxx}" ]; then \ - rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - ln -s ${SO_NAME_STLDBGxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - fi - @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG} ] ; then \ - if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}` != "${SO_NAME_STLDBGx}" ]; then \ - rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - ln -s ${SO_NAME_STLDBGx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - fi - -# WITHOUT_STLPORT +$(call do_so_links,$(1)) endif +endef -# !_C_SOURCES_ONLY -endif +$(eval $(call do_so_links,)) +$(eval $(call do_so_links,_DBG)) +# ifndef WITHOUT_STLPORT +$(eval $(call do_so_links_wk,_STLDBG)) +# endif Modified: trunk/complement/explore/Makefiles/gmake/targets.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/targets.mak 2006-11-03 12:26:36 UTC (rev 1389) +++ trunk/complement/explore/Makefiles/gmake/targets.mak 2006-11-03 13:38:09 UTC (rev 1390) @@ -1,5 +1,13 @@ -# Time-stamp: <05/04/15 17:23:30 ptr> -# $Id$ +# Time-stamp: <06/11/03 12:09:39 ptr> +# +# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 +# Petr Ovtchenkov +# +# Portion Copyright (c) 1999-2001 +# Parallel Graphics Ltd. +# +# Licensed under the Academic Free License version 3.0 +# # If we have no C++ sources, let's use C compiler for linkage instead of C++. ifeq ("$(sort ${SRC_CC} ${SRC_CPP} ${SRC_CXX})","") @@ -7,16 +15,85 @@ _C_SOURCES_ONLY := true endif -# if sources disposed in several dirs, calculate -# appropriate rules; here is recursive call! +# if sources disposed in several dirs, calculate appropriate rules DIRS_UNIQUE_SRC := $(dir $(SRC_CPP) $(SRC_CC) $(SRC_CXX) $(SRC_C) $(SRC_S) ) ifeq (${OSNAME},cygming) -DIRS_UNIQUE_SRC += $(dir $(SRC_RC) ) +DIRS_UNIQUE_SRC := ${DIRS_UNIQUE_SRC} $(dir $(SRC_RC) ) endif DIRS_UNIQUE_SRC := $(sort $(DIRS_UNIQUE_SRC) ) -include ${RULESBASE}/${USE_MAKE}/dirsrc.mak +# The rules below may be even simpler (i.e. define macro that generate +# rules for COMPILE.xx), but this GNU make 3.80 unhappy with it; +# GNU make 3.81 work fine, but 3.81 is new... +# The code below verbose, but this is price for compatibility with 3.80 + +define rule_o +$$(OUTPUT_DIR$(1))/%.o: $(2)%.cc + $$(COMPILE.cc) $$(OUTPUT_OPTION) $$< + +$$(OUTPUT_DIR$(1))/%.d: $(2)%.cc + @$$(COMPILE.cc) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1)) + +$$(OUTPUT_DIR$(1))/%.o: $(2)%.cpp + $$(COMPILE.cc) $$(OUTPUT_OPTION) $$< + +$$(OUTPUT_DIR$(1))/%.d: $(2)%.cpp + @$$(COMPILE.cc) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1)) + +$$(OUTPUT_DIR$(1))/%.o: $(2)%.cxx + $$(COMPILE.cc) $$(OUTPUT_OPTION) $$< + +$$(OUTPUT_DIR$(1))/%.d: $(2)%.cxx + @$$(COMPILE.cc) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1)) + +$$(OUTPUT_DIR$(1))/%.o: $(2)%.c + $$(COMPILE.c) $$(OUTPUT_OPTION) $$< + +$$(OUTPUT_DIR$(1))/%.d: $(2)%.c + @$$(COMPILE.c) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1)) + +$$(OUTPUT_DIR$(1))/%.o: $(2)%.s + $$(COMPILE.s) $$(OUTPUT_OPTION) $$< + +$$(OUTPUT_DIR$(1))/%.o: $(2)%.S + $$(COMPILE.S) $$(OUTPUT_OPTION) $$< + +$$(OUTPUT_DIR$(1))/%.d: $(2)%.S + @$$(COMPILE.S) $$(SDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1)) +endef + +define rule_rc +$$(OUTPUT_DIR$(1))/%.res: $(2)%.rc + $$(COMPILE.rc) $$(RC_OUTPUT_OPTION) $$< +endef + +define rules_ +$(call rule_o,,$(1)) +ifneq ($(OUTPUT_DIR),$(OUTPUT_DIR_A)) +$(call rule_o,_A,$(1)) +endif +$(call rule_o,_DBG,$(1)) +ifneq ($(OUTPUT_DIR_DBG),$(OUTPUT_DIR_A_DBG)) +$(call rule_o,_A_DBG,$(1)) +endif +ifndef WITHOUT_STLPORT +$(call rule_o,_STLDBG,$(1)) +ifneq ($(OUTPUT_DIR_STLDBG),$(OUTPUT_DIR_A_STLDBG)) +$(call rule_o,_A_STLDBG,$(1)) +endif +endif +ifeq ($(OSNAME),cygming) +$(call rule_rc,,$(1)) +$(call rule_rc,_DBG,$(1)) +ifndef WITHOUT_STLPORT +$(call rule_rc,_STLDBG,$(1)) +endif +endif +endef + +$(foreach dir,$(DIRS_UNIQUE_SRC),$(eval $(call rules_,$(dir)))) + ALLBASE := $(basename $(notdir $(SRC_CC) $(SRC_CPP) $(SRC_CXX) $(SRC_C) $(SRC_S))) ifeq (${OSNAME},cygming) RCBASE += $(basename $(notdir $(SRC_RC))) Deleted: trunk/complement/explore/Makefiles/rules-d.mak =================================================================== --- trunk/complement/explore/Makefiles/rules-d.mak 2006-11-03 12:26:36 UTC (rev 1389) +++ trunk/complement/explore/Makefiles/rules-d.mak 2006-11-03 13:38:09 UTC (rev 1390) @@ -1,92 +0,0 @@ -# -*- Makefile -*- Time-stamp: <05/08/04 07:42:06 ptr> -# $Id$ - -# Rules for release output: - -$(OUTPUT_DIR)/%.d: $(WORD1)%.cpp - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR) - -$(OUTPUT_DIR)/%.d: $(WORD1)%.cc - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR) - -$(OUTPUT_DIR)/%.d: $(WORD1)%.cxx - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR) - -$(OUTPUT_DIR)/%.d: $(WORD1)%.c - @$(COMPILE.c) $(CDEPFLAGS) $< $(DP_OUTPUT_DIR) - -ifneq ($(OUTPUT_DIR),$(OUTPUT_DIR_A)) - -$(OUTPUT_DIR_A)/%.d: $(WORD1)%.cpp - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR) - -$(OUTPUT_DIR_A)/%.d: $(WORD1)%.cc - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR) - -$(OUTPUT_DIR_A)/%.d: $(WORD1)%.cxx - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR) - -$(OUTPUT_DIR_A)/%.d: $(WORD1)%.c - @$(COMPILE.c) $(CDEPFLAGS) $< $(DP_OUTPUT_DIR) - -endif - -# Rules for debug output: - -$(OUTPUT_DIR_DBG)/%.d: $(WORD1)%.cpp - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -$(OUTPUT_DIR_DBG)/%.d: $(WORD1)%.cc - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -$(OUTPUT_DIR_DBG)/%.d: $(WORD1)%.cxx - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -$(OUTPUT_DIR_DBG)/%.d: $(WORD1)%.c - @$(COMPILE.c) $(CDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -ifneq ($(OUTPUT_DIR_DBG),$(OUTPUT_DIR_A_DBG)) - -$(OUTPUT_DIR_A_DBG)/%.d: $(WORD1)%.cpp - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -$(OUTPUT_DIR_A_DBG)/%.d: $(WORD1)%.cc - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -$(OUTPUT_DIR_A_DBG)/%.d: $(WORD1)%.cxx - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -$(OUTPUT_DIR_A_DBG)/%.d: $(WORD1)%.c - @$(COMPILE.c) $(CDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -endif - -# Rules for STLport debug output: - -$(OUTPUT_DIR_STLDBG)/%.d: $(WORD1)%.cpp - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -$(OUTPUT_DIR_STLDBG)/%.d: $(WORD1)%.cc - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -$(OUTPUT_DIR_STLDBG)/%.d: $(WORD1)%.cxx - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -$(OUTPUT_DIR_STLDBG)/%.d: $(WORD1)%.c - @$(COMPILE.c) $(CDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -ifneq ($(OUTPUT_DIR_STLDBG),$(OUTPUT_DIR_A_STLDBG)) - -$(OUTPUT_DIR_A_STLDBG)/%.d: $(WORD1)%.cpp - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -$(OUTPUT_DIR_A_STLDBG)/%.d: $(WORD1)%.cc - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -$(OUTPUT_DIR_A_STLDBG)/%.d: $(WORD1)%.cxx - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -$(OUTPUT_DIR_A_STLDBG)/%.d: $(WORD1)%.c - @$(COMPILE.c) $(CDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -endif Deleted: trunk/complement/explore/Makefiles/rules-o.mak =================================================================== --- trunk/complement/explore/Makefiles/rules-o.mak 2006-11-03 12:26:36 UTC (rev 1389) +++ trunk/complement/explore/Makefiles/rules-o.mak 2006-11-03 13:38:09 UTC (rev 1390) @@ -1,128 +0,0 @@ -# -*- Makefile -*- Time-stamp: <05/04/18 08:02:06 ptr> -# $Id$ - -# Rules for release output: - -$(OUTPUT_DIR)/%.o: $(WORD1)%.cpp - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR)/%.o: $(WORD1)%.cc - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR)/%.o: $(WORD1)%.cxx - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR)/%.o: $(WORD1)%.c - $(COMPILE.c) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR)/%.o: $(WORD1)%.s - $(COMPILE.s) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR)/%.o: $(WORD1)%.S - $(COMPILE.S) $(OUTPUT_OPTION) $< - -ifneq ($(OUTPUT_DIR),$(OUTPUT_DIR_A)) - -$(OUTPUT_DIR_A)/%.o: $(WORD1)%.cpp - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A)/%.o: $(WORD1)%.cc - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A)/%.o: $(WORD1)%.cxx - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A)/%.o: $(WORD1)%.c - $(COMPILE.c) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A)/%.o: $(WORD1)%.s - $(COMPILE.s) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A)/%.o: $(WORD1)%.S - $(COMPILE.S) $(OUTPUT_OPTION) $< - -endif - -# Rules for debug output: - -$(OUTPUT_DIR_DBG)/%.o: $(WORD1)%.cpp - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_DBG)/%.o: $(WORD1)%.cc - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_DBG)/%.o: $(WORD1)%.cxx - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_DBG)/%.o: $(WORD1)%.c - $(COMPILE.c) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_DBG)/%.o: $(WORD1)%.s - $(COMPILE.s) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_DBG)/%.o: $(WORD1)%.S - $(COMPILE.S) $(OUTPUT_OPTION) $< - -ifneq ($(OUTPUT_DIR_DBG),$(OUTPUT_DIR_A_DBG)) - -$(OUTPUT_DIR_A_DBG)/%.o: $(WORD1)%.cpp - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_DBG)/%.o: $(WORD1)%.cc - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_DBG)/%.o: $(WORD1)%.cxx - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_DBG)/%.o: $(WORD1)%.c - $(COMPILE.c) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_DBG)/%.o: $(WORD1)%.s - $(COMPILE.s) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_DBG)/%.o: $(WORD1)%.S - $(COMPILE.S) $(OUTPUT_OPTION) $< - -endif - -# Rules for STLport debug output: - -$(OUTPUT_DIR_STLDBG)/%.o: $(WORD1)%.cpp - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_STLDBG)/%.o: $(WORD1)%.cc - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_STLDBG)/%.o: $(WORD1)%.cxx - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_STLDBG)/%.o: $(WORD1)%.c - $(COMPILE.c) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_STLDBG)/%.o: $(WORD1)%.s - $(COMPILE.s) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_STLDBG)/%.o: $(WORD1)%.S - $(COMPILE.S) $(OUTPUT_OPTION) $< - -ifneq ($(OUTPUT_DIR_STLDBG),$(OUTPUT_DIR_A_STLDBG)) - -$(OUTPUT_DIR_A_STLDBG)/%.o: $(WORD1)%.cpp - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_STLDBG)/%.o: $(WORD1)%.cc - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_STLDBG)/%.o: $(WORD1)%.cxx - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_STLDBG)/%.o: $(WORD1)%.c - $(COMPILE.c) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_STLDBG)/%.o: $(WORD1)%.s - $(COMPILE.s) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_STLDBG)/%.o: $(WORD1)%.S - $(COMPILE.S) $(OUTPUT_OPTION) $< - -endif Deleted: trunk/complement/explore/Makefiles/rules-res.mak =================================================================== --- trunk/complement/explore/Makefiles/rules-res.mak 2006-11-03 12:26:36 UTC (rev 1389) +++ trunk/complement/explore/Makefiles/rules-res.mak 2006-11-03 13:38:09 UTC (rev 1390) @@ -1,19 +0,0 @@ -# -*- Makefile -*- Time-stamp: <03/10/27 18:12:46 ptr> -# $Id$ - -# Rules for release output: - -$(OUTPUT_DIR)/%.res: $(WORD1)%.rc - $(COMPILE.rc) $(RC_OUTPUT_OPTION) $< - -# Rules for debug output: - -$(OUTPUT_DIR_DBG)/%.res: $(WORD1)%.rc - $(COMPILE.rc) $(RC_OUTPUT_OPTION) $< - -# Rules for STLport debug output: - -$(OUTPUT_DIR_STLDBG)/%.res: $(WORD1)%.rc - $(COMPILE.rc) $(RC_OUTPUT_OPTION) $< - - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-03 12:26:44
|
Revision: 1389 http://svn.sourceforge.net/complement/?rev=1389&view=rev Author: complement Date: 2006-11-03 04:26:36 -0800 (Fri, 03 Nov 2006) Log Message: ----------- GNU make 3.80 had problems (relative 3.81), this is workaround to satisfy 3.80 and code clean Modified Paths: -------------- branches/Makefiles/explore/Makefiles/gmake/linux/rules-install-so.mak branches/Makefiles/explore/Makefiles/gmake/linux/rules-so.mak branches/Makefiles/explore/Makefiles/gmake/targets.mak Modified: branches/Makefiles/explore/Makefiles/gmake/linux/rules-install-so.mak =================================================================== --- branches/Makefiles/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-11-02 19:31:21 UTC (rev 1388) +++ branches/Makefiles/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-11-03 12:26:36 UTC (rev 1389) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/11/02 20:57:29 ptr> +# -*- makefile -*- Time-stamp: <06/11/03 11:47:01 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -19,6 +19,7 @@ install: $(INSTALL_TAGS) +# Workaround forGNU make 3.80; see comments in rules-so.mak define do_install_so_links $${INSTALL_LIB_DIR$(1)}/$${SO_NAME$(1)xxx}: ${SO_NAME_OUT$(1)xxx} $$(INSTALL_SO) $${SO_NAME_OUT$(1)xxx} $(INSTALL_LIB_DIR$(1)) @@ -27,12 +28,19 @@ $(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)},$${SO_NAME$(1)x}) endef -$(eval $(call do_install_so_links,)) -$(eval $(call do_install_so_links,_DBG)) +define do_install_so_links_wk +# expand to nothing, if WITHOUT_STLPORT ifndef WITHOUT_STLPORT -$(eval $(call do_install_so_links,_STLDBG)) +$(call do_install_so_links,$(1)) endif +endef +$(eval $(call do_install_so_links,)) +$(eval $(call do_install_so_links,_DBG)) +# ifndef WITHOUT_STLPORT +$(eval $(call do_install_so_links_wk,_STLDBG)) +# endif + install-release-shared: release-shared $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR)/${SO_NAMExxx} ${POST_INSTALL} Modified: branches/Makefiles/explore/Makefiles/gmake/linux/rules-so.mak =================================================================== --- branches/Makefiles/explore/Makefiles/gmake/linux/rules-so.mak 2006-11-02 19:31:21 UTC (rev 1388) +++ branches/Makefiles/explore/Makefiles/gmake/linux/rules-so.mak 2006-11-03 12:26:36 UTC (rev 1389) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/11/02 20:45:44 ptr> +# -*- makefile -*- Time-stamp: <06/11/03 11:45:22 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -32,26 +32,41 @@ fi endef +# Workaround for GNU make 3.80: it fail on 'eval' within 'if' +# directive after some level of complexity, i.e. after complex +# rules it fails on code: +# +# $(eval $(call do_so_links,cc,)) +# $(eval $(call do_so_links,cc,_DBG)) +# ifndef WITHOUT_STLPORT +# $(eval $(call do_so_links,cc,_STLDBG)) +# endif +# +# Put 'if' logic into defined macro looks as workaround. +# +# The GNU make 3.81 free from this problem, but it new... + define do_so_links -$${SO_NAME_OUT$(2)xxx}: $$(OBJ$(2)) $$(LIBSDEP) - $$(LINK.$(1)) $$(LINK_OUTPUT_OPTION) $${START_OBJ} $$(OBJ$(2)) $$(LDLIBS) $${STDLIBS} $${END_OBJ} - $(call do_so_links_1,$$(OUTPUT_DIR$(2)),$${SO_NAME$(2)xx},$${SO_NAME$(2)xxx}) - $(call do_so_links_1,$$(OUTPUT_DIR$(2)),$${SO_NAME$(2)x},$${SO_NAME$(2)xx}) - $(call do_so_links_1,$$(OUTPUT_DIR$(2)),$${SO_NAME$(2)},$${SO_NAME$(2)x}) +$${SO_NAME_OUT$(1)xxx}: $$(OBJ$(1)) $$(LIBSDEP) +ifeq ("${_C_SOURCES_ONLY}","") + $$(LINK.cc) $$(LINK_OUTPUT_OPTION) $${START_OBJ} $$(OBJ$(1)) $$(LDLIBS) $${STDLIBS} $${END_OBJ} +else + $$(LINK.c) $$(LINK_OUTPUT_OPTION) $$(OBJ$(1)) $$(LDLIBS) +endif + $(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)xx},$${SO_NAME$(1)xxx}) + $(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)x},$${SO_NAME$(1)xx}) + $(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)},$${SO_NAME$(1)x}) endef -ifeq ("${_C_SOURCES_ONLY}","") -$(eval $(call do_so_links,cc,)) -$(eval $(call do_so_links,cc,_DBG)) +define do_so_links_wk +# expand to nothing, if WITHOUT_STLPORT ifndef WITHOUT_STLPORT -$(eval $(call do_so_links,cc,_STLDBG)) +$(call do_so_links,$(1)) endif -# _C_SOURCES_ONLY -else -$(eval $(call do_so_links,c,)) -$(eval $(call do_so_links,c,_DBG)) -ifndef WITHOUT_STLPORT -$(eval $(call do_so_links,c,_STLDBG)) -endif -# !_C_SOURCES_ONLY -endif +endef + +$(eval $(call do_so_links,)) +$(eval $(call do_so_links,_DBG)) +# ifndef WITHOUT_STLPORT +$(eval $(call do_so_links_wk,_STLDBG)) +# endif Modified: branches/Makefiles/explore/Makefiles/gmake/targets.mak =================================================================== --- branches/Makefiles/explore/Makefiles/gmake/targets.mak 2006-11-02 19:31:21 UTC (rev 1388) +++ branches/Makefiles/explore/Makefiles/gmake/targets.mak 2006-11-03 12:26:36 UTC (rev 1389) @@ -1,4 +1,4 @@ -# Time-stamp: <06/11/02 22:27:08 ptr> +# Time-stamp: <06/11/03 12:09:39 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -19,84 +19,77 @@ DIRS_UNIQUE_SRC := $(dir $(SRC_CPP) $(SRC_CC) $(SRC_CXX) $(SRC_C) $(SRC_S) ) ifeq (${OSNAME},cygming) -DIRS_UNIQUE_SRC += $(dir $(SRC_RC) ) +DIRS_UNIQUE_SRC := ${DIRS_UNIQUE_SRC} $(dir $(SRC_RC) ) endif DIRS_UNIQUE_SRC := $(sort $(DIRS_UNIQUE_SRC) ) -define rule_o_1 -$$(OUTPUT_DIR$(1))/%.o: $(4)%.$(2) - $$(COMPILE.$(3)) $$(OUTPUT_OPTION) $$< -endef +# The rules below may be even simpler (i.e. define macro that generate +# rules for COMPILE.xx), but this GNU make 3.80 unhappy with it; +# GNU make 3.81 work fine, but 3.81 is new... +# The code below verbose, but this is price for compatibility with 3.80 -define rule_d_1 -$$(OUTPUT_DIR$(1))/%.d: $(4)%.$(2) - @$$(COMPILE.$(3)) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1)) -endef - define rule_o -$(eval $(call rule_o_1,$(2),cpp,cc,$(1))) -$(eval $(call rule_o_1,$(2),cc,cc,$(1))) -$(eval $(call rule_o_1,$(2),cxx,cc,$(1))) -$(eval $(call rule_o_1,$(2),c,c,$(1))) -$(eval $(call rule_o_1,$(2),s,s,$(1))) -$(eval $(call rule_o_1,$(2),S,S,$(1))) -endef +$$(OUTPUT_DIR$(1))/%.o: $(2)%.cc + $$(COMPILE.cc) $$(OUTPUT_OPTION) $$< -define rule_d -$(eval $(call rule_d_1,$(2),cpp,cc,$(1))) -$(eval $(call rule_d_1,$(2),cc,cc,$(1))) -$(eval $(call rule_d_1,$(2),cxx,cc,$(1))) -$(eval $(call rule_d_1,$(2),c,c,$(1))) -$(eval $(call rule_d_1,$(2),s,s,$(1))) -$(eval $(call rule_d_1,$(2),S,S,$(1))) -endef +$$(OUTPUT_DIR$(1))/%.d: $(2)%.cc + @$$(COMPILE.cc) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1)) -ifeq ($(OSNAME),cygming) -define rule_rc_1 -$$(OUTPUT_DIR$(1))/%.res: $(4)%.$(2) - $$(COMPILE.$(3)) $$(RC_OUTPUT_OPTION) $$< +$$(OUTPUT_DIR$(1))/%.o: $(2)%.cpp + $$(COMPILE.cc) $$(OUTPUT_OPTION) $$< + +$$(OUTPUT_DIR$(1))/%.d: $(2)%.cpp + @$$(COMPILE.cc) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1)) + +$$(OUTPUT_DIR$(1))/%.o: $(2)%.cxx + $$(COMPILE.cc) $$(OUTPUT_OPTION) $$< + +$$(OUTPUT_DIR$(1))/%.d: $(2)%.cxx + @$$(COMPILE.cc) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1)) + +$$(OUTPUT_DIR$(1))/%.o: $(2)%.c + $$(COMPILE.c) $$(OUTPUT_OPTION) $$< + +$$(OUTPUT_DIR$(1))/%.d: $(2)%.c + @$$(COMPILE.c) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1)) + +$$(OUTPUT_DIR$(1))/%.o: $(2)%.s + $$(COMPILE.s) $$(OUTPUT_OPTION) $$< + +$$(OUTPUT_DIR$(1))/%.o: $(2)%.S + $$(COMPILE.S) $$(OUTPUT_OPTION) $$< + +$$(OUTPUT_DIR$(1))/%.d: $(2)%.S + @$$(COMPILE.S) $$(SDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1)) endef define rule_rc -$(eval $(call rule_rc_1,$(2),rc,rc,$(1))) +$$(OUTPUT_DIR$(1))/%.res: $(2)%.rc + $$(COMPILE.rc) $$(RC_OUTPUT_OPTION) $$< endef -endif define rules_ -# Rules for release output: -$(eval $(call rule_o,$(1),)) -$(eval $(call rule_d,$(1),)) - +$(call rule_o,,$(1)) ifneq ($(OUTPUT_DIR),$(OUTPUT_DIR_A)) -$(eval $(call rule_o,$(1),_A)) -$(eval $(call rule_d,$(1),_A)) +$(call rule_o,_A,$(1)) endif - -# Rules for debug output: -$(eval $(call rule_o,$(1),_DBG)) -$(eval $(call rule_d,$(1),_DBG)) - +$(call rule_o,_DBG,$(1)) ifneq ($(OUTPUT_DIR_DBG),$(OUTPUT_DIR_A_DBG)) -$(eval $(call rule_o,$(1),_A_DBG)) -$(eval $(call rule_d,$(1),_A_DBG)) +$(call rule_o,_A_DBG,$(1)) endif - ifndef WITHOUT_STLPORT -# Rules for STLport debug output: -$(eval $(call rule_o,$(1),_STLDBG)) -$(eval $(call rule_d,$(1),_STLDBG)) - +$(call rule_o,_STLDBG,$(1)) ifneq ($(OUTPUT_DIR_STLDBG),$(OUTPUT_DIR_A_STLDBG)) -$(eval $(call rule_o,$(1),_A_STLDBG)) -$(eval $(call rule_d,$(1),_A_STLDBG)) +$(call rule_o,_A_STLDBG,$(1)) endif endif - ifeq ($(OSNAME),cygming) -$(eval $(call rule_rc,$(1),)) -$(eval $(call rule_rc,$(1),_DBG)) -$(eval $(call rule_rc,$(1),_STLDBG)) +$(call rule_rc,,$(1)) +$(call rule_rc,_DBG,$(1)) +ifndef WITHOUT_STLPORT +$(call rule_rc,_STLDBG,$(1)) endif +endif endef $(foreach dir,$(DIRS_UNIQUE_SRC),$(eval $(call rules_,$(dir)))) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-02 19:31:33
|
Revision: 1388 http://svn.sourceforge.net/complement/?rev=1388&view=rev Author: complement Date: 2006-11-02 11:31:21 -0800 (Thu, 02 Nov 2006) Log Message: ----------- rollout rules via macrofunction eval technology; recursive file inclusion not required more Modified Paths: -------------- branches/Makefiles/explore/Makefiles/gmake/linux/rules-install-so.mak branches/Makefiles/explore/Makefiles/gmake/linux/rules-so.mak branches/Makefiles/explore/Makefiles/gmake/targets.mak Removed Paths: ------------- branches/Makefiles/explore/Makefiles/gmake/dirsrc.mak branches/Makefiles/explore/Makefiles/rules-d.mak branches/Makefiles/explore/Makefiles/rules-o.mak branches/Makefiles/explore/Makefiles/rules-res.mak Deleted: branches/Makefiles/explore/Makefiles/gmake/dirsrc.mak =================================================================== --- branches/Makefiles/explore/Makefiles/gmake/dirsrc.mak 2006-11-02 16:50:58 UTC (rev 1387) +++ branches/Makefiles/explore/Makefiles/gmake/dirsrc.mak 2006-11-02 19:31:21 UTC (rev 1388) @@ -1,24 +0,0 @@ -# -*- Makefile -*- Time-stamp: <03/10/27 18:07:14 ptr> -# $Id$ - -# Some trick to build implicit rules for sources in some different -# subdirectories. I remove catalogs from path to sources, with this -# names I build output object path, and provide dependency from -# source in directory. Due to no loops for rules definition, I should -# use recursion here; - -# try take directory from list: -WORD1 := $(word 1,$(DIRS_UNIQUE_SRC)) - -# is still directory in the list? -ifneq "$(WORD1)" "" -include ${RULESBASE}/rules-o.mak -include ${RULESBASE}/rules-d.mak -ifeq ($(OSNAME),cygming) -include ${RULESBASE}/rules-res.mak -endif -# remove processed directory from list -DIRS_UNIQUE_SRC := $(filter-out $(WORD1),$(DIRS_UNIQUE_SRC)) -# recursive include here: -include ${RULESBASE}/${USE_MAKE}/dirsrc.mak -endif Modified: branches/Makefiles/explore/Makefiles/gmake/linux/rules-install-so.mak =================================================================== --- branches/Makefiles/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-11-02 16:50:58 UTC (rev 1387) +++ branches/Makefiles/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-11-02 19:31:21 UTC (rev 1388) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/11/02 10:43:02 ptr> +# -*- makefile -*- Time-stamp: <06/11/02 20:57:29 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -19,97 +19,27 @@ install: $(INSTALL_TAGS) -$(INSTALL_LIB_DIR)/${SO_NAMExxx}: ${SO_NAME_OUTxxx} - $(INSTALL_SO) ${SO_NAME_OUTxxx} $(INSTALL_LIB_DIR) - @if [ -h $(INSTALL_LIB_DIR)/${SO_NAMExx} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR)/${SO_NAMExx}` != "${SO_NAMExxx}" ]; then \ - rm $(INSTALL_LIB_DIR)/${SO_NAMExx}; \ - ln -s ${SO_NAMExxx} $(INSTALL_LIB_DIR)/${SO_NAMExx}; \ - fi \ - else \ - ln -s ${SO_NAMExxx} $(INSTALL_LIB_DIR)/${SO_NAMExx}; \ - fi - @if [ -h $(INSTALL_LIB_DIR)/${SO_NAMEx} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR)/${SO_NAMEx}` != "${SO_NAMExx}" ]; then \ - rm $(INSTALL_LIB_DIR)/${SO_NAMEx}; \ - ln -s ${SO_NAMExx} $(INSTALL_LIB_DIR)/${SO_NAMEx}; \ - fi \ - else \ - ln -s ${SO_NAMExx} $(INSTALL_LIB_DIR)/${SO_NAMEx}; \ - fi - @if [ -h $(INSTALL_LIB_DIR)/${SO_NAME} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR)/${SO_NAME}` != "${SO_NAMEx}" ]; then \ - rm $(INSTALL_LIB_DIR)/${SO_NAME}; \ - ln -s ${SO_NAMEx} $(INSTALL_LIB_DIR)/${SO_NAME}; \ - fi \ - else \ - ln -s ${SO_NAMEx} $(INSTALL_LIB_DIR)/${SO_NAME}; \ - fi +define do_install_so_links +$${INSTALL_LIB_DIR$(1)}/$${SO_NAME$(1)xxx}: ${SO_NAME_OUT$(1)xxx} + $$(INSTALL_SO) $${SO_NAME_OUT$(1)xxx} $(INSTALL_LIB_DIR$(1)) + $(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)xx},$${SO_NAME$(1)xxx}) + $(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)x},$${SO_NAME$(1)xx}) + $(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)},$${SO_NAME$(1)x}) +endef +$(eval $(call do_install_so_links,)) +$(eval $(call do_install_so_links,_DBG)) +ifndef WITHOUT_STLPORT +$(eval $(call do_install_so_links,_STLDBG)) +endif + install-release-shared: release-shared $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR)/${SO_NAMExxx} ${POST_INSTALL} -$(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxxx}: ${SO_NAME_OUT_DBGxxx} - $(INSTALL_SO) ${SO_NAME_OUT_DBGxxx} $(INSTALL_LIB_DIR_DBG) - @if [ -h $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx}` != "${SO_NAME_DBGxxx}" ]; then \ - rm $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx}; \ - ln -s ${SO_NAME_DBGxxx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGxxx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx}; \ - fi - @if [ -h $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx}` != "${SO_NAME_DBGxx}" ]; then \ - rm $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx}; \ - ln -s ${SO_NAME_DBGxx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGxx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx}; \ - fi - @if [ -h $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG}` != "${SO_NAME_DBGx}" ]; then \ - rm $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG}; \ - ln -s ${SO_NAME_DBGx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG}; \ - fi - - install-dbg-shared: dbg-shared $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxxx} ${POST_INSTALL_DBG} ifndef WITHOUT_STLPORT -$(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxxx}: ${SO_NAME_OUT_STLDBGxxx} - $(INSTALL_SO) ${SO_NAME_OUT_STLDBGxxx} $(INSTALL_LIB_DIR_STLDBG) - @if [ -h $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx}` != "${SO_NAME_STLDBGxxx}" ]; then \ - rm $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - ln -s ${SO_NAME_STLDBGxxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGxxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - fi - @if [ -h $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}` != "${SO_NAME_STLDBGxx}" ]; then \ - rm $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - ln -s ${SO_NAME_STLDBGxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - fi - @if [ -h $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG}` != "${SO_NAME_STLDBGx}" ]; then \ - rm $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - ln -s ${SO_NAME_STLDBGx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - fi - install-stldbg-shared: stldbg-shared $(INSTALL_LIB_DIR_STLDBG) $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxxx} ${POST_INSTALL_STLDBG} - -# WITHOUT_STLPORT endif Modified: branches/Makefiles/explore/Makefiles/gmake/linux/rules-so.mak =================================================================== --- branches/Makefiles/explore/Makefiles/gmake/linux/rules-so.mak 2006-11-02 16:50:58 UTC (rev 1387) +++ branches/Makefiles/explore/Makefiles/gmake/linux/rules-so.mak 2006-11-02 19:31:21 UTC (rev 1388) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/11/02 10:40:52 ptr> +# -*- makefile -*- Time-stamp: <06/11/02 20:45:44 ptr> # # Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 # Petr Ovtchenkov @@ -18,187 +18,40 @@ dbg-shared: $(OUTPUT_DIR_DBG) ${SO_NAME_OUT_DBGxxx} ifndef WITHOUT_STLPORT - stldbg-shared: $(OUTPUT_DIR_STLDBG) ${SO_NAME_OUT_STLDBGxxx} - endif -ifeq ("${_C_SOURCES_ONLY}","") +define do_so_links_1 +@if [ -h $(1)/$(2)} ] ; then \ + if [ `readlink $(1)/$(2)` != "$(3)" ]; then \ + rm $(1)/$(2); \ + ln -s $(3) $(1)/$(2); \ + fi \ +else \ + ln -s $(3) $(1)/$(2); \ +fi +endef -${SO_NAME_OUTxxx}: $(OBJ) $(LIBSDEP) - $(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(OBJ) $(LDLIBS) ${STDLIBS} ${END_OBJ} - @if [ -h $(OUTPUT_DIR)/${SO_NAMExx} ] ; then \ - if [ `readlink $(OUTPUT_DIR)/${SO_NAMExx}` != "${SO_NAMExxx}" ]; then \ - rm $(OUTPUT_DIR)/${SO_NAMExx}; \ - ln -s ${SO_NAMExxx} $(OUTPUT_DIR)/${SO_NAMExx}; \ - fi \ - else \ - ln -s ${SO_NAMExxx} $(OUTPUT_DIR)/${SO_NAMExx}; \ - fi - @if [ -h $(OUTPUT_DIR)/${SO_NAMEx} ] ; then \ - if [ `readlink $(OUTPUT_DIR)/${SO_NAMEx}` != "${SO_NAMExx}" ]; then \ - rm $(OUTPUT_DIR)/${SO_NAMEx}; \ - ln -s ${SO_NAMExx} $(OUTPUT_DIR)/${SO_NAMEx}; \ - fi \ - else \ - ln -s ${SO_NAMExx} $(OUTPUT_DIR)/${SO_NAMEx}; \ - fi - @if [ -h $(OUTPUT_DIR)/${SO_NAME} ] ; then \ - if [ `readlink $(OUTPUT_DIR)/${SO_NAME}` != "${SO_NAMEx}" ]; then \ - rm $(OUTPUT_DIR)/${SO_NAME}; \ - ln -s ${SO_NAMEx} $(OUTPUT_DIR)/${SO_NAME}; \ - fi \ - else \ - ln -s ${SO_NAMEx} $(OUTPUT_DIR)/${SO_NAME}; \ - fi +define do_so_links +$${SO_NAME_OUT$(2)xxx}: $$(OBJ$(2)) $$(LIBSDEP) + $$(LINK.$(1)) $$(LINK_OUTPUT_OPTION) $${START_OBJ} $$(OBJ$(2)) $$(LDLIBS) $${STDLIBS} $${END_OBJ} + $(call do_so_links_1,$$(OUTPUT_DIR$(2)),$${SO_NAME$(2)xx},$${SO_NAME$(2)xxx}) + $(call do_so_links_1,$$(OUTPUT_DIR$(2)),$${SO_NAME$(2)x},$${SO_NAME$(2)xx}) + $(call do_so_links_1,$$(OUTPUT_DIR$(2)),$${SO_NAME$(2)},$${SO_NAME$(2)x}) +endef -${SO_NAME_OUT_DBGxxx}: $(OBJ_DBG) $(LIBSDEP) - $(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(OBJ_DBG) $(LDLIBS) ${STDLIBS} ${END_OBJ} - @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}` != "${SO_NAME_DBGxxx}" ]; then \ - rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ - ln -s ${SO_NAME_DBGxxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGxxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ - fi - @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}` != "${SO_NAME_DBGxx}" ]; then \ - rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ - ln -s ${SO_NAME_DBGxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ - fi - @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBG} ] ; then \ - if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}` != "${SO_NAME_DBGx}" ]; then \ - rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ - ln -s ${SO_NAME_DBGx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ - fi - +ifeq ("${_C_SOURCES_ONLY}","") +$(eval $(call do_so_links,cc,)) +$(eval $(call do_so_links,cc,_DBG)) ifndef WITHOUT_STLPORT - -${SO_NAME_OUT_STLDBGxxx}: $(OBJ_STLDBG) $(LIBSDEP) - $(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(OBJ_STLDBG) $(LDLIBS) ${STDLIBS} ${END_OBJ} - @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}` != "${SO_NAME_STLDBGxxx}" ]; then \ - rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - ln -s ${SO_NAME_STLDBGxxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGxxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - fi - @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}` != "${SO_NAME_STLDBGxx}" ]; then \ - rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - ln -s ${SO_NAME_STLDBGxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - fi - @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG} ] ; then \ - if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}` != "${SO_NAME_STLDBGx}" ]; then \ - rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - ln -s ${SO_NAME_STLDBGx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - fi - -# WITHOUT_STLPORT +$(eval $(call do_so_links,cc,_STLDBG)) endif - # _C_SOURCES_ONLY else - -${SO_NAME_OUTxxx}: $(OBJ) $(LIBSDEP) - $(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ) $(LDLIBS) - @if [ -h $(OUTPUT_DIR)/${SO_NAMExx} ] ; then \ - if [ `readlink $(OUTPUT_DIR)/${SO_NAMExx}` != "${SO_NAMExxx}" ]; then \ - rm $(OUTPUT_DIR)/${SO_NAMExx}; \ - ln -s ${SO_NAMExxx} $(OUTPUT_DIR)/${SO_NAMExx}; \ - fi \ - else \ - ln -s ${SO_NAMExxx} $(OUTPUT_DIR)/${SO_NAMExx}; \ - fi - @if [ -h $(OUTPUT_DIR)/${SO_NAMEx} ] ; then \ - if [ `readlink $(OUTPUT_DIR)/${SO_NAMEx}` != "${SO_NAMExx}" ]; then \ - rm $(OUTPUT_DIR)/${SO_NAMEx}; \ - ln -s ${SO_NAMExx} $(OUTPUT_DIR)/${SO_NAMEx}; \ - fi \ - else \ - ln -s ${SO_NAMExx} $(OUTPUT_DIR)/${SO_NAMEx}; \ - fi - @if [ -h $(OUTPUT_DIR)/${SO_NAME} ] ; then \ - if [ `readlink $(OUTPUT_DIR)/${SO_NAME}` != "${SO_NAMEx}" ]; then \ - rm $(OUTPUT_DIR)/${SO_NAME}; \ - ln -s ${SO_NAMEx} $(OUTPUT_DIR)/${SO_NAME}; \ - fi \ - else \ - ln -s ${SO_NAMEx} $(OUTPUT_DIR)/${SO_NAME}; \ - fi - -${SO_NAME_OUT_DBGxxx}: $(OBJ_DBG) $(LIBSDEP) - $(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ_DBG) $(LDLIBS) - @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}` != "${SO_NAME_DBGxxx}" ]; then \ - rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ - ln -s ${SO_NAME_DBGxxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGxxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ - fi - @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}` != "${SO_NAME_DBGxx}" ]; then \ - rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ - ln -s ${SO_NAME_DBGxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ - fi - @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBG} ] ; then \ - if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}` != "${SO_NAME_DBGx}" ]; then \ - rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ - ln -s ${SO_NAME_DBGx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ - fi \ - else \ - ln -s ${SO_NAME_DBGx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ - fi - +$(eval $(call do_so_links,c,)) +$(eval $(call do_so_links,c,_DBG)) ifndef WITHOUT_STLPORT - -${SO_NAME_OUT_STLDBGxxx}: $(OBJ_STLDBG) $(LIBSDEP) - $(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ_STLDBG) $(LDLIBS) - @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}` != "${SO_NAME_STLDBGxxx}" ]; then \ - rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - ln -s ${SO_NAME_STLDBGxxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGxxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - fi - @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx} ] ; then \ - if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}` != "${SO_NAME_STLDBGxx}" ]; then \ - rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - ln -s ${SO_NAME_STLDBGxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ - fi - @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG} ] ; then \ - if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}` != "${SO_NAME_STLDBGx}" ]; then \ - rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - ln -s ${SO_NAME_STLDBGx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - fi \ - else \ - ln -s ${SO_NAME_STLDBGx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ - fi - -# WITHOUT_STLPORT +$(eval $(call do_so_links,c,_STLDBG)) endif - # !_C_SOURCES_ONLY endif Modified: branches/Makefiles/explore/Makefiles/gmake/targets.mak =================================================================== --- branches/Makefiles/explore/Makefiles/gmake/targets.mak 2006-11-02 16:50:58 UTC (rev 1387) +++ branches/Makefiles/explore/Makefiles/gmake/targets.mak 2006-11-02 19:31:21 UTC (rev 1388) @@ -1,5 +1,13 @@ -# Time-stamp: <05/04/15 17:23:30 ptr> -# $Id$ +# Time-stamp: <06/11/02 22:27:08 ptr> +# +# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 +# Petr Ovtchenkov +# +# Portion Copyright (c) 1999-2001 +# Parallel Graphics Ltd. +# +# Licensed under the Academic Free License version 3.0 +# # If we have no C++ sources, let's use C compiler for linkage instead of C++. ifeq ("$(sort ${SRC_CC} ${SRC_CPP} ${SRC_CXX})","") @@ -7,16 +15,92 @@ _C_SOURCES_ONLY := true endif -# if sources disposed in several dirs, calculate -# appropriate rules; here is recursive call! +# if sources disposed in several dirs, calculate appropriate rules DIRS_UNIQUE_SRC := $(dir $(SRC_CPP) $(SRC_CC) $(SRC_CXX) $(SRC_C) $(SRC_S) ) ifeq (${OSNAME},cygming) DIRS_UNIQUE_SRC += $(dir $(SRC_RC) ) endif DIRS_UNIQUE_SRC := $(sort $(DIRS_UNIQUE_SRC) ) -include ${RULESBASE}/${USE_MAKE}/dirsrc.mak +define rule_o_1 +$$(OUTPUT_DIR$(1))/%.o: $(4)%.$(2) + $$(COMPILE.$(3)) $$(OUTPUT_OPTION) $$< +endef + +define rule_d_1 +$$(OUTPUT_DIR$(1))/%.d: $(4)%.$(2) + @$$(COMPILE.$(3)) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1)) +endef + +define rule_o +$(eval $(call rule_o_1,$(2),cpp,cc,$(1))) +$(eval $(call rule_o_1,$(2),cc,cc,$(1))) +$(eval $(call rule_o_1,$(2),cxx,cc,$(1))) +$(eval $(call rule_o_1,$(2),c,c,$(1))) +$(eval $(call rule_o_1,$(2),s,s,$(1))) +$(eval $(call rule_o_1,$(2),S,S,$(1))) +endef + +define rule_d +$(eval $(call rule_d_1,$(2),cpp,cc,$(1))) +$(eval $(call rule_d_1,$(2),cc,cc,$(1))) +$(eval $(call rule_d_1,$(2),cxx,cc,$(1))) +$(eval $(call rule_d_1,$(2),c,c,$(1))) +$(eval $(call rule_d_1,$(2),s,s,$(1))) +$(eval $(call rule_d_1,$(2),S,S,$(1))) +endef + +ifeq ($(OSNAME),cygming) +define rule_rc_1 +$$(OUTPUT_DIR$(1))/%.res: $(4)%.$(2) + $$(COMPILE.$(3)) $$(RC_OUTPUT_OPTION) $$< +endef + +define rule_rc +$(eval $(call rule_rc_1,$(2),rc,rc,$(1))) +endef +endif + +define rules_ +# Rules for release output: +$(eval $(call rule_o,$(1),)) +$(eval $(call rule_d,$(1),)) + +ifneq ($(OUTPUT_DIR),$(OUTPUT_DIR_A)) +$(eval $(call rule_o,$(1),_A)) +$(eval $(call rule_d,$(1),_A)) +endif + +# Rules for debug output: +$(eval $(call rule_o,$(1),_DBG)) +$(eval $(call rule_d,$(1),_DBG)) + +ifneq ($(OUTPUT_DIR_DBG),$(OUTPUT_DIR_A_DBG)) +$(eval $(call rule_o,$(1),_A_DBG)) +$(eval $(call rule_d,$(1),_A_DBG)) +endif + +ifndef WITHOUT_STLPORT +# Rules for STLport debug output: +$(eval $(call rule_o,$(1),_STLDBG)) +$(eval $(call rule_d,$(1),_STLDBG)) + +ifneq ($(OUTPUT_DIR_STLDBG),$(OUTPUT_DIR_A_STLDBG)) +$(eval $(call rule_o,$(1),_A_STLDBG)) +$(eval $(call rule_d,$(1),_A_STLDBG)) +endif +endif + +ifeq ($(OSNAME),cygming) +$(eval $(call rule_rc,$(1),)) +$(eval $(call rule_rc,$(1),_DBG)) +$(eval $(call rule_rc,$(1),_STLDBG)) +endif +endef + +$(foreach dir,$(DIRS_UNIQUE_SRC),$(eval $(call rules_,$(dir)))) + ALLBASE := $(basename $(notdir $(SRC_CC) $(SRC_CPP) $(SRC_CXX) $(SRC_C) $(SRC_S))) ifeq (${OSNAME},cygming) RCBASE += $(basename $(notdir $(SRC_RC))) Deleted: branches/Makefiles/explore/Makefiles/rules-d.mak =================================================================== --- branches/Makefiles/explore/Makefiles/rules-d.mak 2006-11-02 16:50:58 UTC (rev 1387) +++ branches/Makefiles/explore/Makefiles/rules-d.mak 2006-11-02 19:31:21 UTC (rev 1388) @@ -1,92 +0,0 @@ -# -*- Makefile -*- Time-stamp: <05/08/04 07:42:06 ptr> -# $Id$ - -# Rules for release output: - -$(OUTPUT_DIR)/%.d: $(WORD1)%.cpp - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR) - -$(OUTPUT_DIR)/%.d: $(WORD1)%.cc - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR) - -$(OUTPUT_DIR)/%.d: $(WORD1)%.cxx - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR) - -$(OUTPUT_DIR)/%.d: $(WORD1)%.c - @$(COMPILE.c) $(CDEPFLAGS) $< $(DP_OUTPUT_DIR) - -ifneq ($(OUTPUT_DIR),$(OUTPUT_DIR_A)) - -$(OUTPUT_DIR_A)/%.d: $(WORD1)%.cpp - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR) - -$(OUTPUT_DIR_A)/%.d: $(WORD1)%.cc - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR) - -$(OUTPUT_DIR_A)/%.d: $(WORD1)%.cxx - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR) - -$(OUTPUT_DIR_A)/%.d: $(WORD1)%.c - @$(COMPILE.c) $(CDEPFLAGS) $< $(DP_OUTPUT_DIR) - -endif - -# Rules for debug output: - -$(OUTPUT_DIR_DBG)/%.d: $(WORD1)%.cpp - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -$(OUTPUT_DIR_DBG)/%.d: $(WORD1)%.cc - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -$(OUTPUT_DIR_DBG)/%.d: $(WORD1)%.cxx - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -$(OUTPUT_DIR_DBG)/%.d: $(WORD1)%.c - @$(COMPILE.c) $(CDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -ifneq ($(OUTPUT_DIR_DBG),$(OUTPUT_DIR_A_DBG)) - -$(OUTPUT_DIR_A_DBG)/%.d: $(WORD1)%.cpp - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -$(OUTPUT_DIR_A_DBG)/%.d: $(WORD1)%.cc - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -$(OUTPUT_DIR_A_DBG)/%.d: $(WORD1)%.cxx - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -$(OUTPUT_DIR_A_DBG)/%.d: $(WORD1)%.c - @$(COMPILE.c) $(CDEPFLAGS) $< $(DP_OUTPUT_DIR_DBG) - -endif - -# Rules for STLport debug output: - -$(OUTPUT_DIR_STLDBG)/%.d: $(WORD1)%.cpp - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -$(OUTPUT_DIR_STLDBG)/%.d: $(WORD1)%.cc - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -$(OUTPUT_DIR_STLDBG)/%.d: $(WORD1)%.cxx - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -$(OUTPUT_DIR_STLDBG)/%.d: $(WORD1)%.c - @$(COMPILE.c) $(CDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -ifneq ($(OUTPUT_DIR_STLDBG),$(OUTPUT_DIR_A_STLDBG)) - -$(OUTPUT_DIR_A_STLDBG)/%.d: $(WORD1)%.cpp - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -$(OUTPUT_DIR_A_STLDBG)/%.d: $(WORD1)%.cc - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -$(OUTPUT_DIR_A_STLDBG)/%.d: $(WORD1)%.cxx - @$(COMPILE.cc) $(CCDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -$(OUTPUT_DIR_A_STLDBG)/%.d: $(WORD1)%.c - @$(COMPILE.c) $(CDEPFLAGS) $< $(DP_OUTPUT_DIR_STLDBG) - -endif Deleted: branches/Makefiles/explore/Makefiles/rules-o.mak =================================================================== --- branches/Makefiles/explore/Makefiles/rules-o.mak 2006-11-02 16:50:58 UTC (rev 1387) +++ branches/Makefiles/explore/Makefiles/rules-o.mak 2006-11-02 19:31:21 UTC (rev 1388) @@ -1,128 +0,0 @@ -# -*- Makefile -*- Time-stamp: <05/04/18 08:02:06 ptr> -# $Id$ - -# Rules for release output: - -$(OUTPUT_DIR)/%.o: $(WORD1)%.cpp - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR)/%.o: $(WORD1)%.cc - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR)/%.o: $(WORD1)%.cxx - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR)/%.o: $(WORD1)%.c - $(COMPILE.c) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR)/%.o: $(WORD1)%.s - $(COMPILE.s) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR)/%.o: $(WORD1)%.S - $(COMPILE.S) $(OUTPUT_OPTION) $< - -ifneq ($(OUTPUT_DIR),$(OUTPUT_DIR_A)) - -$(OUTPUT_DIR_A)/%.o: $(WORD1)%.cpp - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A)/%.o: $(WORD1)%.cc - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A)/%.o: $(WORD1)%.cxx - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A)/%.o: $(WORD1)%.c - $(COMPILE.c) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A)/%.o: $(WORD1)%.s - $(COMPILE.s) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A)/%.o: $(WORD1)%.S - $(COMPILE.S) $(OUTPUT_OPTION) $< - -endif - -# Rules for debug output: - -$(OUTPUT_DIR_DBG)/%.o: $(WORD1)%.cpp - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_DBG)/%.o: $(WORD1)%.cc - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_DBG)/%.o: $(WORD1)%.cxx - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_DBG)/%.o: $(WORD1)%.c - $(COMPILE.c) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_DBG)/%.o: $(WORD1)%.s - $(COMPILE.s) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_DBG)/%.o: $(WORD1)%.S - $(COMPILE.S) $(OUTPUT_OPTION) $< - -ifneq ($(OUTPUT_DIR_DBG),$(OUTPUT_DIR_A_DBG)) - -$(OUTPUT_DIR_A_DBG)/%.o: $(WORD1)%.cpp - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_DBG)/%.o: $(WORD1)%.cc - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_DBG)/%.o: $(WORD1)%.cxx - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_DBG)/%.o: $(WORD1)%.c - $(COMPILE.c) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_DBG)/%.o: $(WORD1)%.s - $(COMPILE.s) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_DBG)/%.o: $(WORD1)%.S - $(COMPILE.S) $(OUTPUT_OPTION) $< - -endif - -# Rules for STLport debug output: - -$(OUTPUT_DIR_STLDBG)/%.o: $(WORD1)%.cpp - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_STLDBG)/%.o: $(WORD1)%.cc - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_STLDBG)/%.o: $(WORD1)%.cxx - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_STLDBG)/%.o: $(WORD1)%.c - $(COMPILE.c) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_STLDBG)/%.o: $(WORD1)%.s - $(COMPILE.s) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_STLDBG)/%.o: $(WORD1)%.S - $(COMPILE.S) $(OUTPUT_OPTION) $< - -ifneq ($(OUTPUT_DIR_STLDBG),$(OUTPUT_DIR_A_STLDBG)) - -$(OUTPUT_DIR_A_STLDBG)/%.o: $(WORD1)%.cpp - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_STLDBG)/%.o: $(WORD1)%.cc - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_STLDBG)/%.o: $(WORD1)%.cxx - $(COMPILE.cc) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_STLDBG)/%.o: $(WORD1)%.c - $(COMPILE.c) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_STLDBG)/%.o: $(WORD1)%.s - $(COMPILE.s) $(OUTPUT_OPTION) $< - -$(OUTPUT_DIR_A_STLDBG)/%.o: $(WORD1)%.S - $(COMPILE.S) $(OUTPUT_OPTION) $< - -endif Deleted: branches/Makefiles/explore/Makefiles/rules-res.mak =================================================================== --- branches/Makefiles/explore/Makefiles/rules-res.mak 2006-11-02 16:50:58 UTC (rev 1387) +++ branches/Makefiles/explore/Makefiles/rules-res.mak 2006-11-02 19:31:21 UTC (rev 1388) @@ -1,19 +0,0 @@ -# -*- Makefile -*- Time-stamp: <03/10/27 18:12:46 ptr> -# $Id$ - -# Rules for release output: - -$(OUTPUT_DIR)/%.res: $(WORD1)%.rc - $(COMPILE.rc) $(RC_OUTPUT_OPTION) $< - -# Rules for debug output: - -$(OUTPUT_DIR_DBG)/%.res: $(WORD1)%.rc - $(COMPILE.rc) $(RC_OUTPUT_OPTION) $< - -# Rules for STLport debug output: - -$(OUTPUT_DIR_STLDBG)/%.res: $(WORD1)%.rc - $(COMPILE.rc) $(RC_OUTPUT_OPTION) $< - - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-02 16:51:26
|
Revision: 1387 http://svn.sourceforge.net/complement/?rev=1387&view=rev Author: complement Date: 2006-11-02 08:50:58 -0800 (Thu, 02 Nov 2006) Log Message: ----------- branch for experiment with makesystem Added Paths: ----------- branches/Makefiles/explore/include/config/ Copied: branches/Makefiles/explore/include/config (from rev 1386, trunk/complement/explore/include/config) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-02 16:44:59
|
Revision: 1386 http://svn.sourceforge.net/complement/?rev=1386&view=rev Author: complement Date: 2006-11-02 08:44:44 -0800 (Thu, 02 Nov 2006) Log Message: ----------- branch for experiment with makesystem Added Paths: ----------- branches/Makefiles/explore/inquiry/makes/static-lib/ Copied: branches/Makefiles/explore/inquiry/makes/static-lib (from rev 1385, trunk/complement/explore/inquiry/makes/static-lib) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-02 16:42:55
|
Revision: 1385 http://svn.sourceforge.net/complement/?rev=1385&view=rev Author: complement Date: 2006-11-02 08:42:33 -0800 (Thu, 02 Nov 2006) Log Message: ----------- experiments with make rules Modified Paths: -------------- trunk/complement/explore/inquiry/makes/static-lib/Makefile trunk/complement/explore/inquiry/makes/static-lib/Makefile.inc Added Paths: ----------- trunk/complement/explore/inquiry/makes/static-lib/testx2.cpp Modified: trunk/complement/explore/inquiry/makes/static-lib/Makefile =================================================================== --- trunk/complement/explore/inquiry/makes/static-lib/Makefile 2006-11-02 16:40:47 UTC (rev 1384) +++ trunk/complement/explore/inquiry/makes/static-lib/Makefile 2006-11-02 16:42:33 UTC (rev 1385) @@ -1,42 +1,16 @@ # -*- Makefile -*- Time-stamp: <03/03/21 12:01:22 ptr> -# $Id$ -BASEDIR := $(shell xtmp=`pwd`; xtmp=`dirname $$xtmp`; xtmp=`dirname $$xtmp`; dirname $$xtmp) -LIBDIR := $(shell xtmp=`pwd`; dirname $$xtmp) +SRCROOT := ../../.. +COMPILER_NAME := gcc -COMPILER_NAME = gcc -include $(BASEDIR)/inquiry/makes/static-lib/Makefile.inc +include Makefile.inc +include ${SRCROOT}/Makefiles/top.mak -echo: - echo ${BASEDIR} +# $(foreach ${LIBNAMES}) -all: all-release all-debug +define P_TEMPLATE +$(1): $$($(1)_SRC_CPP) + echo "$$+ $$@ " +endef -install: install-dbg-shared install-stldbg-shared install-release-shared - -all-shared: release-shared dbg-shared stldbg-shared - -all-debug: dbg-shared stldbg-shared - -all-release: release-shared - -include ${BASEDIR}/Makefiles/lib/Makefile.inc - -INCLUDES += -I$(STLPORT_INCLUDE_DIR) - -ifeq ($(OS_VER),Linux) -release-shared: LDSEARCH = -L${STLPORT_LIB_DIR} -L${INSTALL_LIB_DIR} -stldbg-shared: LDSEARCH = -L${STLPORT_LIB_DIR} -dbg-shared: LDSEARCH = -L${STLPORT_LIB_DIR} -endif - -ifeq ($(OS_VER),SunOS) -release-shared : LDLIBS = -lstlport_gcc -lrt -stldbg-shared : LDLIBS = -lstlport_gcc_stldebug -lrt -dbg-shared : LDLIBS = -lstlport_gcc -lrt -else -release-shared : LDLIBS = -lstlport_gcc -stldbg-shared : LDLIBS = -lstlport_gcc_stldebug -dbg-shared : LDLIBS = -lstlport_gcc -endif - +$(foreach name,${LIBNAMES},$(eval $(call P_TEMPLATE,$(name)))) Modified: trunk/complement/explore/inquiry/makes/static-lib/Makefile.inc =================================================================== --- trunk/complement/explore/inquiry/makes/static-lib/Makefile.inc 2006-11-02 16:40:47 UTC (rev 1384) +++ trunk/complement/explore/inquiry/makes/static-lib/Makefile.inc 2006-11-02 16:42:33 UTC (rev 1385) @@ -1,8 +1,11 @@ # -*- Makefile -*- Time-stamp: <03/03/21 11:58:08 ptr> -# $Id$ LIBNAME = testx1 +LIBNAMES = testx1x testx2 MAJOR = .0 MINOR = .1 PATCH = .0 SRC_CPP = testx1.cpp + +testx1x_SRC_CPP = testx1.cpp +testx2_SRC_CPP = testx2.cpp Added: trunk/complement/explore/inquiry/makes/static-lib/testx2.cpp =================================================================== --- trunk/complement/explore/inquiry/makes/static-lib/testx2.cpp (rev 0) +++ trunk/complement/explore/inquiry/makes/static-lib/testx2.cpp 2006-11-02 16:42:33 UTC (rev 1385) @@ -0,0 +1,6 @@ +// Time-stamp: <03/03/20 19:05:23 ptr> + +int g() +{ + return 0; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-02 16:41:20
|
Revision: 1384 http://svn.sourceforge.net/complement/?rev=1384&view=rev Author: complement Date: 2006-11-02 08:40:47 -0800 (Thu, 02 Nov 2006) Log Message: ----------- branch for experiment with makesystem Added Paths: ----------- branches/Makefiles/explore/configure Copied: branches/Makefiles/explore/configure (from rev 1383, trunk/complement/explore/configure) =================================================================== --- branches/Makefiles/explore/configure (rev 0) +++ branches/Makefiles/explore/configure 2006-11-02 16:40:47 UTC (rev 1384) @@ -0,0 +1,114 @@ +#!/bin/sh + +# Time-stamp: <06/06/28 12:05:08 ptr> + +configmak=Makefiles/config.mak + +# rm -f ${configmak} + +# echo "# STLPORT_DIR := /export/home/windows/guest/STLlab/STLport" >> ${configmak} +# echo "# MSVC_DIR := c:/Program Files/Microsoft Visual Studio/VC98" >> ${configmak} +# echo "# TARGET_PROC=x86" >> ${configmak} + +write_option() { + target=`echo $1 | sed -e 's/^[^=]*=//'` + echo $2 := $target >> ${configmak} +} + +print_help() { + cat <<EOF +Configuration utility. + +Usage: + + configure [options] + +Available options: + + --target=<target> target platform (cross-compiling) + --help print this help message and exit + --with-stlport=<dir> use STLport in catalog <dir> + --without-stlport compile without STLport + --with-boost=<dir> use boost headers in catalog <dir> + --with-system-boost use boost from system, don't build boost + --with-msvc=<dir> use MS VC from this catalog + --with-mssdk=<dir> use MS SDK from this catalog + --with-mwcw=<dir> Metrowerks CodeWarrior compiler catalog (useful for mw* compilers) + i.e. something like "c:/Program Files/Metrowerks/CodeWarrior" + --with-nwsdk=<dir> use Novell NDK/SDK from this catalog (useful for *-*-netware target) + i.e. something like "c:/Novell/ndk/nwsdk" + --with-extra-cxxflags=<options> + pass extra options to C++ compiler + --use-static-gcc use static gcc libs instead of shared libgcc_s (useful for gcc compiler, + that was builded with --enable-shared [default]; if compiler was builded + with --disable-shared, static libraries will be used in any case) + --clean remove custom settings (file ${configmak}) + and use default values + +EOF +} + +case $# in + 0) + exit 0 + ;; +esac + +case $1 in + --help) + print_help + exit 0 + ;; +esac + +rm -f ${configmak} + +while : +do + case $# in + 0) + break + ;; + esac + option=$1 + shift + case $option in + --clean) + rm -f ${configmak} + ;; + --target=*) + write_option "$option" TARGET_OS + ;; + --with-stlport=*) + write_option "$option" STLPORT_DIR + ;; + --without-stlport) + write_option "1" WITHOUT_STLPORT + ;; + --with-boost=*) + write_option "$option" BOOST_DIR + ;; + --with-system-boost) + write_option "1" USE_SYSTEM_BOOST + ;; + --with-msvc=*) + write_option "$option" MSVC_DIR + ;; + --with-mssdk=*) + write_option "$option" MSSDK_DIR + ;; + --with-extra-cxxflags=*) + write_option "$option" EXTRA_CXXFLAGS + ;; + --with-nwsdk=*) + write_option "$option" NWSDK_DIR + ;; + --with-mwcw=*) + write_option "$option" MWCW_BASE + ;; + --use-static-gcc) + write_option "$option" USE_STATIC_LIBGCC + ;; + esac +done + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-02 16:39:37
|
Revision: 1383 http://svn.sourceforge.net/complement/?rev=1383&view=rev Author: complement Date: 2006-11-02 08:39:06 -0800 (Thu, 02 Nov 2006) Log Message: ----------- branch for experiment with makesystem Added Paths: ----------- branches/Makefiles/explore/include/mt/ Copied: branches/Makefiles/explore/include/mt (from rev 1382, trunk/complement/explore/include/mt) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-02 16:38:27
|
Revision: 1382 http://svn.sourceforge.net/complement/?rev=1382&view=rev Author: complement Date: 2006-11-02 08:37:56 -0800 (Thu, 02 Nov 2006) Log Message: ----------- branch for experiment with makesystem Added Paths: ----------- branches/Makefiles/explore/lib/mt/ Copied: branches/Makefiles/explore/lib/mt (from rev 1381, trunk/complement/explore/lib/mt) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-02 16:37:00
|
Revision: 1381 http://svn.sourceforge.net/complement/?rev=1381&view=rev Author: complement Date: 2006-11-02 08:36:32 -0800 (Thu, 02 Nov 2006) Log Message: ----------- branch for experiment with makesystem Added Paths: ----------- branches/Makefiles/explore/Makefiles/ Copied: branches/Makefiles/explore/Makefiles (from rev 1380, trunk/complement/explore/Makefiles) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-02 16:35:18
|
Revision: 1380 http://svn.sourceforge.net/complement/?rev=1380&view=rev Author: complement Date: 2006-11-02 08:35:01 -0800 (Thu, 02 Nov 2006) Log Message: ----------- branch for experiment with makesystem Added Paths: ----------- branches/Makefiles/explore/inquiry/makes/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-11-02 16:32:15
|
Revision: 1379 http://svn.sourceforge.net/complement/?rev=1379&view=rev Author: complement Date: 2006-11-02 08:32:05 -0800 (Thu, 02 Nov 2006) Log Message: ----------- branch for experiment with makesystem Added Paths: ----------- branches/Makefiles/explore/inquiry/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |