Commit Graph

126 Commits

Author SHA1 Message Date
Gregory Nutt
922283ee5d Squashed commit of the following:
Merged in masayuki2009/nuttx.apps/loadable_app (pull request #148)

    loadable app support

    * apps: Introduce a build system for loadable apps for nsh.

        This PR consits of following changes. (NOTE: Changes to each
        application will be provided separately)

        apps/nshlib/Kconfig:
        Add 'option modules' to NSH_FILE_APPS so that a user can change
        an application configuration to tristate (y/n/m)

        apps/Make.defs:
        Override COMPILE and COMPILEXX macros to compile loadable apps.
        To make loadable apps, -DLOADABLE_APP is added to the flags.
        Also, introduce ELFLD to link a lodable app.
        Please note that the variable 'LOADABLE' must be defined in
        each application Makefile if you want to make a loadable app.

        apps/Application.mk:
        Add .build target in case of 'LOADABLE=y' which is used to
        link a final loadable application and install the app to
        apps/bin.

        apps/Makefile:
        Add SYMTABSRC and SYMTABOBJ variables for loadable apps which
        will be generated under the apps directory.
        Add make_symbols target which will be called when all applications
        are installed to generate symtab_app.c which is used for
        nsh to inform symbol information to the NuttX kernel.

        Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

    * apps/examples/hello: Apply changes to support a lodable app.

        Kconfig:
        Change the application state from bool to tristate

        Make.defs:
        Change the condition to build. By default, the application is
        not selected (i.e. 'n'), so if other states (i.e. y/m) are
        selected, the application will be compiled.

        Makefile:
        If the application is specified to 'm', the variable 'LOADABLE'
        must be defined here. Also note that other variables (PRIORITY
        and STACKSIZE) can only be used for built-in apps.

        hello_main.c
        Add LOADABLE_APP condition to main().

        Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

    * apps/examples/helloxx: Apply changes to support a lodable app.

        Kconfig:
        Change the application state from bool to tristate

        Make.defs:
        Change the condition to build. By default, the application is
        not selected (i.e. 'n'), so if other states (i.e. y/m) are
        selected, the application will be compiled.

        Makefile:
        If the application is specified to 'm', the variable 'LOADABLE'
        must be defined here. Also note that other variables (PRIORITY
        and STACKSIZE) can only be used for built-in apps.

        helloxx_main.c
        Add LOADABLE_APP condition to main().

        Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

    Approved-by: GregoryN <gnutt@nuttx.org>
2018-08-03 12:05:01 -06:00
Gregory Nutt
cb9e9510d9 apps/Make.defs: Improve the symtab target. tools/mksymtab.sh: Fix a typo. 2018-07-17 11:42:23 -06:00
Gregory Nutt
272bdc0d6e apps Makesystem: Fix an error when building apps/ withtout nuttx/, using only the NuttX export package only and assuming that the nuttx/ directory in not even present. In this case, the problem fixed where the apps/Make.defs file was selecting tools from the /tools directory which does not exist because TOPDIR=apps/import. Instead, for this build case, I have not thought of any option but to duplicate scripts as necessary in the apps/tools directory. Also added a top-level target to compile the symbol table. Misc fixes: quoting in scripts, some errors in script syntax. 2018-07-17 10:42:15 -06:00
Gregory Nutt
401687c04b apps/Makefile and platform/Makefile: At clean_context targets that are now invoked from the main nuttx/Makefile. 2018-05-31 14:48:00 -06:00
Gregory Nutt
634dd7709b apps/, Various Makefiles: Fix mixed references to nuttx/lib. These need to be changed to nuttx/staging. 2018-05-30 11:08:13 -06:00
Gregory Nutt
7a8561728c The last change added .PRECIOUS: $(BIN) to everyway Makefile in hopes the libapps.a will not be deleted on Control-C (unproven so far). However, $(BIN) may contain back slashes in some build platforms and that causes problems for make: It can't handle the backslashes in the .PRECIOUS dependency list. $(BIN) replaced with ../../libapp.a, where the number of ../ depends on the depth of the Makefile in the apps/ source tree. 2017-08-13 11:03:17 -06:00
Gregory Nutt
a66da34f18 All Makefiles: Add .PRECIOUS: apps/libapps.a to every Makefile. Hopefully this will end awkward problems when you Control-C out of a build and libapps.a is deleted. 2017-08-13 09:35:14 -06:00
Gregory Nutt
f5dd9811dc Bitbucket Issue 5, apps build system: The previous patch wasn't complete, it was just idea how to resolve issue. Please, find attached issue5.patch to resolve it. It can be applied on top current apps/master. From Artur Mądrzak. 2017-05-12 07:50:03 -06:00
Gregory Nutt
28c397b3ce Add the dirlinks target to some Makefiles. This plugs some wholes open by last chicken-and-egg build fix 2016-07-28 12:00:03 -06:00
Gregory Nutt
c8d718b211 Makefile: remove dependency on .config 2016-06-08 08:56:20 -06:00
Gregory Nutt
33b876306d preconfig target only executes if .config file changes 2016-06-07 08:58:48 -06:00
Gregory Nutt
8de50dc0cf Add a default value for DELIM 2016-06-07 08:43:21 -06:00
Gregory Nutt
807e51ad05 Update tools/mkkconfig.bat; silence some Makefile output 2016-06-06 12:30:01 -06:00
Sebastien Lorquet
a9aa753fa4 Recursive Kconfig autogeneration 2016-06-02 16:34:00 +02:00
Gregory Nutt
74801cf38e apps/tools/mkkconfig.sh: The top-level Kconfig file is not auto-generated. The autogenerated Kconfig file will be constructed so that every second level directory that contains a Kconfig file will automatically be sourced 2015-08-11 17:49:10 -06:00
Gregory Nutt
c9e0baeb52 Remove all hardcoded directories from Makefile 2015-08-11 16:26:15 -06:00
Gregory Nutt
7b925ccb4c apps/builtin: better fix for building with parallel make
Build-server sometimes fails 'make -j24' with:

 In file included from builtin_list.c:62:0:
 builtin_list.h:1:46: error: 'ts_engine_main' undeclared here (not in a function)
  { "ts_engine", SCHED_PRIORITY_DEFAULT, 2048, ts_engine_main },

or sometimes silently succeeds but generates builds that contain
a random subset of configured NuttX applications. There are two
root causes for this:

1) Recipes for building builtin_list.h and builtin_proto.h are not
   linearizable.
2) Nothing ensures that 'make context' is run first for apps/builtin

This patch addresses both issues.

Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2015-02-03 08:24:24 -06:00
Gregory Nutt
1c0635604a apps/bin should be removed on clean 2014-09-06 13:42:34 -06:00
Gregory Nutt
b9a650ae8c apps/ make-related fixes. Now builds kernel mode file system 2014-09-06 12:28:30 -06:00
Gregory Nutt
38ecd36a61 Fix clean and distclean targets. Back out a few too many changes made by sed 2014-09-06 08:28:24 -06:00
Gregory Nutt
b77b0b5385 Add support for an installation directory: 2014-09-06 08:13:45 -06:00
Gregory Nutt
d6bcd1a93a Add an install target to all makefiles. For the import build, the top-level Makefile now does two passes: (1) builds libapp.a, then (2) installs the programs (not yet finished) 2014-09-06 08:00:47 -06:00
Gregory Nutt
c38a108343 Copy more logic from nuttx/tools/Config.mk into the Make.defs file. Plus trivial related changes 2014-09-05 11:25:34 -06:00
Gregory Nutt
e8ab24001d Flesh out apps/import/Make.defs a little 2014-09-05 09:16:08 -06:00
Gregory Nutt
03572e6a9d Add a 'make import' target 2014-09-05 07:38:25 -06:00
Gregory Nutt
002cfbe348 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
66f1722ff7 Add a Sudoku game 2014-08-11 19:27:48 -06:00
Gregory Nutt
b9cf7acb1a More trailing whilespace removal 2014-04-13 16:24:28 -06:00
Gregory Nutt
b19e1aa426 Removed all support for the legacy configuration mechanism from the apps/ directory 2014-03-06 12:21:14 -06:00
Gregory Nutt
e1fbe0ba0d apps/platform: A new now for platform-specific applicatin code 2013-10-30 09:04:37 -06:00
Gregory Nutt
c084faf159 apps/Makefile should include external/Make.defs so that external applications can participate in the menu configuration 2013-10-14 07:31:09 -06:00
patacongo
b104cce86b Remove .context kludge from apps/ directory
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5455 42af7a65-404d-4744-a932-0658087f49c3
2012-12-23 22:17:09 +00:00
patacongo
88d3058222 Rename namedapp as simply builtin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5454 42af7a65-404d-4744-a932-0658087f49c3
2012-12-23 20:22:41 +00:00
patacongo
ee7d4f64c1 Remove some dependencies of distclean on clean. This should not be necessary in higher level makefiles and should speed up make distclean
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5453 42af7a65-404d-4744-a932-0658087f49c3
2012-12-23 17:35:06 +00:00
patacongo
08f0823241 Missing comma in EVERY DELFILE/DELDIR macro call in every Makefile
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5373 42af7a65-404d-4744-a932-0658087f49c3
2012-11-20 15:47:41 +00:00
patacongo
1d7bb0fa07 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
5a44013837 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
b567ff612f Fix a place that had a '\' but needed a '/'
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5359 42af7a65-404d-4744-a932-0658087f49c3
2012-11-15 19:35:15 +00:00
patacongo
fdd281eaff 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
5d5c040379 Simple window natives OS test build now works; Probabaly more to do for other configs; clean targets still have problems
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5355 42af7a65-404d-4744-a932-0658087f49c3
2012-11-14 20:59:36 +00:00
patacongo
ffe4fc1c0c Partial change: Removing bash ARCHIVE loop
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5336 42af7a65-404d-4744-a932-0658087f49c3
2012-11-11 16:24:40 +00:00
patacongo
0dde83dee0 Fewer shell invocations in apps/Makefile
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5248 42af7a65-404d-4744-a932-0658087f49c3
2012-10-23 15:51:45 +00:00
patacongo
b8d2846a7e Change order of includes in apps/Makefile; add clock frequencies to shenzhou, fire, and olimex-stm32 board.h files
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5210 42af7a65-404d-4744-a932-0658087f49c3
2012-10-04 15:07:06 +00:00
patacongo
2bb1ecab3c Delete the apps/vsn directory (moved commands to apps/system)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5208 42af7a65-404d-4744-a932-0658087f49c3
2012-10-03 23:36:54 +00:00
patacongo
1df7b496dd Add FreeModBus to NuttX build system
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4962 42af7a65-404d-4744-a932-0658087f49c3
2012-07-21 15:33:53 +00:00
patacongo
bae9504fad A little more cleanup after the big STMPE11->811 name change
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4783 42af7a65-404d-4744-a932-0658087f49c3
2012-05-29 01:43:51 +00:00
patacongo
3c0dfb00dd Add skeleton file for STM32 watchdog timer driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4611 42af7a65-404d-4744-a932-0658087f49c3
2012-04-15 01:11:54 +00:00
patacongo
3766aebbb4 Developing a new way to handle application configurations
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4609 42af7a65-404d-4744-a932-0658087f49c3
2012-04-14 20:01:08 +00:00
patacongo
b821c9752c Correct a typo in STM32 I2C3 support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4345 42af7a65-404d-4744-a932-0658087f49c3
2012-01-29 14:15:20 +00:00
patacongo
4d3d31d8df Fix STM32 build with with no RTC; Fix STM3210E-EVAL color correction for the RenesasSP LCD
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4030 42af7a65-404d-4744-a932-0658087f49c3
2011-10-07 17:21:16 +00:00
patacongo
b427cf23b0 Add sim/nsh2 configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4026 42af7a65-404d-4744-a932-0658087f49c3
2011-10-06 16:31:13 +00:00
patacongo
9ff4cc1bdd apps/ build now supports an 'external' directory
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4021 42af7a65-404d-4744-a932-0658087f49c3
2011-10-05 14:37:39 +00:00
patacongo
28cd17bbea TIFF initialization is complete
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3967 42af7a65-404d-4744-a932-0658087f49c3
2011-09-21 18:40:23 +00:00
patacongo
298db6b143 Make NX and NXTEXT built-ins; extend stm3210e-eval/nsh2 config to run the NX example from the NX command line
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3791 42af7a65-404d-4744-a932-0658087f49c3
2011-07-16 15:52:15 +00:00
patacongo
888e1e7350 Incorporate install app from Uros
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3594 42af7a65-404d-4744-a932-0658087f49c3
2011-05-12 14:49:46 +00:00
patacongo
1141cc4cc6 Pascal now installs in the apps/ directory
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3583 42af7a65-404d-4744-a932-0658087f49c3
2011-05-10 15:50:23 +00:00
patacongo
5ca741fe9b Add PIC32 CP0 Regsiter Definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3580 42af7a65-404d-4744-a932-0658087f49c3
2011-05-09 19:37:22 +00:00
patacongo
9e4d576dd0 Changes for clean build of app/ directory with Windows toolchain
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3488 42af7a65-404d-4744-a932-0658087f49c3
2011-04-10 16:08:08 +00:00
patacongo
d949b96ead Fix a couple of recently introduced build problems
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3463 42af7a65-404d-4744-a932-0658087f49c3
2011-04-04 21:02:15 +00:00
patacongo
51f819ca31 Remove .built_always
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3449 42af7a65-404d-4744-a932-0658087f49c3
2011-04-01 14:30:43 +00:00
patacongo
9fc214c5a7 Renamed nuttapp to namedapp; add binfs to nammedapp/
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3429 42af7a65-404d-4744-a932-0658087f49c3
2011-03-28 13:01:57 +00:00
patacongo
0da11876b0 apps/ initialization now occurs during the earlier context build phase
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3412 42af7a65-404d-4744-a932-0658087f49c3
2011-03-24 00:28:50 +00:00
patacongo
35ff9cc3dd Prep for 6.0 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3408 42af7a65-404d-4744-a932-0658087f49c3
2011-03-21 21:59:35 +00:00
patacongo
a30185e702 More build fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3407 42af7a65-404d-4744-a932-0658087f49c3
2011-03-20 22:07:56 +00:00
patacongo
bafd2949c3 Move nuttx/examples to apps/examples
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3405 42af7a65-404d-4744-a932-0658087f49c3
2011-03-20 18:18:19 +00:00
patacongo
5b96d86bfb Move nuttx/netutils to apps/netutils
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3401 42af7a65-404d-4744-a932-0658087f49c3
2011-03-19 21:04:13 +00:00
patacongo
a6cd74cddb Move netutils header files from include/net/uip to include/apps/netutils
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3399 42af7a65-404d-4744-a932-0658087f49c3
2011-03-19 16:54:35 +00:00
patacongo
f85c55a252 Move VSN apps to apps/vsn
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3397 42af7a65-404d-4744-a932-0658087f49c3
2011-03-19 15:02:01 +00:00
patacongo
4af4ff9733 Use = instead of / for delimiter in appconfig files
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3396 42af7a65-404d-4744-a932-0658087f49c3
2011-03-19 13:28:07 +00:00
patacongo
7bf5ad220a apps/ update from Uros
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3392 42af7a65-404d-4744-a932-0658087f49c3
2011-03-18 18:31:26 +00:00
patacongo
5a0ff44cc3 Add apps/poweroff lpc17 hardware handshake
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3380 42af7a65-404d-4744-a932-0658087f49c3
2011-03-14 20:50:46 +00:00
patacongo
901d085151 VSN/apps update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3378 42af7a65-404d-4744-a932-0658087f49c3
2011-03-14 14:14:54 +00:00
patacongo
978bb750bf Prep for 5.19 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3373 42af7a65-404d-4744-a932-0658087f49c3
2011-03-12 22:09:14 +00:00
patacongo
411b30916b apps/-related updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3364 42af7a65-404d-4744-a932-0658087f49c3
2011-03-11 12:36:30 +00:00
patacongo
ce549bd9e9 Fix QEMU context switch bug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3361 42af7a65-404d-4744-a932-0658087f49c3
2011-03-10 18:38:37 +00:00
patacongo
94e0282c22 add apps/ dir
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3360 42af7a65-404d-4744-a932-0658087f49c3
2011-03-10 14:42:28 +00:00