Commit Graph

50 Commits

Author SHA1 Message Date
YAMAMOTO Takashi e67062fd88 Config.mk: Provide the default MODULESTRIP
Similarly to MODULECC/MODULELD.
2020-04-16 16:04:11 -06:00
YAMAMOTO Takashi 18c574d66a Config.mk: Provide the default MODULECC/MODULELD
In some cases, a separate toolchain is necessary to
build modules.
E.g. the sim on macOS, where the native format is Mach-O.

By default, just use CC/LD, which is appropriate for
the most of platforms.
2020-03-27 00:04:36 -05:00
Gregory Nutt 5c0e8e88b1 Revert "Makefile: move INCDIROPT to common place (#625)"
This reverts commit b9ace36fcc.

This change was added by PR 625 but has a serious logic flaw.  It removes all occurrences of INCDIROPT and replaces it with a definition in tools/Config.mk:

    else ifeq ($(WINTOOL),y)
      DEFINE = "$(TOPDIR)/tools/define.sh"
      INCDIR = "$(TOPDIR)/tools/incdir.sh" -w

This logic flaw is the Config.mk is included in all Make.defs files BEFORE WINTOOL is defined.  As a result, the definition is wrong in many places when building under Cygwin with a Windows native toolchain.
2020-03-26 08:50:29 -07:00
Xiang Xiao b9ace36fcc Makefile: move INCDIROPT to common place (#625) 2020-03-26 08:09:59 -06:00
Xiang Xiao e1385b1074 tools/Config.mk: CATFILE clear the existing file
To simplify the caller usage
2020-03-23 12:23:05 -06:00
Xiang Xiao aaa32156df tools/Config.mk: implement a simple version of TESTANDREPLACEFILE for Windows 2020-03-23 12:22:50 -06:00
Gregory Nutt 3ee1af5bcc Build System: Resolve CPU-specific logic in common build files
* tools/Config.mk - Add empty definition POSTBUILD
* tools/Makefile.unix/win - Replace CXD56xx specific logic with $(call POSTBUILD)
* boards/arm/cxd56xx/scripts/Config.mk - Add POSTBUILD definitions with logic removed from Makefile.unix/win
* boards/arm/cxd56xx/spresense/scripts/Make.defs - Include the CXD56xx Config.mk immediately after tools/Config.mk so that the empty POSTBUILD definition will be replaced with the correct one

NOTE: There is a precedent for this approach.  This is the way that other architecture-specific build options are implemented.  See, for example, tools/zds/Config.mk
2020-03-06 11:44:53 -06:00
Gregory Nutt d1a8a803e4 Build system: Get rid of the MOVEOBJ definition
Eliminate the MOVEOBJ definition from tools/Config.mk, Makefiles, and other locations.  The MOVEOBJ definition was used to work around the case where the object output of a compile or assemble is in a different directory than the source file.  The ZDS-II tools have no command line option to perform this move; MOVEOBJ handled the move as a post-compiler operation.

MOVEOBJ is no longer needed because this the ez80 COMPILE and ASSEMBLE definitions now handle all of the object file movement cases.
2020-02-24 22:37:28 +01:00
Gregory Nutt 54be203107 boards/z80/ez80/scripts/eZ80_Config.mk: Fix ez80 build
This includes some fixes for the ez80 build including:

1. Ability to handle decorated object file names,
2. Ability to handle libraries described with absolute paths

This commit address only the POSIX build and needs to be updated
for the Windows native build.
2020-02-22 00:59:44 +01:00
Xiang Xiao 4d16eeb435 Make.defs: Fix flock: failed to execute @: No such file or directory
Remove $(Q) in ARCHIVE which is added back in commit fd3e2c5916 accidentally
2020-02-21 07:35:24 -06:00
Alan Carvalho de Assis fd3e2c5916 Make.defs: Fix printed "|| { ar blablabla FAILED!" after $(Q) removed 2020-02-20 19:43:52 -06:00
Xiang Xiao 342f76a529 Makefile: Remove @echo from ARCHIVE
to avoid shell complain that @echo can't find if the variable expand in the compound
command(e.g. ARLOCK) and remove $(Q) before $AR so the result is almost same as before.
2020-02-20 08:32:09 -06:00
Xiang Xiao adbff7de81 tools/Config.mk: add DEFINE macro like INCDIR 2020-02-03 15:06:11 -06:00
Xiang Xiao bb6c70bdcc Fix the comment header style in tools folder
Change-Id: I189a0e8b86f3af682111668ccdad64a52b48dcb4
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-01-20 08:04:21 -06:00
Xiang Xiao 8ffa77b167 tools/mkexport.sh: Should export full content for flat build even with CONFIG_BUILD_LOADABLE. 2019-10-03 14:08:32 -06:00
Gregory Nutt 8471da9dec tools/Config.mk: Update comments to indicate how to use the single-file compilation options. 2019-10-03 08:23:22 -06:00
Xiang Xiao 37ef3c1cbc tools/Config.mk: Support the ability to change the CFLAGS for the compilation of a single file. Set special compiler options as follows the rule:
sourcefile + fixed suffix "_[A|C|CPP|CXX]FLAGS"

apps/examples/hello/Makefile:
  $(SRCDIR)/hello_main.c_CFLAGS = -DTEST
2019-10-03 06:49:17 -06:00
Gregory Nutt 03fc3a2218 Fix a typo I introducted in the last commit. My bad. 2019-09-15 11:14:47 -06:00
Xiang Xiao bf84868360 tools/Config.mk and Makefile.unix: Support the incremental build for configuration change. 2019-09-15 10:56:26 -06:00
anchao 7ce51e66b9 tools/Config.mk: Eliminate use of the built-in implicit rules. 2019-09-15 08:48:25 -06:00
Nathan Hartman 366053e464 Fix typos, 1 in a #define, others in comments. This changes one definition: _MQ_TIMEDRECIEVE is changed to _MQ_TIMEDRECEIVE. It appears this symbol is not used anywhere. 2019-09-11 08:56:56 -06:00
Nathan Hartman ce8fb54d07 Fix various typos 2019-09-03 17:00:22 -06:00
Anatol Ivanov e748bb8cd3 tools/Config.mk and tools/Makefile.win: Force use 'cmd' for shell with windows native build 2018-11-06 06:34:00 -06:00
Anatol Ivanov 1dad62d3b7 Squashed commit of the following:
tools/configure.c: Add missing '\n' in printf statement

    tools/configure.c: Add missed -g option to getopt() string

    tools/configure.c and tools/configure.sh:  Fix Windows native pre-build kconfig-conf incompability.  Looks like prebuilt Windows native kconfig-conf interprets "..\apps" as "..apps" (possibly '\a' as escape-sequence) so expand winnative path to double-backslashed variant "..\\apps".

    tools/mkdeps.c:  Fix '\0' missing in MinGW.  Implicit bug. There are 2 cases.

    1. Under Linux.  The code works as planned: '\n' is always replaced with '\0' due to sprintf fills n-1 bytes and reaches buffer length limit.

    2. Under Windows/MinGW. There is memory corruption.  Seems like it`s a bug inside MinGW/snprintf.  Snprintf fills consecutively "oldbase",' ',"str",'\n', but does not inserts trailing '\0' instead of '\n'.  And when next append() occurs, strlen() returns garbage-appended "oldbase".

    So the fix just removes '\n' and reserves space for '\0'.

    tools/link.bat: Fix .fakelink creation

    configs/Makefile and tools/Config.mk:  Move single file copy to the new function COPYFILE.  This fixes the Windows native build case when there is no cp or cp does not recognize Windows paths.
2018-11-05 16:35:28 -06:00
Anthony Merlino d533cc53df tools/Config.mk: Fix an error in RWILDCARD implemenation 2018-09-12 11:52:10 -06:00
Gregory Nutt aeda17318d tools/Config.mk: Move the RWILDCARD function definition from apps/builtin/Makefile to nuttx/tools/Config.mk. It may have a broader usage than it does now. 2018-08-15 18:45:39 -06:00
Gregory Nutt 96f05c895d tools/Config.mk: Add function CATFILE definition. Currently only used in apps/builtin/Makefile. 2018-08-15 18:30:12 -06:00
Gregory Nutt f2a89813f2 Build system: Remove fixed lib/ subdirectory and its content. Replace with new directory called staging/ that is created dynamically when building and removed when 'make clean' is done. This both improves the name and eliminates a garbage directory from the repository. 2018-05-29 11:36:21 -06:00
Andrey Zabolotnyi 33a1e73bab LibTargets.mk, tools/Config.mk: Drop executable bit on installed libraries. The rules to install libraries under lib/ were modified to use mode 0644 instead of the default 0755. 2018-05-12 07:42:38 -06:00
Gregory Nutt 0de294a586 Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they. 2017-05-11 13:35:56 -06:00
Gregory Nutt cf29dfa2ac Add a PRELINK macro to Config.mk. From Kriegleder 2014-10-17 06:58:47 -06:00
Gregory Nutt 57a0ef401a Beginning of logic that will, hopefully, all me to build applications against a NuttX export package (vs. the nuttx/ source tree). 2014-09-04 15:54:51 -06:00
Gregory Nutt 0331a07026 Back out change. Unnecessary with code is all in tree and costs a LOT of build performance 2014-01-30 18:59:06 -06:00
Gregory Nutt 90f0e4f6dc configs/efm32-dk3650: Support for Energy Micro's development kit for the Leopard Gecko MCU. From Richard Cochran 2014-01-23 08:19:34 -06:00
Gregory Nutt 85dea13030 Config.mk: If WINTOOL is set, COMPILE definition should convert path generated by Cygwin make to a proper Windows path. From Richard Cochran (2014-1-23). 2014-01-23 07:37:14 -06:00
Gregory Nutt 78936f7260 Changes for ZDS-II ez80 build 2013-11-28 17:47:03 -06:00
Gregory Nutt bc46b447dc Fix all occurrences of "the the" in documentation and comments 2013-08-27 09:40:19 -06:00
patacongo f9fa51b66f Progress toward a z80 native Windows build -- still needs some work
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5411 42af7a65-404d-4744-a932-0658087f49c3
2012-12-03 20:12:59 +00:00
patacongo 9fbe2944ee Fix typol in Config.mk that would effect non-Windows builds
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5369 42af7a65-404d-4744-a932-0658087f49c3
2012-11-18 20:59:30 +00:00
patacongo 26c9112ad2 Most of the changes needed to support Windows native clean; distclean is has a problem
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5367 42af7a65-404d-4744-a932-0658087f49c3
2012-11-17 18:54:53 +00:00
patacongo 76f2745323 Changes from Mike
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5361 42af7a65-404d-4744-a932-0658087f49c3
2012-11-16 12:41:58 +00:00
patacongo 7efc94aa3e Fix various build-related typos
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5358 42af7a65-404d-4744-a932-0658087f49c3
2012-11-15 19:22:47 +00:00
patacongo f751d36eee Move some (hopefully) un-necessary quotes in Makefiles for Mike
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5356 42af7a65-404d-4744-a932-0658087f49c3
2012-11-15 17:43:29 +00:00
patacongo 4ee266d94b Centralized the definition of the INCDIR script in tools/Config.mk
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5346 42af7a65-404d-4744-a932-0658087f49c3
2012-11-13 20:24:30 +00:00
patacongo c1f7a61990 A few more build fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5340 42af7a65-404d-4744-a932-0658087f49c3
2012-11-12 01:54:54 +00:00
patacongo a5f761c24e Correct some issues with last check-in; ez80 still does not build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5339 42af7a65-404d-4744-a932-0658087f49c3
2012-11-11 23:44:31 +00:00
patacongo a1cf659333 Completes removal bash ARCHIVE loop; Adds basic Makefile for native windows build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5338 42af7a65-404d-4744-a932-0658087f49c3
2012-11-11 18:36:28 +00:00
patacongo 7f9ed0d7bb Refactor common make definitions to tools/Config.mk; Add verbosity option to build (Richard Cochran)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5160 42af7a65-404d-4744-a932-0658087f49c3
2012-09-18 14:06:57 +00:00
patacongo 435dbaacd8 Add configurable application entry point
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5070 42af7a65-404d-4744-a932-0658087f49c3
2012-08-30 20:13:50 +00:00
patacongo 5e08e5650f Dequote Kconfig strings that may be used as components of a path
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5057 42af7a65-404d-4744-a932-0658087f49c3
2012-08-27 14:07:17 +00:00