2018-06-25 ------ omnetpp-5.4.1 released ------ 2018-06-20 Zoltan Bojthe * Fix: Python utils: handle the exception OSError in the same way as IOError 2018-06-15 Attila Torok * opp_test: Return non-zero if there were any failed or unresolved tests. 2018-06-15 Attila Torok * opp_test: Return non-zero if there were any failed or unresolved tests. 2018-06-11 ------ omnetpp-5.4 released ------ 2018-06-06 Attila Torok * opp_runall: Fix batch size calculation (float -> int). [reported by Florian Kauer] See https://groups.google.com/d/msg/omnetpp/MmgDHyU9YrQ/kXAtGY43BAAJ Quote: In opp_runall (of version 5.3) the batchSize calculation might result in a floating point type, e.g. if len(runNumbers) = 13 and opts.jobs = 4. While math.ceil rounds the result, it is still of floating point type and thus leads to an error when using this value in the chunks method as argument to range ("integer step argument expected, got float"). 2018-04-11 ------ omnetpp-5.3 released ------ 2018-03-07 Rudolf Hornig * opp_fingerprint, opp_runall: switch to Python 2, as macOS has no Python in its default installation 2018-03-01 Andras Varga * opp_fingerprinttest: fix: error messages from the simulation did not appear. Only " Error" was printed, but not the actual error message. 2018-02-08 Rudolf Hornig * opp_test, opp_fingerprinttest: made to work on Windows 2018-01-26 Zoltan Bojthe * opp_test: fixed argument passing in runscript: $* replaced to "$@" 2017-12-20 Rudolf Hornig * opp_fingerprinttest: Added a new tool that allows running fingerprint tests against a model. Tests can be defined in a CSV file describing the working directory, command line, simulation time limit, expeted fingerprint hash and the expected result. 2017-12-18 Zoltan Bojthe * opp_test: Reimplemented in Python 2017-11-22 Rudolf Hornig * opp_makemake: Generate dependency files for .msg files too (when they use imports) 2017-01-06 Zoltan Bojthe * opp_featuretool: Show help when using without any arguments, or when there is an error in the command-line arguments 2017-11-17 Attila Torok * opp_featuretool: Add note about command-specific arguments to help. 2017-11-15 Zoltan Bojthe * opp_featuretool: Fixed bug in processing prerequisites 2017-12-08 ------ omnetpp-5.2.1 released ------ 2017-09-18 ------ omnetpp-5.2 released ------ 2017-07-06 Rudolf Hornig * opp_makemake: fixed build file dependency problem when the target name has an extension. Note the double colon (::) dependency definition in the generated makefiles. This is called terminal rule, and required because the rule applies to all files (%) in a folder. This is a special case for the generic % rule. 2017-05-26 Rudolf Hornig * opp_makemake: IMPORTANT CHANGES regarding debug/release-mode builds - Models are built in RELEASE mode by default. Until now, DEBUG was the default, which resulted in casual users always running their simulations in DEBUG mode, i.e. much slower than possible. - RELEASE and DEBUG mode binaries can now co-exist, so users do not have to recompile when they switch modes (e.g. when they want to debug a simulation -- remember, they are built in RELEASE mode by default.) This is a significant gain especially for large models like INET. The goal was achieved by adding the "_dbg" suffix to the names of DEBUG-mode binaries. - Binaries are now hard-linked from the build directory (out/) to the target directory instead of being soft-linked. This leaves the copy in the build directory intact when the one in the target directory is deleted. 2017-05-25 Rudolf Hornig * Updated makefiles for speeding up the build: - generated files are created only once, even when using parallel build - binaries are copied to their final destination using proper makefile targets 2017-05-18 Rudolf Hornig * Updated makefiles to speed up the build process (eliminited superfluous file copying when everything was up to date.) * Makefiles now correctly check all dependencies and return immeiately if the build is up to date. * Generated source files are created only once when parallel build is used. Previously the same file was unnecessarily generated several times. * Makefiles in samples folder are re-created only if they are missing. * The 'samples' folder is now optional and can be deleted if it's not needed. 2017-05-08 ------ omnetpp-5.1.1 released ------ 2017-03-31 ------ omnetpp-5.1 released ------ 2017-03-24 Andras Varga * opp_test: write out substitution result (useful for test debugging) 2017-03-09 Rudolf Hornig * opp_makemake: improved the "clean" target in the generated makefiles (use recursive wildcard; delete only the actual target) 2017-02-16 Rudolf Hornig * configure: the script no longer detects and tests for the presence of the 'pcap' library. If models need it, they have to implement their own method to detect and configure it. 2017-02-06 ------ omnetpp-5.1pre3 released ------ 2017-01-30 Rudolf Hornig * Fix: don't show warning on macOS after starting the IDE the second time 2017-01-26 Rudolf Hornig * opp_makemake: the IDE now generates exactly the same makefile as opp_makemake. This allows easier switching between IDE and command line without rebuilding the model 2016-12-23 ------ omnetpp-5.1pre2 released ------ 2016-12-19 Rudolf Hornig * opp_featuretool: dump the feature macros in sorted order 2016-12-19 Andras Varga * opp_test: fix for "|" as %subst separator character 2016-12-19 Andras Varga * opp_test: fix: quoting was messed up with %extraargs that contain single-quoted args 2016-12-05 Rudolf Hornig * Removed unsused abspath.c 2016-12-02 Rudolf Hornig * Fixed IDE start scripts to avoid security warnings on macOS 2016-11-30 Rudolf Hornig * Removed several unused utilities like opp_makedep, abspath etc. * opp_makemake no longer supports generating nmake compatible makefiles (i.e. the --nmake option was removed). GNU Makefiles can be used with the Microsoft Clang/C2 compiler to generate Visual C++ compatible code. * The updated build system now uses the ./configure file only to detect certain flags and libraries. Most of the build logic is handled by the Makefile.inc file itself. This allows you to enable/disable optional components (i.e. Tkenv, Qtenv, OSG and osgEarth support) without even re-running the ./configure file. 2016-11-30 Rudolf Hornig * Removed unused utilities and updated manual 2016-11-23 Rudolf Hornig * Removed abspath and lcg32_seedtool binaries. 2016-08-04 Andras Varga * opp_test: print bigger tail on failure 2016-10-06 Andras Varga * opp_test: export "run" script to facilitate running tests manually 2016-09-27 Andras Varga * opp_runall reimplemented in Python, for the new "-q" API 2016-07-05 Andras Varga * opp_makemake: removed support for deep includes. The --no-deep-includes option (used to turn off deep includes) is still accepted for backward compatibility, and is a no-op. As it turned out, deep includes (i.e. adding every directory in the source tree to the include path) is not good for large projects (too error-prone), and not needed for small projects. It was removed from the IDE as well. 2016-06-23 Rudolf Hornig * The makefile now uses compiler-generated dependency files. 2016-06-22 Rudolf Hornig * opp_makemake changed to generate makefiles that use compiler-generated dependency files 2016-04-13 ------ omnetpp-5.0 released ------ 2016-04-04 Zoltan Bojthe * featuretool: shows error when a NED package mentioned in a feature does not have a corresponding folder (may also be caused by missing .nedfolders) 2016-03-17 Zoltan Bojthe * opp_featuretool: nedfolders file is not required 2016-03-10 ------ omnetpp-5.0rc released ------ 2016-02-29 Zoltan Bojthe & Rudolf Hornig * Updated opp_featuretool and related documentation. Removed unnecessary warning when an OMNeT++ 4.x-compatible .nedfolders file is detected. Added isenabled command. 2016-02-10 Zoltan Bojthe * opp_test: execute pre-run commands (%prerun-command) in the "run" phase instead of the "generate" phase. 2015-12-11 Rudolf Hornig * Fixed copying opp_featuretool to the bin directory. 2015-12-07 ------ omnetpp-5.0b3 released ------ 2015-11-20 Zoltan Bojthe * opp_test: pre-run and post-run scripts (%prerun-command, %postrun-command) are now executed in the order they occur in the .test file 2015-07-20 ------ omnetpp-5.0b2 released ------ 2015-06-08 Andras Varga * Cleanup: code formatting 2015-04-20 Andras Varga * Cleanup: use C++ names of C headers (e.g. instead of ) 2015-04-12 Andras Varga * Cleanup: copyright years updated 2015-03-04 ------ omnetpp-5.0b1 released ------ 2015-02-15 Andras varga * opp_makedep: sort the dependencies (minimizes conflicts during rebase) 2013-02-27 Andras Varga * opp_makedep, opp_makemake: added support for state machine files, in preparation for a future state machine compiler in OMNeT++ 2014-11-27 ------ omnetpp-4.6 released ------ 2013-10-08 Andras Varga * opp_test: always generate and add "_defaults.ini" to the simulation program args. (So %inifile entries in the .test file no longer replace the default inifile, but rather, "_defaults.ini" serves as a fallback to %inifile-generated files). The practical consequence is that in %inifile you no longer need to repeat the entries in the default generated inifile. (Backported from 5.0) * opp_test: leave result file names at their defaults. (Backported from 5.0) * opp_test: added %prerun-command and %postrun-command. (Backported from 5.0) * opp_test: removed %module_a/%module_b support (they were too specific to be generally useful) * opp_test: changed -g/-r/-c args to run/gen/check * opp_test: remove trailing spaces from each line when reading the test file 2014-06-30 ------ omnetpp-4.5 released ------ 2014-02-13 ------ omnetpp-4.4.1 released ------ 2013-12-20 ------ omnetpp-4.4 released ------ 2013-09-12 ------ omnetpp-4.3.1 released ------ 2013-04-02 ------ omnetpp-4.3 released ------ 2013-02-08 ------ omnetpp-4.3rc1 released ------ 2013-01-07 Rudolf Hornig * Visual C++ makefiles are now printing only the name of the compiled file. Verbose mode can be turned on by specifying V=1. 2012-10-27 Rudolf Hornig * GNU Makefiles now print only the name of the compiled file, but not the whole command line. This makes the build output a bit less verbose. Verbose mode can be turned on by specifying V=1 as a parameter for make. 2012-03-13 ------ omnetpp-4.2.2 released ------ 2012-01-17 ------ omnetpp-4.2.1 released ------ 2011-11-06 Andras Varga * linkall.pl: fix: /libpath was only accepted on the command line and not in the listfile; also, directory name with quotes caused error 2011-10-28 ------ omnetpp-4.2 released ------ 2011-09-11 ------ omnetpp-4.2rc1 released ------ 2011-05-25 Andras Varga * opp_msvcver.pl: fix #75: Chinese version of Visual C++ was not recognized, because the words "bit" and "version" have also been translated in the cl.exe logo output. 2011-05-05 ------ omnetpp-4.2b2 released ------ 2011-02-23 ------ omnetpp-4.2b1 released ------ 2010-06-11 ------ omnetpp-4.1 released ------ 2010-06-09 Andras Varga * opp_makemake: in generated makefiles, ln -sf, mkdir -p and opp_shlib_postprocess are now referred to via Makefile.inc variables (LN, MKPATH, SHLIB_POSTPROCESS). 2010-05-31 ------ omnetpp-4.1rc2 released ------ 2010-05-28 Levente Meszaros * opp_test: support multiple %inifile entries in the .test file 2010-05-09 Andras Varga * opp_test: do not delete "%contains" files that look like source files (.h,.cc,.msg,.ned) i.e. they are surely not generated by the test simulation. 2010-04-20 ------ omnetpp-4.1b4 released ------ 2010-04-01 Andras Varga * opp_makemake: support long linker lines (>32K) on Windows, via using temp files for arguments (edit: actually it still does not work, because g++ internally attempts to launch its inferior processes with a >32K command line, and fails... There seems to be no other solution than splitting up the project's sources to multiple libs.. 2010-03-31 Levente M�sz�ros * opp_test: added new entries called %file-exists and %file-not-exists with a single file name parameter. 2010-03-30 Andras Varga * opp_test: %subst to understand backrefs ($1) in the replacement string 2010-03-14 ------ omnetpp-4.1b3 released ------ 2009-09-03 Andras Varga * opp_test: improvement: save the reference outputs (i.e. bodies of various %contain blocks) in work/testname [bug 96] 2009-07-07 Andras Varga * added opp_pefileversion.cc, for detecting Visual C++ version in a NLS-independent way [code from ViRe] 2009-03-12 ------ omnetpp-4.0 released ------ 2009-02-27 ------ omnetpp-4.0rc2 released ------ 2009-02-20 Rudolf Hornig * opp_test: implemented %extraargs 2009-01-02 Andras Varga * added opp_runall 2008-12-12 ------ omnetpp-4.0rc1 released ------ 2008-12-02 Andras Varga * seedtool: renamed opp_lcg32_seedtool, and added a warning in its help that it is an obsolete tool and probably should not be used. 2008-11-17 Andras Varga * opp_test: implemented %env for setting environment variables for the test program. Example: %env: NEDPATH=this;that 2008-11-09 Andras Varga * opp_makemake: streamline the generated makefile: definitions, actions, etc are only generated when they are actually needed 2008-10-25 Andras Varga * opp_makemake: use individual targets for each sub-make directory, instead of iterating over $(SUBMAKE_DIRS); also removed $(SUBMAKE_DIRS) * opp_makemake: several refinements and bugfixes * opp_test improvements: -c, %testprog 2008-09-30 Andras Varga * opp_makemake: added $(LDFLAGS) to the command line when building shared libraries 2008-08-17 Andras Varga * opp_makemake: default target name changed to the project name, from the name of the makefile directory 2008-07-11 Andras Varga * opp_test: implemented the possibility to do replacements on the output before matching. This is useful for handling platform differences, like MSVC printing NaN and INF differently from gcc. Syntax: %subst /search-regex/replacement/flags It is allowed to have more than one %subst in a test case file. Perl-style regexes are supported (of course). 2008-07-10 Andras Varga * opp_test: removed feature that {} was synonymous to @TESTNAME@, and {foo} to @TESTNAME@_foo. Those abbreviations are no longer that useful, now that NED files of different test cases don't interfere. * opp_test: new feature: any test can declare the result to be unresolved, by printing #UNRESOLVED or #UNRESOLVED:some-explanation on its standard output 2008-06-23 Rudolf Hornig, Andras Varga * opp_makedep: optimized by memoizing the result of header files scan * opp_makedep: added -v, --verbose command-line option * opp_makedep: fix: it choked if there was a directory with the same name as an included files (ie. #include , and a queue/ dir) 2008-06-15 Andras Varga * opp_makemake: generate one rule per .msg file. note: batch rules like $(MSG_H_FILES) $(MSG_CC_FILES): $(MSGFILES) $(MSGC{nmake?:/=\}) -s _m.{cc} $(MSGCOPTS) $(MSGFILES) have been tries but do not work properly (nmake tends to recompile everything when any msg file changes) 2008-06-15 Andras Varga * added ln.c 2008-06-01 Andras Varga Summary of changes for the OMNeT++ 4.0 branch: * opp_test: - each test gets its own directory - new section %includes -- it goes outside the C++ namespace (%global goes inside) TODO add to the docu!!! - new entry %network: it sets the network name in the ini file, possibly in the generated ned files too * opp_(n)makemake: unified unix and windows versions in a new template substitution based implementation * opp_(n)makemake: dropped -N option, and made dynamic NED loading the default * opp_(n)makemake: default is linking with BOTH cmdenv and tkenv (pass the -u option to simulation executables to choose Cmdenv or Tkenv) * opp_makedep: --objdir option changed to --objprefix (also available as -P) * opp_(n)makemake option changes: - renamed -b,--basedir to -P,--projectdir - old -P option (opp_msgc windows export/import symbol) became -p - added --nmake option - added -M, --mode option - the -c filename, --configfile filename option no longer exists, config file is found by calling opp_configfilepath - removed -t,--importlib option, as plain -l does the job as well - added -a,--make-lib option, which builds a static lib - removed tstamp mechanism from opp_makemake (wasn't very useful) - generates dependencies for msg files too, but expects _m.cc files on the command line for that! 2006-10-21 ------ omnetpp-3.3 released ------ 2006-10-19 Andras Varga * opp_nmakemake: bugfix: running it with a -I"path with space" option, the quotes didn't make it into the generated Makefile.vc 2006-01-12 ------ omnetpp-3.2p1 released ------ 2006-01-09 Andras Varga * opp_nmakemake: failed if a directory name contained "++" when the -b option was specified * opp_makedep: return exit code 0 when called without args to print help 2005-10-19 ------ omnetpp-3.2 released ------ 2005-10-13 Andras Varga * opp_makemake, opp_nmakemake: fix: internal abs2rel routine didn't work for 1-char directory names 2005-09-22 Andras Varga * opp_neddoc.in: changed to use @@listfile syntax to invoke nedtool. 2005-08-06 Andras Varga * opp_nmakemake: implemented -s, -t, -d options to enable building DLLs * opp_makemake.in: added -t, -d options (do-nothing options) for command-line compatibility with opp_nmakemake 2005-08-05 Andras Varga * opp_makemake.in, opp_nmakemake: added -P option (just gets passed to opp_msgc) 2005-07-19 Andras Varga * opp_neddoc.in: changed runprog so that it gives system() a single string. This is necessary because we need to use the shell because of redirections. As documented at http://perldoc.perl.org/functions/ system.html, perl uses the shell to execute a program if there is only one scalar parameter and this must contain a shell metacharacter. [reported by Johann Glaser] * opp_neddoc.in: changed network images (GNED diagrams) from JPG to PNG. (It was JPG because a browser beginning with "I" used to have versions around with poor to none PNG support, and GhostScript of course didn't create GIFs.) [change suggested by Johann Glaser] 2005-05-20 Andras Varga * opp_nmakemake: added printing of "entering ", "leaving " messages 2005-03-31 ------ omnetpp-3.1 released ------ 2005-03-03 Andras Varga * opp_makemake, opp_nmakemake: implemented -X (ignore subdirectory) option 2004-12-29 ------ omnetpp-3.0 released ------ 2004-12-10 Andras Varga * opp_test: always used dynamic NED loading, regardless of -N option 2004-11-29 Andras Varga * opp_makemake.in: avoid generating $(wildcard ..) without args. Change needed for Mac OS/X [patch from Michael Tuexen] * opp_test: similar change as to opp_neddoc.in below, on 2004-11-21 2004-11-23 ------ omnetpp-3.0b1 released ------ 2004-11-21 Andras Varga * opp_neddoc.in: fixed the way it invokes commmands via system() (We to break up the command line, otherwise redirection sometimes breaks on Windows; plus we always need to use COMSPEC) 2004-11-03 ------ omnetpp-3.0a9 released ------ 2004-11-03 Andras Varga * opp_test: fixed bug which caused %not-contains tests not to take place. 2004-10-27 Andras Varga * seedtool.cc: edited banner to clarify it generates seeds for LCG32. 2004-10-15 Andras Varga * opp_makemake.in: fixed "-L" bug introduced in 3.0a7 (2004-09-14) 2004-10-04 ------ omnetpp-3.0a8 released ------ 2004-10-04 Andras Varga * opp_makemake.in: "tr [a-z] [A-Z]" changed to "tr '[a-z]' '[A-Z]'" to prevent shell expansion [patch by Kendy Kutzner] 2004-09-24 ------ omnetpp-3.0a7 released ------ 2004-09-24 Andras Varga * opp_makemake.in, opp_nmakemake: don't delete $(TARGET) with "-n" 2004-09-14 Andras Varga * opp_nmakemake: added -b option. is supposed to be the toplevel directory of large multi-directory simulation model. The -b option will cause all path names (passed with -I, -L, etc.) to be converted from absolute to relative. This means that makefiles will not need to be re-generated or edited then the project is compiled in a different directory. 2004-08-12 Andras Varga * neddocproc.pl: backslashing can be used to prevent unintentional hyperlinking of a word which is also a component (e.g. module) name. That is, \IP is the same as IP: "IP" won't get hyper- linked in the HTML output, even if there's a module type called IP. Single backslashes will be removed from the HTML output -- double them if you want them to appear. 2004-08-09 Andras Varga * opp_neddoc.in: on Windows, listing directories which have no .ned or .msg on the command line caused opp_neddoc stop with "file not found" error 2004-07-22 ------ omnetpp-3.0a6 released ------ 2004-07-20 Andras Varga * neddoc.xsl: "NED file" pages in generated HTML now contain full NED file listing * opp_neddoc.in, neddoc.xsl: added -z (--no-source) option to turn off adding the source code on component pages (but NED file pages will still contain the source) 2004-07-19 Andras Varga * opp_nmakemake,opp_makemake: added -x (--notstamp) option: the makefile won't require a .tstamp file to be present in directories that appear after the -x option on the command line. * opp_neddoc: added support for tags @author, @date, @todo, @bug, @see, @since, @warning, @version 2004-07-16 Andras Varga * opp_test: added preload-ned-files=*.ned to default omnetpp.ini 2004-07-12 Andras Varga * opp_makemake.in,opp_nmakemake: fixed bug which caused .tstamp to be always updated, and thus depended directories to be always re-built. 2004-07-10 Andras Varga * opp_test: added further checks: %contains-filt, %not-contains-filt, %contains-regex-filt, %not-contains-regex-filt. These checks regard only the lines beginning with "::" in the output (all other lines will be discarded before match). This makes it easier to write test cases if the test code produces lots of output. 2004-06-07 ------ omnetpp-3.0a5 released ------ 2004-05-15 ------ omnetpp-3.0a4 released ------ 2004-05-15 Andras Varga * opp_neddoc.in: prefer ImageMagick's convert to Ghostscript when converting EPS to JPG. Many Ghostscript versions do not crop EPS files: they ignore the -dEPSCrop flag and the %%BoundingBox line in the EPS file. (One GS that I tested and works well is AFPL Ghostscript 8.11.) ImageMagick also uses Ghostscript to do the conversion but works around the problem: adds the line "120 45 translate" to the front of the EPS file (where the numbers are -1 times the top-left corner of the %%BoundingBox) before invoking GS, then after GS it crops the resulting raster image to the correct size. 2004-04-14 Andras Varga * neddoc.xsl: fixed bug which caused some inheritance arrows to be drawn in wrong direction 2004-03-22 ------ omnetpp-3.0a3 released ------ 2004-03-05 Andras Varga * opp_makemake: added --genconfig option which generates config file which can be included by makefiles (see opp_makemake -c option). * opp_makemake, opp_nmakemake: old targets "re-makemake" and "re-makemake-m" renamed to "makefiles" and "makefile-ins". Old target names also kept for compatibility but should not be used any more. * opp_nmakemake: some quirks fixed; used "exit /b 1" to return error code (not good without /b!) 2004-03-04 Andras Varga * opp_makemake, opp_nmakemake: improved dealing with .msg files. To deal with dependencies within a single directory, an $(OBJS) : $(GENERATEDHEADERS) dependency was added which forces opp_msgc run first. For dealing with multi-directory models, there's a "generateheaders" target which the toplevel makefile can depend on, forcing to generate all _m.h files before actual compilation begins. The toplevel makefile should contain the following dependency then: subdirs $(OBJS) : generateheaders (It is not good to add this to every makefile, because it'll run too many times, cascading...) 2004-03-03 ------ omnetpp-3.0a2 released ------ 2004-03-03 Andras Varga * opp_makemake, opp_nmakemake: makefiles now generate a .tstamp file on successful build. Useful with multi-directory models: with -w option, the generated makefile will depend on the timestamps of included directories, so e.g. a simulation executable gets re-built automatically if its components in other directories have been changed *and* built. ATTENTION: this doesn't guarantee that other directories are up-to date!!! Only that *when* they are re-built, executables that use them will be re-built too. You still have to do a top-level make if you want to ensure that included directories are up-to-date too. * opp_makemake, opp_nmakemake: re-makemake target made recursive [suggested by Daniel Willkomm] 2004-02-22 Andras Varga * opp_test: added -a, -N options. -N can be used to test dynamic NED loading 2004-02-18 Andras Varga * opp_makemake.in: -N, --ignore-ned added (see below) 2004-02-09 Andras Varga * opp_nmakemake: added -N, --ignore-ned option which leaves out .ned files from the makefile. Useful when you want to load all .ned files dynamically instead of linking them into the simulation program (see preload-ned-files omnetpp.ini option). 2004-02-06 Andras Varga * opp_makemake.in,opp_nmakemake: 'depend' target made recursive 2004-02-04 ------ omnetpp-3.0pre1 released ------ 2004-02-03 Andras Varga * neddoc.xsl: module etc names in generated .dot files need quotes otherwise they may clash with dot's reserved keywords ("Node") 2003-12-06 Andras Varga * opp_nmakemake now will make some effort to find configuser.vc by itself when no -c option is given 2003-12-05 Andras Varga * opp_neddoc and parts polished and brought to work on Windows. See tests at test/opp_neddoc. 2003-10-02 Andras Varga * opp_makemake.in, opp_nmakemake: a thorough rewrite of how multi-directory models are handled. This version should be usable, it's been proven on IPSuite and MPLS (I generated _all_ of its Makefiles including the toplevel one with opp_(n)makemake). The changes in nutshell: - opp_(n)makemake no longer invokes `make' in other directories while generating the makefile. (It wasn't a very good idea in the first place) - it is now possible to generate a Makefile that imports the settings from another file (via Makefile inclusion). Thus you don't have to regenerate all the Makefiles (or edit the settings in them) if you move to a different machine or change the compile flags. - "recursive make" (descenting into subdirs) is now independent from which directories you want to link with object files. Recursive make is enabled with the -r option, and it'll simply cause the Makefile to go into all subdirs and run make in them. That's all. If you need to ensure a specific order or you want to leave out certain subdirs, you can put additional dependencies and rules into makefrag (makefrag.vc). - any file you list on the opp_(n)makemake command line is still something to link with. No change here. - any directory on the opp_(n)makemake command line is a something that (will) contain object files you want to link with. opp_(n)makemake won't specifically list the object files in the Makefile, it'll just say *.o (or *.obj). Also, it won't add dependencies to that directory -- you have to add that manually (see "recursive make" above). - one shortcut I found useful: the -w option causes linking with all object files found in the -I (include) directories. That saves you from listing directories with -I (because you want to import NED files from there and #include header files) and again as argument (because you also want to link with the object files from there) -- you just add -w, and the -I's. Note that primarily, linking with object files is considered and not building static or shared libraries. Putting modules into static libraries doesn't work very well on Unix (the linker tends to optimize too eagerly and leave out your modules from the executable), but shared libraries are fine. On Windows, static libs have the same problem as on Unix; DLLs are more difficult to build. Any customization should go to the makefrag(.vc) file. The above machinery should probably be satisfactory for except very large and very modular simulation models. If you find that you've outgrown the opp_makemake features, you should probably consider moving to CMake or Automake which are far more powerful. 2003-08-20 Andras Varga * opp_makemake.in, opp_nmakemake: added missing dependency of _m.h files on .msg files. 2003-07-28 Andras Varga * opp_neddoc/opp_neddocall: enhanced documentation generation, output is now multi-frame html. Generated files go to the html/ subdirectory. 2003-06-16 ------ omnetpp-2.3 released ------ 2003-05-24 Andras Varga * opp_nmakemake: changed handling of -e option -- now, if no -e option is given, opp_nmakemake tries to detect the C++ file extension from files already in the directory. 2003-03-15 ------ omnetpp-2.3b2 released ------ 2003-03-15 Andras Varga * opp_nmakemake: fixed -l and -L options; clarified help text 2003-03-13 Andras Varga * opp_test: changed #include "omnetpp.h" to in generated code 2003-03-11 Andras Varga * opp_test: couldn't run test program on Unix if "." was not in the PATH 2003-02-15 ------ omnetpp-2.3b1 released ------ 2003-02-08 Andras Varga * opp_test: enhancement: %contains and %not-contains now do substring match. Regexp match can be done with %contains-regex and %not-contains-regex. 2003-01-30 Andras Varga * opp_makemake.in: now runs make depend after makefile creation 2002-12-18 Andras Varga * opp_stacktool.cmd added: it displays maximum reserved stack size for a program. * seedtool.cc: incorporated fix from N. Reijers. If too many seeds, too far apart are requested, there were zeroes in the generated sequence. (See src for more info.) 2002-12-08 Andras Varga * opp_makemake, opp_nmakemake: handling of .ned files that use the 'experimental message subclassing' feature has changed. These files should have .msg suffix, and they will be compiled by opp_msgc into _m.h and _m.cc files. The '//--subclassing--' line is no longer needed. 2002-12-06 Andras Varga * added opp_neddocall: it documents all ned files in the current directory and subdirectories. * opp_makemake_vc.pl renamed to opp_nmakemake * use .cmd files with NT command line extensions (%~ notation) to run opp_test, opp_makedep, opp_nmakemake and splitvec from Windows command prompt * removed 'require Cwd' from perl scripts: we don't want to use any Perl modules, to avoid having to bundle a full Perl distribution into the Windows installer 2002-11-14 Andras Varga * opp_test: changes for Windows * opp_makemake_vc.pl: added makefile creator for MSVC. 100% Perl, no other Unix tool needed. The created Makefile.vc includes configuser.vc for all compiler, linker, etc settings. 2002-10-30 Andras Varga * tcl2c.c: commented out old code for Borland C++, it was in the way when compiling with MinGW. BC is not supported anyway. 2002-10-19 Andras Varga * opp_test: added %global option; it can be used with %activity and its body will be placed into the C++ source at global scope, so it's a good place for helper functions, etc. 2002-06-12 Ulrich Kaage * opp_makemake.in (htmldocs): Target htmldoc renamed to htmldocs. Now, creates directory htmldoc instead of html (clean): remove automatically generated documentation (htmldocs): use | instead of / as sed separator where file pathes can occur 2002-06-11 Ulrich Kaage * opp_makemake.in (doxyconf): new variable; names the doxygen configuration file (nedfiles): new variable, holds all ned files including those in sub-directories (neddoc.html): new Makefile target for NED documentation generation. Creates neddoc.html (htmldoc): new Makefile target for C++ code documentation generation. Docu is placed into ./html sub-directory (doc): new Makefile target that calls target neddoc.html and htmldoc (): various code for NED file collection; exludes NED files that contain experimental subclassing ("//--subclassing--") * opp_neddoc.in: use OMNETPP_UTILS_DIR as path to neddoc.xsl. Added signal traps and a cleanup() function 2002-06-10 Ulrich Kaage * Makefile.in (all): copy opp_neddoc to bin dir. * opp_neddoc.in (NEDDOC_XSL): use OMNETPP_UTILS_DIR as path to neddoc.xsl 2002-07-07 Andras Varga * added NED documentation tool (neddoc.xsl, opp_neddoc, opp_neddoc.cmd) 2002-05-04 ------ omnetpp-2.2 released ------ 2002-04-06 Andras Varga * opp_test added (moved here from test/); makefile installs it into bin/ * makedep.pl renamed to opp_makedep and made a standalone program; makefile installs it into bin/ 2002-04-02 Ulrich Kaage * opp_makemake.in (): when parsing option -u: use brackets around tr groups 2002-03-03 Andras Varga * opp_makemake: added -L option; removed Makefile.in from the depend target. [patch by Johnny Lai] 2002-01-23 Ulrich Kaage * opp_makemake.in (clean): remove also *_n.h files. 2001-10-18 Ulrich Kaage * opp_makemake.in: introduced NEDCFLAGS and NEDCOPTS so that compile flag -Wno-unused can be used for compiling _n.cc files only. NEDCFLAGS is defined in configure.in and set in configure.user in the top level directory. 2001-08-28 Andras Varga * added makedep.pl. The makedepend program in newer XFree versions (4.0 up?) is unusable because it no longer supports the -Y option :( This Perl script I found on the web and enhanced it significantly. 2001-06-19 Ulrich Kaage * Makefile.in (all): use "ln -sf" instead of "ln -s" to avoid an error when link already exists. 2001-05-24 Andras Varga * ------ omnetpp-2.1 released ------ * prephtml, wc-l moved to _scripts 2001-03-29 Andras Varga * replace utility renamed to opp_replace 2001-03-27 Andras Varga * Makefile change: now it copies makemake, splitvec and seedtool to bin/ (instead of making soft links). * makemake renamed to opp_makemake 2001-02-27 Andras Varga * ------ omnetpp-2.0p1 released ------ * fixed bug in tcl2c which prevented it from compiling with Cygwin 2001-02-06 Andras Varga * ------ omnetpp-2.0 released ------ * tcl2c now compiles with MSVC. 2000-09-30 Andras Varga * typos in makemake.in 2000-05-07 Andras Varga * ------ omnetpp-2.0b5 released ------ * ------ omnetpp-2.0b4 released ------ * replace.c added [from Balazs Kelemen] 2000-04-30 Andras Varga * TVEnv support removed from makemake [suggested by Niko] * prephtml now puts a version number into the html file 2000-04-19 Andras Varga * added some Purify support to makemake [from Ulrich Kaage] 2000-04-16 Andras Varga * prephtml script enhanced: now it splits up the manual to several HTML files (usman.html, toc.html plus chapN.html files); it also adds heading numbering. 2000-04-10 Andras Varga * TRUE/FALSE (defines) replaced by true/false (C++ keywords) 1999-12-05 Andras Varga * ------ omnetpp-2.0b3 released ------ * Makefile.vc added 1999-10-10 Andras Varga * ------ omnetpp-2.0b2 released ------ * makemake: better error handling with recursive makefiles; EXE_SUFFIX added * tcl2c.c: encoding simplified (old one was unnecessarily complicated and didn't work under cygwin) 1999-07-17 Andras Varga * ------ omnetpp-2.0b released ------ * seedtool help text changed 1999-06-21 Andras Varga * all sources checked in under CVS * makefile.in modified for use with GNU Autoconf; also renamed to Makefile.in * version.log renamed to ChangeLog * cleanup: removed a number of old scripts * tcl2c.c moved here 1999-01-25 Andras Varga * minor changes 1999-01-01 Andras Varga * fifo2 sample added to install.bat; fifo renamed to fifo1 * misc fixes * 'convert' script removed 1998-12-30 Andras Varga * configure script improved; * DYNAMIC_LINKAGE config flag renamed to USE_DLOPEN * configure now creates makefile out of makefile.in * makefile renamed to makefile.in 1998-08-16 Andras Varga * support for the models/ directory * configure now puts OMNETPP_ROOT-relative paths into the makefiles etc. 1998-08-16 Andras Varga * fixes on the install scripts 1998-08-14 Andras Varga * small fixes 1998-07-15 Andras Varga * html/ directory moved one level up: omnetpp/html/ * prephtml fixed: two-level table of contents * several small fixes 1998-07-02 Andras Varga * makemake revisited; configure improved too 1998-06-15 Andras Varga * makemake rewritten. Accepts several command-line options, can handle source trees etc. 1998-06-04 Andras Varga * small corrections on prephtml and configure 1998-05-21 Andras Varga * prephtml added 1998-05-12 Andras Varga * bugfixes * mklinks added 1998-05-11 Andras Varga * bugfixes * sim, envir, nedc, plove, gned, utils placed into a src subdirectory 1998-04-29 Andras Varga * makedist creates a lib/ directory with soft links to the libraries 1998-04-26 Andras Varga * support for dynamic linking * makeall now does a make in utils/ and gned/ too * makedist creates bin/ directory will several soft links in it 1998-04-22 Andras Varga * bitmaps dir added to scripts * dos2unix, configur etc scripts improved 1998-03-10 Andras Varga * Plove added to install etc scripts * wrote readme file 1998-02-26 Andras Varga * 'make clean' added to makemake-generated makefiles * ifeq's removed from makefiles (they are not supported everywhere) * configur script improved (now checks for gcc, bison etc.) 1998-02-20 Andras Varga * improved on scripts 1998-02-15 Andras Varga * added 'configur' script * renamed (and modified) some scripts: tounix-->dos2unix buildall-->makeall buildlib.bat-->makeall.bat jar_mkmk-->makemake 1997-12-16 Andras Varga * added GNED and FIFO example to installation scripts * convert script upgraded for sim151 1997-10-06 Andras Varga * added convert that upgrades older OMNeT++ sources 1997-07-10 Andras Varga * jar_mkmk changed to generate makefiles edible for Cygnus gcc on Win95/NT 1997-07-02 Andras Varga * install.bat changed 1997-06-26 Andras Varga * mkmk deleted from scripts * splitvec.bat added * bug: jar_mkmk gives an error if there's no ned file in the directory 1997-06-23 Andras Varga * splitvec rewritten in awk * install.bat now checks if env vars were set OK * makedist, buildall improved * mkmk removed