User forums > Using Code::Blocks

cbp2make - makefile generation tool

<< < (3/25) > >>

mirai:
Update: (see rev.39)

[*] Fixed misbehavior caused by missing configuration, now configuration file is created automatically.
[*] Fixed missing commands for creation of output directory for object files of source files located in project root directory.

oBFusCATed:
mirai: Do you use some version control system, because I couldn't find it in the project page on the sf.net?

mirai:

--- Quote from: oBFusCATed on November 23, 2010, 09:40:45 pm ---mirai: Do you use some version control system, because I couldn't find it in the project page on the sf.net?

--- End quote ---
Yes, I use Git locally, but I don't publish the repository, generally because I don't feel strong reason to do so (at least now).
And, since Git has no true revision numbers, I use following naming scheme: "project-branch-revision",
where "revision" is simply `git log --pretty=format:'%h' | wc -w` expression evaluated while switched to that branch.

mirai:
Update: (see rev.42)

[*] Changed configuration lookup order. Previously is was: 1) "-cfg" parameter, 2) current directory; Now it is: 1) "-cfg" parameter, 2) home directory 3) current directory; The "--local" parameter overrides home directory lookup, and the "-cfg" parameter overrides "--local" parameter. Also, fixed issue with appearing of empty configuration name (".cfg" files) in certain cases.
[+] Environment variables.
[+] External dependencies for targets.

.

mirai:
Update: (see rev.53)

[+] Added support for global compiler variables. The "--config" option now has one mandatory parameter which may be "toolchain", "platform" or "variable". Global compiler variables are added to configuration using the "--add" option, the two other mandatory options "-name" and "-value", and the two other options "-set" (default value is "default") and "-field" (default value is "base"). Removal of a variable is mostly alike, but setting both "-name" and "-field" options removes only user-added field, setting only "-name" option removes the whole variable and settings the "-set" option alone removes the entire variable set. Since "default" variable set cannot be deleted, removing it will only clear the variable set. Global compiler variables are basically translated into makefile variables without any additional checking for being correctly defined, recursive variable resolution is up to the make tool.
[+] Implemented "flat objects" feature. The "--flat-objects" option simply disables hierarchical paths for objects (ex.: "dir1/dir2/file.o" becomes "file.o"), and the "--flat-objpath" option adds modified path as a prefix to the object file name (ex.: "dir1/dir2/file.o" becomes "dir1_dir2_file.o").
.

--- Quote ---Usage syntax:

        Generate makefile:
                cbp2make -in <project_file> [-cfg <configuration>] [-out <makefile>]
                         [-unix] [-windows] [-mac] [--all-os] [--flat-objects] [--flat-objpath]
                cbp2make -list -in <project_file_list> [-cfg <configuration>]
                         [-unix] [-windows] [-mac] [--all-os] [--flat-objects] [--flat-objpath]

        Manage toolchains:
                cbp2make --config toolchain --add -alias <toolchain> [-cc <c_compiler>]
                         [-cpp <c++_compiler>] [-ln <linker>] [-st <static_linker>]
                         [-ranlib <ranlib>] [-windres <windres>] [-make <make>]
                cbp2make --config --remove -alias <toolchain>

        Manage platforms:
                cbp2make --config platform [-unix|-windows|-mac] [-pwd <print_dir_command>]
                         [-cd <change_dir_command>] [-rm <remove_file_command>]
                         [-rmf <remove_file_forced>] [-rmd <remove_dir_command>]
                         [-tf <test_file_command>] [-td <test_dir_command>]
                         [-md <make_dir_command>] [-mdf <make_dir_forced>]
                         [-make <default_make_tool>]

        Manage global compiler variables:
                cbp2make --config variable --add [-set <set_name>] -name <var_name>
                         [-desc <description>] [-field <field_name>] -value <var_value>
                cbp2make --config variable --remove [-set <set_name>] [-name <var_name>]
                         [-field <field_name>]

        Common options:
                cbp2make --local        // use configuration from current directory
                cbp2make --config show  //show configuration
                cbp2make --verbose      // show project information
                cbp2make --quiet        // hide all messages
                cbp2make --help         // display this message

--- End quote ---


Support for other compilers and non-GNU tools (nmake, etc.) with totally different command syntax will be added later.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version