Commit Graph

85 Commits (af1ea31546c7705acf2d636c6bb3769489f61275)

Author SHA1 Message Date
Volodymyr Medvid 26043e5ee4
makefile export: create .link_options.txt with echo
$(file > $@.in, $(filter %.o, $^)) is not supported in GNU Make 3.81.
Create the linker response file with pipe redirect from echo command.
This is tested with Cygwin make and make 3.8.1 shipped with macOS.

(cherry picked from commit 6918e6a76b)

Revert "Fixed problem with overlong command line."

This reverts commit dd02ac09a1.

See also https://github.com/ARMmbed/mbed-os/pull/12646#issuecomment-602058273
2020-03-21 20:24:28 +01:00
Anna Bridge 59540ed8c1
Merge pull request #12646 from dhebbeker/fix/fix-makefile-for-windows
Makefile: fix for overlong command line
2020-03-20 16:31:02 +00:00
David Hebbeker dd02ac09a1
Fixed problem with overlong command line.
The list of object files was so long, that it got truncated by the bash (git-bash).

Error was

    /usr/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
    /usr/bin/sh: -c: line 1: syntax error: unexpected end of file
    mingw32-make[1]: *** [Makefile:679: mbed-os-example-blinky-baremetal.elf] Error 1
    mingw32-make: *** [Makefile:26: all] Error 2

Such a problem has aleady been reported in: https://github.com/ARMmbed/mbed-os/issues/10943#issuecomment-510064805
I fixed this problem using this answer: https://stackoverflow.com/a/37506805/5534993
2020-03-18 14:40:12 +01:00
Martin Kojtal 5f1c77741a tools: fix SPDX identifiers 2020-02-21 07:01:48 +00:00
Matthew Macovsky 4f83141b90 Add catch-all rule to makefile template 2019-09-09 19:13:43 +01:00
Cruz Monrreal 803f5fd44e
Merge pull request #9966 from naveenkaje/sct_fix
tools: fix the path generated to the sct file
2019-04-09 14:03:09 -05:00
Brian Daniels 80b0a4cbd8 Make files call the linker from the build dir, so correct the path 2019-04-09 10:20:20 -05:00
Brian Daniels 60910c049c Remove outdated projectfiles case for makefiles 2019-04-08 13:07:13 -05:00
Brian Daniels 2a080a0840 Correct call to add_file_ref 2019-04-05 11:46:39 -05:00
Naveen Kaje f0f133f3ec tools: fix the path generated to the sct file
The sct file path generated in the online compiler
is incorrect. Fix that by changing the correct_scatter_shebang
API to accept a FileRef object instead and use the path.

This change should go with change in online compiler that removes
the override for correct_scatter_shebang.
2019-04-02 09:05:15 -05:00
Brian Daniels c129336453 Fix include paths for the assembler for makefiles.
The Makefile is run from the build directory. The source files were
properly prefixed with "../", however the paths provided to the
assmebler were not. This ensures the assembler include paths are
prefixed properly.
2019-03-05 15:13:37 -06:00
Senthil Ramakrishnan e1e4456c47 Fixes for exporters failing with wrong compiler settings 2019-03-01 13:21:33 -06:00
Volodymyr Medvid cf0ea92104 tools/export: move hex_files selection to base Exporter class
CMake and makefile exporters share a common logic for hex file
selection. Factor it as a common property in the base class
to avoid code duplication.
2019-02-19 20:03:06 +02:00
Volodymyr Medvid 6918e6a76b makefile export: create .link_options.txt with echo
$(file > $@.in, $(filter %.o, $^)) is not supported in GNU Make 3.81.
Create the linker response file with pipe redirect from echo command.
This is tested with Cygwin make and make 3.8.1 shipped with macOS.

Also, change the linker responce file name to .link_options.txt.
This is an internal file, not a build artifact.
2019-02-04 20:10:47 +02:00
Jimmy Brisson a8a21d30a1 Implement Linker command/response files in make export 2019-01-31 17:38:25 +02:00
Volodymyr Medvid a48ee113ea PSOC6: refactor M0 image merging, enable export to makefile
Rename the existing PSoC-specific m0_core_img key in targets.json
as a more generic hex_filename key. Update makefile exporter to select
the subset of resources.hex_files matching the hex_filename value.
Without this fix, multiple prebuilt CM0+ hex files are found in the
target resources and erroneously passed to the srec_cat tool.

The fix is generic so other targets that need post-build hex merging
can use this key to pass the correct image to srecord tool.

The fix also removes sub_target key: instead, rely hex_filename json
key to detect if the hex image merging needs to be done.
The sub_target is not used in mbed-os codebase for anything else.

It is possible to override the hex file name in mbed_app.json:
{
  "target_overrides": {
    "*": {
      "target.hex_filename": "my_custom_m0_image.hex"
    }
}
2019-01-22 15:40:22 -08:00
Lasse Bang Mikkelsen b31156a906
Fix Makefile export with Python 3
In Python 3, the map() function returns a map object, not a list object as in
Python 2. Ensure a list object is returned from format_flags() by wrapping
map() in list(). This is compatible with both Python 2 and 3.
2018-10-29 18:46:43 +01:00
Jimmy Brisson 58180dbafe Use shell escaping instead of quoting
OSs don't agree on what the quote chars mean
2018-08-02 09:09:07 -05:00
Jimmy Brisson 6adac922db Revert "Disable make_armc6 on v8m"
This reverts commit a2427998f9.
2018-08-02 09:02:06 -05:00
Jimmy Brisson 77d2a36d2a Quote Makefile CLI parameters 2018-08-02 09:02:06 -05:00
Jimmy Brisson c777bd6f5c Migrate all flags into the FLAGS variables 2018-08-02 09:02:06 -05:00
Cruz Monrreal 4bcca894ae
Merge pull request #7061 from TTornblom/master
Tools: Include configuration in ASM
2018-07-20 08:02:44 -05:00
Cruz Monrreal e9e1ff997d
Merge pull request #7302 from OpenNuvoton/nuvoton_m2351_v1.1
Support Nuvoton's NUMAKER_PFM_M2351 target
2018-07-18 08:49:55 -05:00
Jimmy Brisson a2427998f9 Disable make_armc6 on v8m 2018-07-17 15:56:11 -05:00
Jimmy Brisson 5c27da7046 Correct scatter shebang rewriting in Make 2018-07-16 14:12:00 -05:00
Jimmy Brisson 3b7a5bb35e Filter libraries by extension in exporters 2018-07-16 14:11:09 -05:00
Jimmy Brisson 6a87510192 Correct several exporter uses of file_basepath with a dedupe 2018-07-16 14:11:08 -05:00
Jimmy Brisson 33a56b4470 Drop quotes from command line make 2018-07-12 13:11:57 -05:00
Jimmy Brisson e439b85de1 prepend VPATH to preinclude and don't escape asm macros 2018-06-26 08:47:41 -05:00
Cruz Monrreal II 5ed8ad8ffe Updated makefile exporter to not rely on enumerating over map.
No longer supported in Py3.
2018-06-04 21:02:35 -05:00
Cruz Monrreal f6bcbfe1f0
Merge pull request #6356 from hug-dev/asm-include-flags
Add include search path when preprocessing assembly files for uvision and make_armc5 exports
2018-03-19 16:52:18 -05:00
Jimmy Brisson 14255ca113 Correct syntax for mbed export in Py3 2018-03-16 13:08:20 -05:00
Hugues de Valon 6b72edeb9a Add ASM flags virtual path for make export
When exporting a mbed project to make_armc5, the include options (-I)
of the ASM flags are not pointing to the good folder. It should be
pointing to the root mbed-os folder and not the one in BUILD.
This issue was found in the pull request ARMmbed/mbed-os#6168.

Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
2018-03-14 13:08:55 +00:00
Jimmy Brisson bd5b34f59c Correct exporter clean behavior 2018-02-21 09:28:24 -06:00
Cruz Monrreal c679dee286
Merge pull request #5848 from theotherjimmy/compile-py3
Python2+3: mbed compile, mbed test --compile,  python unit tests
2018-02-07 15:48:18 -06:00
Jimmy Brisson cca4425af6 Python2+3: iteritems -> items 2018-02-05 11:04:36 -06:00
Jimmy Brisson 9b8ba4dd98 Use relative path to scatter for include path 2018-02-02 11:53:51 -06:00
Jimmy Brisson cbc3d83f83 Remove include from assember in makefile exporter
The build system does not do this, so this is a consistency fix
2017-11-01 09:26:25 -05:00
Jimmy Brisson 69c38012eb Force preprocessing of asm for make_armc5
It seem to preprocess asm with the `.S` extension on linux, but the
windows build of Arm Compiler 5 seems to omit the preprocessing step
unless you have a `.sx` extension. Odd.
2017-09-21 17:37:10 -05:00
Jimmy Brisson 8db0fa9819 Correct rename mistake in make arm compiler exporters 2017-09-14 09:14:47 -05:00
Jimmy Brisson 06b00683c3 Genericify arm compiler exporter to versions 5 + 6 2017-09-11 13:20:32 -05:00
JojoS 0c254448e0 verify libname before stripping 2017-07-31 23:34:48 +02:00
JojoS c8bb167f1f fix unresolved linker msg: __wrap_
adding  libraries to gcc linker group command
2017-07-31 23:34:48 +02:00
Jimmy Brisson 81446f69be Generate exporter suppored lists when needed 2017-07-07 14:45:32 -05:00
Jimmy Brisson a5cc8ef446 Remove incompatible post binary hook 2017-06-09 00:03:22 -05:00
Yuguo Zou 88d4d1d0f8 exporter coding style fix
should use space instead of tab
2017-06-03 20:15:04 +01:00
Yuguo Zou 92ca664fda Add support for mbed exporter
(uvision, gcc_arm, iar)
2017-06-03 20:15:04 +01:00
Vincent Coubard 897667deaa makefile exporter: Escape double quote in toolchain flags.
Without this fix macro defined as -DFOO="BAR" won't be correctly
interpreted by the compiler.
2017-05-23 14:08:24 +01:00
Daniel Zimmermann 8e02855101 LPC4088: add LPC4088Code.binary_hook to the white list of the embitz, gnuarmeclipse and makefile exporter. 2017-05-09 11:59:03 -05:00
Willie Walker 13247426f9 Fix mbed-cli issue #468. Add LPCTargetCode.lpc_patch to POST_BINARY_WHITELIST. 2017-03-30 15:22:57 -04:00