| 052ab529 | 11-Apr-2017 |
Evan Lloyd <evan.lloyd@arm.com> |
Build: Correct Unix specific echo commands
Some recent changes have added direct use of the echo command without parameters. This fails on a Windows shell, because echo without parameters reports t
Build: Correct Unix specific echo commands
Some recent changes have added direct use of the echo command without parameters. This fails on a Windows shell, because echo without parameters reports the mode ("ECHO is on"). This is corrected using the ECHO_BLANK_LINE macro already provided for that purpose.
Change-Id: I5fd7192861b4496f6f46b4f096e80a752cd135d6 Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
show more ...
|
| d014ea6c | 19-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
Build: strip trailing slashes from directory paths more simply
Append . then strip /. seems clumsy. Just use $(patsubst %/,%, ).
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
| a6ca7888 | 12-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
Build: Fix parallel building
Soren reports build fails if -j option is given:
$ make -j16 CROSS_COMPILE=aarch64-linux-gnu- Building fvp make: *** No rule to make target 'build/fvp/release/bl1
Build: Fix parallel building
Soren reports build fails if -j option is given:
$ make -j16 CROSS_COMPILE=aarch64-linux-gnu- Building fvp make: *** No rule to make target 'build/fvp/release/bl1/', needed by 'build/fvp/release/bl1/bl1.ld'. Stop. make: *** Waiting for unfinished jobs....
The cause of the failure is that $(dir ) leaves a trailing / on the directory names. It must be ripped off to let Make create the directory.
There are some ways to fix the issue. Here, I chose to make MAKE_LD look like MAKE_C and MAKE_S because bl*_dirs seems the central place of making directories.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reported-by: Soren Brinkmann <soren.brinkmann@xilinx.com> Tested-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
show more ...
|
| 1d274ab0 | 22-Dec-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
Build: add -MP option to add dummy rules to *.d files
This adds a phony target for each dependency other than the main file, causing each to depend on nothing.
Without this, the incremental build w
Build: add -MP option to add dummy rules to *.d files
This adds a phony target for each dependency other than the main file, causing each to depend on nothing.
Without this, the incremental build will fail when a header file is removed.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| 710ea1d0 | 22-Dec-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
Build: generate .d file at the same time as object is created
Currently, .d files are generated before any objects are built. So, IS_ANYTHING_TO_BUILD flag is needed to avoid such processing for non
Build: generate .d file at the same time as object is created
Currently, .d files are generated before any objects are built. So, IS_ANYTHING_TO_BUILD flag is needed to avoid such processing for non-build targets.
There is a cleverer way; just create a .d file simultaneously when the corresponding object is created. No need to have separate rules for .d files.
This commit will also fix a bug; -D$(IMAGE) is defined for $(OBJ), but not for $(PREREQUISITES). So, .d files are generated with different macro sets from those for .o files, then wrong .d files are generated.
For example, in lib/cpus/aarch64/cpu_helpers.S
#if IMAGE_BL31 #include <cpu_data.h> #endif
<cpu_data.h> is parsed for the object when built for BL31, but the .d file does not pick up that dependency.
With this commit, the compiler will generate .o and .d at the same time, guaranteeing they are generated under the same circumstances.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| 59de5096 | 22-Dec-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
Build: use CPP just for pre-processing
Using AS for pre-processing looks a bit weird, and some assembly specific options are given for nothing. Rather, use CPP.
Signed-off-by: Masahiro Yamada <yam
Build: use CPP just for pre-processing
Using AS for pre-processing looks a bit weird, and some assembly specific options are given for nothing. Rather, use CPP.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| 819281ee | 25-May-2016 |
dp-arm <dimitris.papastamos@arm.com> |
Replace fip_create with fiptool
fiptool provides a more consistent and intuitive interface compared to the fip_create program. It serves as a better base to build on more features in the future.
f
Replace fip_create with fiptool
fiptool provides a more consistent and intuitive interface compared to the fip_create program. It serves as a better base to build on more features in the future.
fiptool supports various subcommands. Below are the currently supported subcommands:
1) info - List the images contained in a FIP file. 2) create - Create a new FIP file with the given images. 3) update - Update an existing FIP with the given images. 4) unpack - Extract a selected set or all the images from a FIP file. 5) remove - Remove images from a FIP file. This is a new command that was not present in fip_create.
To create a new FIP file, replace "fip_create" with "fiptool create".
To update a FIP file, replace "fip_create" with "fiptool update".
To dump the contents of a FIP file, replace "fip_create --dump" with "fiptool info".
A compatibility script that emulates the basic functionality of fip_create is provided. Existing scripts might or might not work with the compatibility script. Users are strongly encouraged to migrate to fiptool.
Fixes ARM-Software/tf-issues#87 Fixes ARM-Software/tf-issues#108 Fixes ARM-Software/tf-issues#361
Change-Id: I7ee4da7ac60179cc83cf46af890fd8bc61a53330
show more ...
|
| 414ab853 | 03-Dec-2015 |
Evan Lloyd <evan.lloyd@arm.com> |
Make:Improve version string generation portability
To get round problems encountered when building in a DOS build environment the generation of the .o file containing build identifier strings is mod
Make:Improve version string generation portability
To get round problems encountered when building in a DOS build environment the generation of the .o file containing build identifier strings is modified. The problems encounterred were: 1. DOS echo doesn't strip ' characters from the output text. 2. git is not available from CMD.EXE so the BUILD_STRING value needs some other origin.
A BUILD_STRING value of "development build" is used for now.
MAKE_BUILD_STRINGS is used to customise build string generation in a DOS environment. This variable is not defined in the UNIX build environment make file helper, and so the existing build string generation behaviour is retained in these build environments.
NOTE: This commit completes a cumulative series aimed at improving build portability across development environments. This enables the build to run on several new build environments, if the relevant tools are available. At this point the build is tested on Windows 7 Enterprise SP1, using CMD.EXE, Cygwin and Msys (MinGW),as well as a native Linux envionment". The Windows platform builds used aarch64-none-elf-gcc.exe 4.9.1. CMD.EXE and Msys used Gnu Make 3.81, cygwin used Gnu Make 4.1.
CAVEAT: The cert_create tool build is not tested on the Windows platforms (openssl-for-windows has a GPL license).
Change-Id: Iaa4fc89dbe2a9ebae87e2600c9eef10a6af30251
show more ...
|
| 51b27702 | 03-Dec-2015 |
Evan Lloyd <evan.lloyd@arm.com> |
Make:Improve directory generation portability.
Because of command differences in some build environments the "inline" method of generating the build directory structure is not portable. (e.g. in DOS
Make:Improve directory generation portability.
Because of command differences in some build environments the "inline" method of generating the build directory structure is not portable. (e.g. in DOS environments the mkdir shell command fails if a directory already exists, whereas in UNIX environments it succeeds.)
To improve portability we generate the directories needed using make, but use the "order-only prerequisites" feature of make to prevent writes of files into the directories generating re-builds, as suggested in the GNU make Manual (Version 4.1 September 2014).
Change-Id: Ic9af475831063c7fe6f8bccffef184d79e799419
show more ...
|
| 42a45b51 | 03-Dec-2015 |
Evan Lloyd <evan.lloyd@arm.com> |
Make:Allow for extension in tool names.
In some build environments executable programs have a specific file extension. The value of BIN_EXT is appended to the relevant tool file names to allow for
Make:Allow for extension in tool names.
In some build environments executable programs have a specific file extension. The value of BIN_EXT is appended to the relevant tool file names to allow for this. The value of BIN_EXT is set, where appropriate, by the build environment specific make helper (to .exe for Windows build environments).
.gitignore is updated to hide the new (.exe) files.
Change-Id: Icc32f64b750e425265075ad4e0dea18129640b86
show more ...
|