Commit Graph

10 Commits

Author SHA1 Message Date
Juan Manuel Cruz 2bd1e5b2dd Kbuild: Fix for the clean target.
This commit fixes the clean target.
The issue is that clean target was not cleaning
the file inside the source tree.

Change-Id: I12b41e28591121a167734428132c4bd9021bccd9
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:07 -05:00
Anas Nashif 5c8ff0fe26 Kbuild: support sources in different directory
In some cases you might want to compile sources in a
customer location, for example share code for samples
that runs in nano and micro kernels.

Set SOURCE_DIR  in the project Makefile to achieve this.

Change-Id: Iaa4d0fe701b30499b903b64ddf816a678074a176
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:07 -05:00
Juan Manuel Cruz 0b7946ba73 Kbuild: Additions to Makefile.inc
This commit adds the following features to Makefile.inc:
 - The location of the project (PROJECT_BASE) can be specified
   as a parameter.
 - BSP and KERNEL_TYPE parameters can be used to specify a default
   configuration.
 - The default configuration is created everytime the target all
   and qemu are invoked.
 - initconfig target creates a default configuration.
 - The name of the file for the configuration snippet can now be
   selected using the parameter CONF_OVERLAY.
 - The clean target is able to remove generated files even if a
   different PROJECT_BASE is defined.

Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: Iabd8469465f57c222972f326fe997be58fb87f41
2016-02-05 20:14:07 -05:00
Anas Nashif 6327f45f25 run defconfig if we have no .config
Change-Id: Ic9f3eb3736721bed3434f934081704343f4d17f1

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif c615855ab9 Makefile: run mergeconfig only when needed
Change-Id: Ic080c1c974fde413e5f10247d130b40904838e09
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif e44e7ec742 mergeconfig by default
When running make in an application, always run mergeconfig

Change-Id: I811f56a0c3388cb64f6c4aa57c6b83d88f568b68
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Juan Manuel Cruz 9e4b2bb18e Kbuild: New mergeconfig target.
This commit adds the mergeconfig target.
The mergeconfig target merges the current .config file with the
prj_<ARCH>.conf configuration file and updates the current
configuration of the project.

Change-Id: Ia7112147ffbc033d7860369241188af13b53b334
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:14:06 -05:00
Juan Manuel Cruz e7de0f65b4 Kbuild: QEMU target.
This commit adds support for the qemu target.
This target will generate the kernel binary and will
launch a qemu instance running the binary.
Currently, only the x86 generic pc and the arm tilm3s6965
BSPs are supported with emulation.

Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: I9e71d3ce2fba98572830475a2e15e3fceb0216b4
2016-02-05 20:14:05 -05:00
Juan Manuel Cruz 1c8f5a75e7 Kbuild: Standard output file names.
This commit changes the name of the output files.
The output names tinymountain.* have been changed to
microkernel.* and nanokernel.*.

Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: Ia73daa35bb8e44972065af3a217bf87335169dac
2016-02-05 20:14:05 -05:00
Juan Manuel Cruz 4ee8a8e042 Kbuild Makefile mechanism for samples and projects.
This commit adds the capability to the Kbuild system of adding
samples and projects to the build process.
This commits adds the hello_world and philosophers sample code
as an example of how to configure a project into the build
system.
The project can be hosted inside the kernel source tree or
outside the kernel source tree.

Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: Id980e959ac6e0061f8227d5d81191a169bfc8fc3
2016-02-05 20:14:05 -05:00