Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package icmake for openSUSE:Factory checked in at 2026-10-20 12:39:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/icmake (Old) and /work/SRC/openSUSE:Factory/.icmake.new.3698736 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "icmake" Tue Oct 20 12:39:33 2026 rev:19 rq:1386218 version:13.07.00 Changes: -------- --- /work/SRC/openSUSE:Factory/icmake/icmake.changes 2026-09-14 16:25:37.866741855 +0200 +++ /work/SRC/openSUSE:Factory/.icmake.new.3698736/icmake.changes 2026-10-20 12:41:16.650910326 +0200 @@ -1,0 +2,13 @@ +Fri Oct 16 16:26:44 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to 13.07.00: + * Compiled top-level object files now start with ',' (e.g. ,main.o), + continuing 13.06.00's directory-prefix change. + * Object file prefixes are now configurable: with '#define OBJ_SEP <char>' + in icmconf, object files get their directory name followed by that + character instead of their class number. + * The recency check of the lexical scanner (#define SCANNER_DIR) and + parser (#define PARSER_DIR) configuration files now only runs when + icmbuild constructs a program or library. + +------------------------------------------------------------------- Old: ---- icmake-13.06.01.tar.bz2 New: ---- icmake-13.07.00.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ icmake.spec ++++++ --- /var/tmp/diff_new_pack.qXYMdh/_old 2026-10-20 12:41:17.449943767 +0200 +++ /var/tmp/diff_new_pack.qXYMdh/_new 2026-10-20 12:41:17.451943851 +0200 @@ -17,7 +17,7 @@ Name: icmake -Version: 13.06.01 +Version: 13.07.00 Release: 0 Summary: A program maintenance (make) utility using a C-like grammar License: GPL-3.0-only ++++++ icmake-13.06.01.tar.bz2 -> icmake-13.07.00.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/VERSION new/icmake-13.07.00/icmake/VERSION --- old/icmake-13.06.01/icmake/VERSION 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/VERSION 2026-10-04 13:16:00.000000000 +0200 @@ -1,3 +1,3 @@ -VERSION=13.06.01 +VERSION=13.07.00 YEARS=1992-2026 AUTHOR="Frank B. Brokken ([email protected])" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/build2nd/icmconf.programs new/icmake-13.07.00/icmake/build2nd/icmconf.programs --- old/icmake-13.06.01/icmake/build2nd/icmconf.programs 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/build2nd/icmconf.programs 2026-10-04 13:16:00.000000000 +0200 @@ -1,5 +1,6 @@ // see also ~/.icmake/icmconf.mod for a possible module-using icmconf +#define OBJ_SEP "," #define NOCOLORS "-fdiagnostics-color=never -Dfbb" #define MULTICOMP "jobs -q" @@ -15,7 +16,8 @@ #define USE_ECHO ON #define IH ".ih" -#define CXX "ccache g++" +//#define CXX "ccache g++" +#define CXX "g++" #define CXXFLAGS "-Wall -Werror -O2 " ${NOCOLORS} #define REFRESH diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/build2nd/icmconf.support new/icmake-13.07.00/icmake/build2nd/icmconf.support --- old/icmake-13.06.01/icmake/build2nd/icmconf.support 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/build2nd/icmconf.support 2026-10-04 13:16:00.000000000 +0200 @@ -1,4 +1,5 @@ -#define NOCOLORS "-fdiagnostics-color=never -Dfbb" +#define OBJ_SEP "," +#define NOCOLORS "-fdiagnostics-color=never -Dfbb" #define LIBRARY "tmp" @@ -14,7 +15,8 @@ #define USE_ECHO ON #define IH ".ih" -#define CXX "ccache g++" +//#define CXX "ccache g++" +#define CXX "g++" #define CXXFLAGS "-Wall -Werror -O2 " ${NOCOLORS} #define REFRESH diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/changelog new/icmake-13.07.00/icmake/changelog --- old/icmake-13.06.01/icmake/changelog 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/changelog 2026-10-04 13:16:00.000000000 +0200 @@ -1,3 +1,20 @@ +icmake (13.07.00) + + * By default source files are compiled to object files having their class + numbers as prefix. When the icmconf file contains #define OBJ_SEP "," + where "," can be any valid filename character not appearing in the + directory- or sourcefile-names then the object files receive their + directory names followed by OBJ_SEP as their prefix. See the icmconf(7) + and icmbuild(1) man-pages for details. + + * When using a lexical scanner (#define SCANNER_DIR) or parser (#define + PARSER_DIR) is configured the recency check of their configuration files + are only checked when icmbuild constructs a program or a library. + + * Compiled top-level object files now start with ','. E.g., ',main.o'. + + -- Frank B. Brokken <[email protected]> Sat, 03 Oct 2026 14:39:34 +0200 + icmake (13.06.01) * cosmetic change fixing lintian's error diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/doc/icmake.1 new/icmake-13.07.00/icmake/doc/icmake.1 --- old/icmake-13.06.01/icmake/doc/icmake.1 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/doc/icmake.1 2026-10-04 13:16:00.000000000 +0200 @@ -1,4 +1,4 @@ -.TH "icmake" "1" "1992\-2026" "icmake\&.13\&.06\&.01" "A program maintenance utility" +.TH "icmake" "1" "1992\-2026" "icmake\&.13\&.07\&.00" "A program maintenance utility" .PP .SH "NAME" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/doc/icmbuild.1 new/icmake-13.07.00/icmake/doc/icmbuild.1 --- old/icmake-13.06.01/icmake/doc/icmbuild.1 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/doc/icmbuild.1 2026-10-04 13:16:00.000000000 +0200 @@ -1,4 +1,4 @@ -.TH "icmbuild" "1" "1992\-2026" "icmake\&.13\&.06\&.01" "Icmake\(cq\&s generic program maintenance facility" +.TH "icmbuild" "1" "1992\-2026" "icmake\&.13\&.07\&.00" "Icmake\(cq\&s generic program maintenance facility" .PP .SH "NAME" @@ -67,12 +67,13 @@ Enter the names of subdirectories containing sources on separate lines in the file \fICLASSES\fP .IP -Note that the order of the classes mentioned in \fICLASSES\fP \fIis\fP -relevant in that new class (subdirectory) names can always be added to -the end of the file \fICLASSES\fP\&. Reordering the lines in the -\fICLASSES\fP file should be avoided as that most likely results in -overwriting identically named object files from already existing -directories\&. +When the \fIOBJ_SEP\fP define is not specified (cf\&. \fBicmconf\fP(7)) then +the ordering of the classes in the \fICLASSES\fP file \fIis\fP +important\&. The ordering should not be modified but new class +(subdirectory) names can always be added to the end of the file +\fICLASSES\fP\&. Reordering the lines in the \fICLASSES\fP file should be +avoided as that most likely results in overwriting identically named +object files from already existing directories\&. .IP If reordering is necessary, then first run the command \fIicmbuild clean\fP to remove all files that were thus far created by @@ -83,6 +84,18 @@ file \fIx\&.o\fP from class \fIA\fP by file \fIx\&.o\fP from class \fIB\fP is prevented; .IP +When the \fIOBJ_SEP\fP define is specified the names of subdirectories in +the \fICLASSES\fP file can be reordered\&. In this case the names of +object files start with the source files\(cq\& subdirectory names, followed +by the character specified by the \fIOBJ_SEP\fP define, followed by the +files\(cq\& base names, followed by the extension specified by the +\fIOBJ_EXT\fP define\&. E\&.g\&., if a source file \fIappend\&.cc\fP is defined in +the subdirectory \fIprocess\fP then its object file, assuming \fI#define +OBJ_SEP \(dq\&,\(dq\&\fP was defined, is named \fIprocess,append\&.o\fP\&. For source +files defined in the program\(cq\&s top\-level directory there is no +subdirectory\&. E\&.g\&., for \fImain\&.cc\fP the \fI,main\&.o\fP object file is +generated\&. +.IP .IP o Start \fIicmbuild\fP\&. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/doc/icmconf.7 new/icmake-13.07.00/icmake/doc/icmconf.7 --- old/icmake-13.06.01/icmake/doc/icmconf.7 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/doc/icmconf.7 2026-10-04 13:16:00.000000000 +0200 @@ -1,4 +1,4 @@ -.TH "icmconf" "7" "1992\-2026" "icmake\&.13\&.06\&.01" "configuration file for \fBicmbuild\fP(1)" +.TH "icmconf" "7" "1992\-2026" "icmake\&.13\&.07\&.00" "configuration file for \fBicmbuild\fP(1)" .PP .SH "NAME" @@ -243,6 +243,21 @@ the compiler; .IP .IP o +\fB//#define OBJ_SEP \(dq\&,\(dq\&\fP +.br +When \fIOBJ_SEP\fP is specified the names of subdirectories in +the \fICLASSES\fP file can be reordered\&. In this case the names of +object files start with the source files\(cq\& subdirectory names, followed +by the character specified by the \fIOBJ_SEP\fP define, followed by the +files\(cq\& base names, followed by the extension specified by the +\fIOBJ_EXT\fP define\&. E\&.g\&., if a source file \fIappend\&.cc\fP is defined in +the subdirectory \fIprocess\fP then its object file, assuming \fI#define +OBJ_SEP \(dq\&,\(dq\&\fP was defined, is named \fIprocess,append\&.o\fP\&. For source +files defined in the program\(cq\&s top\-level directory there is no +subdirectory\&. E\&.g\&., for \fImain\&.cc\fP the \fI,main\&.o\fP object file is +generated\&. +.IP +.IP o \fB//#define PRECOMP \(dq\&\-x c++\-header\(dq\&\fP .br (deprecated, consider declaring \fI#define SPCH\fP instead) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/doc/icmodmap.1 new/icmake-13.07.00/icmake/doc/icmodmap.1 --- old/icmake-13.06.01/icmake/doc/icmodmap.1 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/doc/icmodmap.1 2026-10-04 13:16:00.000000000 +0200 @@ -1,4 +1,4 @@ -.TH "icmodmap" "1" "1992\-2026" "icmake\&.13\&.06\&.01" "initializes C++ projects using modules" +.TH "icmodmap" "1" "1992\-2026" "icmake\&.13\&.07\&.00" "initializes C++ projects using modules" .PP .SH "NAME" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/doc/icmscript.7 new/icmake-13.07.00/icmake/doc/icmscript.7 --- old/icmake-13.06.01/icmake/doc/icmscript.7 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/doc/icmscript.7 2026-10-04 13:16:00.000000000 +0200 @@ -1,4 +1,4 @@ -.TH "icmscript" "7" "1992\-2026" "icmake\&.13\&.06\&.01" "The icmake scripting language" +.TH "icmscript" "7" "1992\-2026" "icmake\&.13\&.07\&.00" "The icmake scripting language" .PP .SH "NAME" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/doc/icmstart.1 new/icmake-13.07.00/icmake/doc/icmstart.1 --- old/icmake-13.06.01/icmake/doc/icmstart.1 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/doc/icmstart.1 2026-10-04 13:16:00.000000000 +0200 @@ -1,4 +1,4 @@ -.TH "icmstart" "1" "1992\-2026" "icmake\&.13\&.06\&.01" "starts icmbuild program maintenance" +.TH "icmstart" "1" "1992\-2026" "icmake\&.13\&.07\&.00" "starts icmbuild program maintenance" .PP .SH "NAME" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/doc/icmstart.rc.7 new/icmake-13.07.00/icmake/doc/icmstart.rc.7 --- old/icmake-13.06.01/icmake/doc/icmstart.rc.7 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/doc/icmstart.rc.7 2026-10-04 13:16:00.000000000 +0200 @@ -1,4 +1,4 @@ -.TH "icmstart\&.rc" "7" "1992\-2026" "icmake\&.13\&.06\&.01" "icmstart resource file" +.TH "icmstart\&.rc" "7" "1992\-2026" "icmake\&.13\&.07\&.00" "icmstart resource file" .PP .SH "NAME" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/doc/manpage/icmbuild.yo new/icmake-13.07.00/icmake/doc/manpage/icmbuild.yo --- old/icmake-13.06.01/icmake/doc/manpage/icmbuild.yo 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/doc/manpage/icmbuild.yo 2026-10-04 13:16:00.000000000 +0200 @@ -89,14 +89,15 @@ it() Enter the names of subdirectories containing sources on separate lines in the file tt(CLASSES) - Note that the order of the classes mentioned in tt(CLASSES) em(is) - relevant in that new class (subdirectory) names can always be added to - the end of the file tt(CLASSES). Reordering the lines in the - tt(CLASSES) file should be avoided as that most likely results in - overwriting identically named object files from already existing - directories. + When the tt(OBJ_SEP) define is not specified (cf. bf(icmconf)(7)) then + the ordering of the classes in the tt(CLASSES) file em(is) + important. The ordering should not be modified but new class + (subdirectory) names can always be added to the end of the file + tt(CLASSES). Reordering the lines in the tt(CLASSES) file should be + avoided as that most likely results in overwriting identically named + object files from already existing directories. - If reordering is necessary, then first run the command tt(icmbuild + If reordering is necessary, then first run the command tt(icmbuild clean) to remove all files that were thus far created by icb(). Recompilation is necessary as the names of the object files contain class order-numbers for identification. These class-order @@ -105,6 +106,18 @@ file tt(x.o) from class tt(A) by file tt(x.o) from class tt(B) is prevented; + When the tt(OBJ_SEP) define is specified the names of subdirectories in + the tt(CLASSES) file can be reordered. In this case the names of + object files start with the source files' subdirectory names, followed + by the character specified by the tt(OBJ_SEP) define, followed by the + files' base names, followed by the extension specified by the + tt(OBJ_EXT) define. E.g., if a source file tt(append.cc) is defined in + the subdirectory tt(process) then its object file, assuming tt(#define + OBJ_SEP ",") was defined, is named tt(process,append.o). For source + files defined in the program's top-level directory there is no + subdirectory. E.g., for tt(main.cc) the tt(,main.o) object file is + generated. + it() Start tt(icmbuild). ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/doc/manpage/icmconf.yo new/icmake-13.07.00/icmake/doc/manpage/icmconf.yo --- old/icmake-13.06.01/icmake/doc/manpage/icmconf.yo 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/doc/manpage/icmconf.yo 2026-10-04 13:16:00.000000000 +0200 @@ -224,6 +224,19 @@ this directive specifies the extension of object modules created by the compiler; + itb(//#define OBJ_SEP ",") + When tt(OBJ_SEP) is specified the names of subdirectories in + the tt(CLASSES) file can be reordered. In this case the names of + object files start with the source files' subdirectory names, followed + by the character specified by the tt(OBJ_SEP) define, followed by the + files' base names, followed by the extension specified by the + tt(OBJ_EXT) define. E.g., if a source file tt(append.cc) is defined in + the subdirectory tt(process) then its object file, assuming tt(#define + OBJ_SEP ",") was defined, is named tt(process,append.o). For source + files defined in the program's top-level directory there is no + subdirectory. E.g., for tt(main.cc) the tt(,main.o) object file is + generated. + itb(//#define PRECOMP "-x c++-header") (deprecated, consider declaring tt(#define SPCH) instead) nl() define this directive to construct class-specific pre-compiled headers diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/icmconf.lib new/icmake-13.07.00/icmake/icmconf.lib --- old/icmake-13.06.01/icmake/icmconf.lib 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/icmconf.lib 2026-10-04 13:16:00.000000000 +0200 @@ -1,5 +1,4 @@ -#include "c++std" - +#define OBJ_SEP "," #define CLS #define SOURCES "*.cc" #define OBJ_EXT ".o" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/scripts/ib/checkgrammar new/icmake-13.07.00/icmake/scripts/ib/checkgrammar --- old/icmake-13.06.01/icmake/scripts/ib/checkgrammar 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/scripts/ib/checkgrammar 2026-10-04 13:16:00.000000000 +0200 @@ -1,5 +1,8 @@ void checkGrammar() // check updating 'grammar' { + if (g_command <= _install) + return; + chdir(PARSER_DIR); list gramfiles = makelist(PARSSPEC); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/scripts/ib/checklexer new/icmake-13.07.00/icmake/scripts/ib/checklexer --- old/icmake-13.06.01/icmake/scripts/ib/checklexer 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/scripts/ib/checklexer 2026-10-04 13:16:00.000000000 +0200 @@ -1,5 +1,8 @@ void checkLexer() // check updating 'lexer' { + if (g_command <= _install) + return; + chdir(SCANNER_DIR); #ifdef PARSER_DIR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/scripts/ib/compileall new/icmake-13.07.00/icmake/scripts/ib/compileall --- old/icmake-13.06.01/icmake/scripts/ib/compileall 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/scripts/ib/compileall 2026-10-04 13:16:00.000000000 +0200 @@ -1,44 +1,57 @@ -#ifdef MULTICOMP void c_compile(int prefix, string destDir, string srcDir, list cfiles) { - fprintf << (TMP_DIR '/' + multicomp[0]) << - ": " << srcDir << ' ' << destDir << ' '; - - if (prefix != 0) - fprintf << (TMP_DIR '/' + multicomp[0]) << srcDir; - - fprintf << (TMP_DIR '/' + multicomp[0]) << ",\n"; - +#ifdef MULTICOMP + #ifdef OBJ_SEP + fprintf << (TMP_DIR '/' + multicomp[0]) << + ": " << srcDir << ' ' << destDir << ' '; + + if (prefix != 0) + fprintf << (TMP_DIR '/' + multicomp[0]) << srcDir; + + fprintf << (TMP_DIR '/' + multicomp[0]) << ",\n"; + #else + fprintf << (TMP_DIR '/' + multicomp[0]) << + ": " << srcDir << ' ' << destDir << ' ' << prefix << '\n'; + #endif if (srcDir != "") srcDir += "/"; - for (int idx = listlen(cfiles); idx--; ) { fprintf << (TMP_DIR '/' + multicomp[0]) << cfiles[idx] << '\n'; g_compiled = 1; } -} #else -void c_compile(int prefix, string destDir, string srcDir, list cfiles) -{ - string compiler = g_compiler + " -c -o " + destDir + "/"; - if (prefix != 0) - compiler += srcDir; - showCd(srcDir); - if (srcDir != "") - srcDir += "/"; + #ifdef OBJ_SEP + string compiler = g_compiler + " -c -o " + destDir + "/"; + if (prefix != 0) + compiler += srcDir; + if (srcDir != "") + srcDir += "/"; + for (int idx = listlen(cfiles); idx--; ) + { + string file = cfiles[idx]; + system(compiler + ',' + change_ext(file, OBJ_EXT) + " " + srcDir + + file); + g_compiled = 1; + } + #else + if (srcDir != "") + srcDir += "/"; + string compiler = g_compiler + " -c -o " + destDir + "/" + + (string)prefix; + for (int idx = listlen(cfiles); idx--; ) + { + string file = cfiles[idx]; + system(compiler + change_ext(file, OBJ_EXT) + " " + srcDir + + file); + g_compiled = 1; + } + #endif - for (int idx = listlen(cfiles); idx--; ) - { - string file = cfiles[idx]; - system(compiler + ',' + change_ext(file, OBJ_EXT) + " " + - srcDir + file); - g_compiled = 1; - } -} #endif +} void std_cpp(int ignoreMain, string destDir, int prefix, string srcDir, string library) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/scripts/ib/inspect new/icmake-13.07.00/icmake/scripts/ib/inspect --- old/icmake-13.06.01/icmake/scripts/ib/inspect 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/scripts/ib/inspect 2026-10-04 13:16:00.000000000 +0200 @@ -29,25 +29,24 @@ list inspect(string destDir, int prefix, string srcDir, list srcList, string library) { +#ifdef OBJ_SEP string oprefix = destDir + "/"; - if (prefix != 0) - oprefix += srcDir + ','; + if (prefix != 0) + oprefix += srcDir; + oprefix += ','; +#else + string oprefix = destDir + "/" + (string)prefix; +#endif srcDir += "/"; - #ifdef USE_ALL string all = srcDir + USE_ALL; #endif - for (int idx = listlen(srcList); idx--; ) { string file = srcList[idx]; string source = srcDir + file; - string ofile = oprefix + change_ext(file, "o"); // make o-filename - - // printf("inspect: source: ", source, ", ofile: ", ofile, ", lib: ", - // library, "\n"); - + string ofile = oprefix + change_ext(file, "o"); #ifdef USE_ALL if (ofile older all) { @@ -61,3 +60,4 @@ } return srcList; } + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/scripts/ib/main new/icmake-13.07.00/icmake/scripts/ib/main --- old/icmake-13.06.01/icmake/scripts/ib/main 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/scripts/ib/main 2026-10-04 13:16:00.000000000 +0200 @@ -35,6 +35,15 @@ if (g_command == _cleanTmp) // keep the .gch files if existing. cleanTmp(); + #ifdef OBJ_SEP + if (strlen(OBJ_SEP) != 1) + { + printf << "strlen(OBJ_SEP) must be 1. Currently defined as: `" + OBJ_SEP "'\n"; + exit(1); + } + #endif + if (g_command == _cleanGch) cleanPrecomp(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/scripts/ib/program new/icmake-13.07.00/icmake/scripts/ib/program --- old/icmake-13.06.01/icmake/scripts/ib/program 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/scripts/ib/program 2026-10-04 13:16:00.000000000 +0200 @@ -1,7 +1,11 @@ void program() { #ifdef MAIN - string maino = change_ext(MAIN, OBJ_EXT); + #ifdef OBJ_SEP + string maino = ',' + change_ext(MAIN, OBJ_EXT); + #else + string maino = change_ext(MAIN, OBJ_EXT); + #endif md(TMP_DIR "/bin"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-13.06.01/icmake/usr/share/icmake/icmconf new/icmake-13.07.00/icmake/usr/share/icmake/icmconf --- old/icmake-13.06.01/icmake/usr/share/icmake/icmconf 2026-09-04 11:14:56.000000000 +0200 +++ new/icmake-13.07.00/icmake/usr/share/icmake/icmconf 2026-10-04 13:16:00.000000000 +0200 @@ -6,12 +6,16 @@ // MAINTENANCE RELATED DEFINES THAT ARE TAILORED TO THE CURRENT PROJECT: // ===================================================================== + // Uncomment to generate object files preceded by their source file + // directories and (single character containing) OBJ_SEP +//#define OBJ_SEP "," + // Uncomment to clear the screen starting the compilation //#define CLS // Uncomment to construct a library. Optionally use another name (don't // use lib or an extension like .a) -//#define LIBRARY "ofiles" +//#define LIBRARY "ofiles" // The source containing main(): #define MAIN "main.cc" @@ -72,8 +76,13 @@ // the following #define. See also #define CXXFLAGS and #define SPCH below //#define NOCOLORS "-fdiagnostic-colors=never" - // The compiler to use. Define CC if a C compiler is used. + // The compiler to use. Activate the '//#define CC' line if a C compiler + // is used. + // To use 'ccache' when compiling C++ source files comment out the next + // #define and activate the #define beyond it. #define CXX "g++" +//#define CXX "ccache g++" + //#define CC "gcc" // The standard compiler options to use. Define CFLAGS if a C compiler is
