Commit graph

66 commits

Author SHA1 Message Date
Masahiro Yamada
28b538b69d .gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore
Follow Linux commit 10b62a2f785a (".gitignore: move *.dtb and *.dtb.S
patterns to the top-level .gitignore").

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-06-18 14:43:12 -04:00
Masahiro Yamada
3eb0fa4c93 .gitignore: sort normal pattern rules alphabetically
Follow Linux commit 1377dd3e2987 (".gitignore: sort normal pattern
rules alphabetically").

This would allow us to easily catch duplicated patterns if any.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-06-18 14:43:12 -04:00
Masahiro Yamada
43c908aaf6 gitignore: remove stale /LOG pattern
The /LOG directory was created by the old MAKEALL tool, which was
deleted by commit c8a3777c51 ("Drop the MAKEALL tool").

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-05-31 08:53:11 -04:00
Eugeniu Rosca
e91610da7c kconfig: re-sync with Linux 4.17-rc4
Align Kconfig to Linux 4.17-rc4 with minimal impact on non-kconfig files.

Previous Kconfig sync was done by commit bf7ab1e70f ("kconfig:
re-sync with Linux 4.10") and it achieved almost perfect alignment with
a few (intended) exceptions, caused by below U-boot commits:

[A] v2015.04 5f9eb22075 ("kbuild: remove scripts/multiconfig.sh")
[B] v2015.07 20c20826ef ("Kconfig: Enable usage of escape char '\' in string values")
[C] v2016.01 da58dec866 ("Various Makefiles: Add SPDX-License-Identifier tags")
[D] v2016.03 5b8031ccb4 ("Add more SPDX-License-Identifier tags")
[E] v2016.03 192bc6948b ("Fix GCC format-security errors and convert sprintfs.")

Here is the list of Kconfig commits which followed the v4.10 alignment:

[F] v2018.01 0931ed3c0d ("kconfig/symbol.c: use correct pointer type argument for sizeof")
[G] v2018.03 1414e09b4f ("kconfig: revert change that was not needed for -Wformat-security")
[H] v2018.05 83d290c56f ("SPDX: Convert all of our single license tags to Linux Kernel style")

Commit [F] was subsequently applied to Linux kernel as commit [I]
with the same patch id, so it won't contribute to further misalignment.

[I] v4.15-rc1 88127dae6ed9 ("kconfig/symbol.c: use correct pointer type argument for sizeof")

Commit [G] is a Kconfig-specific revert of commit [E].
Commit [H] relocated and reformatted the license doing no functional change.

In summary, the only functional change that makes U-boot Kconfig
diverge from Linux Kconfig is commit [B]. After a brief analysis,
the purpose of [B] seems to be placing "\n" literals in string symbols
like CONFIG_AUTOBOOT_PROMPT="autoboot in %d seconds\n" in order to pass
them directly to printf and expect correct output at runtime. Currently,
Linux doesn't seem to have this requirement, so for the moment [B] looks
like a U-boot specific feature/fix. From point of view of further Kconfig
alignment and backporting efforts, it is highly desired that commits
like [B] are propagated to Linux and any Kconfig fixes/features are
contributed to Linux kernel first. This specific Kconfig re-sync just
keeps [B] in place.

Contrary to 4.10 Kconfig re-sync (which achieves zero non-kconfig
changes), 4.17-rc4 re-sync does some amount of updates in Kbuild
(striving to keep them at minimum), due to a number of reasons:
* Kbuild is affected by the removal of Kconfig "*shipped" files and now
  requires flex and bison pre-installed on the host.
* PYTHON{2,3} variables are defined in top-level Makefile as
  prerequisite for running the newly developed Kconfig unit tests.
* silentoldconfig becomes an "internal implementation detail" deprecated
  for external use, being renamed to syncconfig.

The exact non-kconfig files touched by this commit are:

$ git show --format="" --stat -- ':!scripts/kconfig'
 .gitignore             |  2 ++
 Makefile               |  9 +++++++--
 scripts/Makefile.build | 11 +++++++++++
 scripts/Makefile.lib   | 41 ++++++++++++-----------------------------

The imported Linux commits touching the above files are:

c054be10ffdbd5   ("remove gperf left-overs from build system")
73a4f6dbe70a1b   ("kbuild: add LEX and YACC variables")
033dba2ec06c47   ("kbuild: prepare to remove C files pre-generated by flex and bison")
eea199b445f64c   ("kbuild: remove unnecessary LEX_PREFIX and YACC_PREFIX")
e71de5ee08dcb0   ("kbuild: remove remaining use of undefined YACC_PREFIX")
d59fbbd09d5d6b   ("kbuild: replace hardcoded bison in cmd_bison_h with $(YACC)")
911a91c39cabcb H ("kconfig: rename silentoldconfig to syncconfig")
59889300274569   (".gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore")
9a8dfb394c0467   ("kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level Makefile")
833e622459432e H ("genksyms: generate lexer and parser during build instead of shipping")
b23d1a241f4eb4 H ("kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically")
e9781b52d4e0e3 H ("kbuild: add PYTHON2 and PYTHON3 variables")

The commits marked with 'H' are assessed as "hard" (build will fail)
prerequisites and the rest of them are assessed as "soft" prerequisites
for the re-sync. In spite of relatively high number of non-H commits,
they belong to this Kconfig update topic-wise and decrease the number of
cherry pick conflicts for many commits in this series. Additional effort
can be put in eliminating the soft prerequisites, if really needed.

The commits which contributed to this Kconfig re-sync are listed below.
Whenever a conflict resolution has been performed (mostly by hand, but
sometimes automatically by git), it is revealed by the '!' sign in the
second column, which means a patch id mismatch between Linux and U-boot
commits:

9be3213b14d44f   ("gconfig: remove misleading parentheses around a condition")
ff85a1a80e0034   ("kconfig: Check for libncurses before menuconfig")
ad8181060788c8   ("kconfig: fix sparse warnings in nconfig")
cb77f0d623ff33 ! ("scripts: Switch to more portable Perl shebang")
bb3290d91695bb ! ("Remove gperf usage from toolchain")
c054be10ffdbd5   ("remove gperf left-overs from build system")
b24413180f5600 ! ("License cleanup: add SPDX GPL-2.0 license identifier to files with no license")
9059a3493efea6 ! ("kconfig: fix relational operators for bool and tristate symbols")
2c37e08464a850   ("kconfig: Warn if choice default is not in choice")
33ca1a24866373   ("kconfig: Document the 'menu' struct")
52aede4ba5efd1   ("kconfig: Document the 'symbol' struct")
c873443430ebd1   ("kconfig: Sync zconf.y with zconf.tab.c_shipped")
9a826842ff2fbd   ("kconfig: Rename menu_check_dep() to rewrite_m()")
fa8cedaef814ce   ("kconfig: Clarify expression rewriting")
f77850d3fe0c96   ("kconfig: Clean up modules handling and fix crash")
e3b03bf29d6b99   ("kconfig: display recursive dependency resolution hint just once")
73a4f6dbe70a1b ! ("kbuild: add LEX and YACC variables")
033dba2ec06c47 ! ("kbuild: prepare to remove C files pre-generated by flex and bison")
29c833061c1d8c   ("kconfig: generate lexer and parser during build instead of shipping")
26e47a3c11a25c   ("kconfig: Don't leak symbol names during parsing")
24161a6711c945   ("kconfig: Don't leak 'source' filenames during parsing")
bc28fe1d5ede88   ("kconfig: Don't leak 'option' arguments during parsing")
0724a7c32a54e3   ("kconfig: Don't leak main menus during parsing")
ae7440ef0c8013   ("kconfig: Fix automatic menu creation mem leak")
5b1374b3b3c2fc   ("kconfig: Fix expr_free() E_NOT leak")
7cf33f88e29410   ("kconfig: Fix choice symbol expression leak")
05cccce580456d   ("kconfig: Document automatic submenu creation code")
0735f7e5def2ab   ("kconfig: Document important expression functions")
df60f4b92d3d0b   ("kconfig: Remove menu_end_entry()")
b92d804a51796b   ("kconfig: drop 'boolean' keyword")
6479f327dea60d   ("kconfig: Warn if there is more than one help text")
52e58a3caeba5d   ("kconfig: make input_mode static")
5a3dc717b3c785   ("kconfig: make xfgets() really static")
84dd95d4f87a0d   ("kconfig: make conf_unsaved a local variable of conf_read()")
765f4cdef6f80d   ("kconfig: use default 'yy' prefix for lexer and parser")
eea199b445f64c   ("kbuild: remove unnecessary LEX_PREFIX and YACC_PREFIX")
e71de5ee08dcb0   ("kbuild: remove remaining use of undefined YACC_PREFIX")
d59fbbd09d5d6b ! ("kbuild: replace hardcoded bison in cmd_bison_h with $(YACC)")
3e41ba05b6d60c   ("kconfig: Document SYMBOL_OPTIONAL logic")
d3465af60f4471   ("kconfig: Clarify choice dependency propagation")
9d1a9e8bc18bea   ("kconfig: Document 'if' flattening logic")
b53688014e3325   ("kconfig: Clarify menu and 'if' dependency propagation")
d0fd0428ecf04b   ("kconfig: fix make xconfig when gettext is missing")
312ee68752faaa   ("kconfig: announce removal of oldnoconfig if used")
1ccb27143360bd   ("kconfig: make "Selected by:" and "Implied by:" readable")
cedd55d49dee94 ! ("kconfig: Remove silentoldconfig from help and docs; fix kconfig/conf's help")
1b9eda2e4892cb   ("kconfig: Warn if help text is blank")
cb67ab2cd2b8ab   ("kconfig: do not write choice values when their dependency becomes n")
4f208f392103e8   ("kconfig: show '?' prompt even if no help text is available")
cd58a91def2acc   ("kconfig: remove 'config*' pattern from .gitignnore")
d2a04648a5dbc3   ("kconfig: remove check_stdin()")
f3ff6fb5db68bc   ("kconfig: echo stdin to stdout if either is redirected")
9e3e10c725360b   ("kconfig: send error messages to stderr")
d717f24d8c6808   ("kconfig: add xrealloc() helper")
523ca58b7db2e3   ("kconfig: remove const qualifier from sym_expand_string_value()")
cd81fc82b93fa4   ("kconfig: add xstrdup() helper")
f4bc1eefc1608e   ("kconfig: set SYMBOL_AUTO to the symbol marked with defconfig_list")
bf0bbdcf100322   ("kconfig: Don't leak choice names during parsing")
1a90ce36c6eff6   ("kconfig: Update ncurses package names for menuconfig")
5ae6fcc4bb82bd   ("kconfig: fix line number in recursive inclusion error message")
07a422bb213adb ! ("kbuild: restore autoksyms.h touch to the top Makefile")
9a47ceec543bfb   ("kconfig: clean-up reverse dependency help implementation")
d9119b5925a03b   ("kconfig: Print reverse dependencies in groups")
f467c5640c29ad   ("kconfig: only write '# CONFIG_FOO is not set' for visible symbols")
59a80b5e892dde   ("kconfig: do not call check_conf() for olddefconfig")
4bb3a5b085cd6f   ("kconfig: remove unneeded input_mode test in conf()")
99f0b6578bab44   ("kconfig: remove redundant input_mode test for check_conf() loop")
2aad9b89621386   ("kconfig: hide irrelevant sub-menus for oldconfig")
81d2bc2273052e   ("kconfig: invoke oldconfig instead of silentoldconfig from local*config")
911a91c39cabcb ! ("kconfig: rename silentoldconfig to syncconfig")
2a61625835c7c8 ! ("kconfig: remove redundant streamline_config.pl prerequisite")
022a4bf6b59dfd   ("kconfig: tests: add framework for Kconfig unit testing")
1903c511905984   ("kconfig: tests: add basic choice tests")
49ac3c0c3aa3b7   ("kconfig: tests: test automatic submenu creation")
b76960c0f6b25d   ("kconfig: tests: test if new symbols in choice are asked")
930c429a656fdb   ("kconfig: tests: check unneeded "is not set" with unmet dependency")
ee236610653ede   ("kconfig: tests: check visibility of tristate choice values in y choice")
beaaddb625400e   ("kconfig: tests: test defconfig when two choices interact")
3e4888c2e3d77d   ("kconfig: tests: test randconfig for choice in choice")
29c434f367ea7b   ("kconfig: tests: test if recursive dependencies are detected")
e2c75e7667c737   ("kconfig: tests: test if recursive inclusion is detected")
f622f827958162   ("kconfig: warn unmet direct dependency of tristate symbols selected by y")
f8f69dc0b4e070   ("kconfig: make unmet dependency warnings readable")
26561514cc9def   ("kconfig: do not include both curses.h and ncurses.h for nconfig")
32a94b8b0c3e5a   ("kconfig: remove duplicated file name and lineno of recursive inclusion")
379a8eb8eb1a55   ("kconfig: detect recursive inclusion earlier")
18492685e479fd   ("kconfig: use yylineno option instead of manual lineno increments")
59889300274569 ! (".gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore")
9a8dfb394c0467 ! ("kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level Makefile")
833e622459432e ! ("genksyms: generate lexer and parser during build instead of shipping")
b23d1a241f4eb4 ! ("kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically")
17baab68d337a0   ("kconfig: extend output of 'listnewconfig'")
e9781b52d4e0e3 ! ("kbuild: add PYTHON2 and PYTHON3 variables")

The current Kconfig update generates below build-time warnings:
  YACC    scripts/dtc/dtc-parser.tab.h
scripts/dtc/dtc-parser.y: warning: 3 shift/reduce conflicts [-Wconflicts-sr]
  YACC    scripts/dtc/dtc-parser.tab.c
scripts/dtc/dtc-parser.y: warning: 3 shift/reduce conflicts [-Wconflicts-sr]

This seems to happen because the Kbuild updates apparently didn't make
room for both "*shipped"-based builds and flex/bison-based builds. A
similar problem has been reported for genksyms parser in v4.17-rc1
commit 833e622459432e ("genksyms: generate lexer and parser during build
instead of shipping"). I have figured out empirically that the warnings
are healed after updating the in-tree U-boot DTC to upstream v1.4.6-9,
same as done by Linux v4.17-rc1 commit 9130ba88464032 ("scripts/dtc:
Update to upstream version v1.4.6-9-gaadd0b65c987"). Whether fixing the
DTC-related yacc warnings should be done together with the Kconfig
re-sync, I would like to hear from community.

My testing was limited to:
- make defconfig all
- make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- r8a7795_ulcb_defconfig all
- comparing .config before and after the re-sync
- running the newly imported Kconfig unit tests as seen below:

$ make testconfig
Tested-by: Petr Vorel <petr.vorel@gmail.com>

============================= test session starts =============================
scripts/kconfig/tests/auto_submenu/__init__.py::test PASSED             [  7%]
scripts/kconfig/tests/choice/__init__.py::test_oldask0 PASSED           [ 14%]
scripts/kconfig/tests/choice/__init__.py::test_oldask1 PASSED           [ 21%]
scripts/kconfig/tests/choice/__init__.py::test_allyes PASSED            [ 28%]
scripts/kconfig/tests/choice/__init__.py::test_allmod PASSED            [ 35%]
scripts/kconfig/tests/choice/__init__.py::test_allno PASSED             [ 42%]
scripts/kconfig/tests/choice/__init__.py::test_alldef PASSED            [ 50%]
scripts/kconfig/tests/choice_value_with_m_dep/__init__.py::test PASSED  [ 57%]
scripts/kconfig/tests/err_recursive_inc/__init__.py::test PASSED        [ 64%]
scripts/kconfig/tests/inter_choice/__init__.py::test PASSED             [ 71%]
scripts/kconfig/tests/new_choice_with_dep/__init__.py::test PASSED      [ 78%]
scripts/kconfig/tests/no_write_if_dep_unmet/__init__.py::test PASSED    [ 85%]
scripts/kconfig/tests/rand_nested_choice/__init__.py::test PASSED       [ 92%]
scripts/kconfig/tests/warn_recursive_dep/__init__.py::test PASSED       [100%]
========================== 14 passed in 0.34 seconds ==========================

Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Tested-by: Petr Vorel <petr.vorel@gmail.com>
2018-05-31 08:53:11 -04:00
Christian Gmeiner
52ff8020d0 kconfig: add CONFIG_CC_COVERAGE
Make it possible to use gcc code coverage analysis.

v1 -> v2:
 - Kconfig: remove not needed 'default n'
 - Makefile: use consistent spacing

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2018-04-13 13:02:50 -04:00
Bin Meng
eab44c93eb tools: .gitignore: Add libfdt related files
Some files are generated during libfdt build. Ignore them.

This was wrongly put in the .gitignore in the root directory before.
Now let's remove entries there and put them in the right place.

Fixes: 34e2c285 ("gitignore: add intermediates from libfdt build")
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-09-07 10:44:35 -04:00
Philipp Tomsich
34e2c285da gitignore: add intermediates from libfdt build
Since ee95d10 (fdt: Build the new python libfdt module), a number of
additional files are auto-generated/installed into the tools directory.
List these in .gitignore to suppress having them listed as untracked.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
References: ee95d10 (fdt: Build the new python libfdt module)
Reviewed-by: Simon Glass <sjg@chromium.org>
2017-09-04 02:10:06 -06:00
Cooper Jr., Franklin
6f59fb07f4 Makefile: Build additional binaries for dtb FIT blobs appended to U-boot
Add additional make targets and options for building embedded FIT U-boot
images.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2017-07-10 14:25:54 -04:00
Sven Ebenfeld
1f6a664802 Makefile: preserve output for images that can contain HAB Blocks
To being able to sign created binaries, we need to know the HAB Blocks
for that image. Especially for the imximage type the HAB Blocks are
only available during creation of the image. We want to preserve the
information until we get to sign the files.
In the verbose case we still get them printed out instead of writing
to log files.

Cc: sbabic@denx.de

v2-Changes:
 - No usage of MKIMAGEOUTPUT_$(@F) macro.
 - Predefine default value /dev/null in every involved Makefile.

Signed-off-by: Sven Ebenfeld <sven.ebenfeld@gmail.com>
Reviewed-by: George McCollister <george.mccollister@gmail.com>
Tested-by: George McCollister <george.mccollister@gmail.com>
2017-01-02 17:07:39 +01:00
Bin Meng
0112432798 gitignore: Add defconfig and fdtgrep
Ignore defconfig and tools/fdtgrep.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
2015-08-05 08:42:39 -06:00
Masahiro Yamada
a2580ebb72 kconfig: remove mkconfig and boards.cfg
The old configuration script is no longer necessary.
Nor is boards.cfg a primary database.
We can generate it with the genboardscfg.py tool
based on the latest Kconfig, defconfig and MAINTAINERS.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Simon Glass <sjg@chromium.org>
2014-07-30 14:42:02 -04:00
Masahiro Yamada
51148790f2 kconfig: switch to Kconfig
This commit enables Kconfig.
Going forward, we use Kconfig for the board configuration.
mkconfig will never be used. Nor will include/config.mk be generated.

Kconfig must be adjusted for U-Boot because our situation is
a little more complicated than Linux Kernel.
We have to generate multiple boot images (Normal, SPL, TPL)
from one source tree.
Each image needs its own configuration input.

Usage:

Run "make <board>_defconfig" to do the board configuration.

It will create the .config file and additionally spl/.config, tpl/.config
if SPL, TPL is enabled, respectively.

You can use "make config", "make menuconfig" etc. to create
a new .config or modify the existing one.

Use "make spl/config", "make spl/menuconfig" etc. for spl/.config
and do likewise for tpl/.config file.

The generic syntax of configuration targets for SPL, TPL is:

  <target_image>/<config_command>

Here, <target_image> is either 'spl' or 'tpl'
      <config_command> is 'config', 'menuconfig', 'xconfig', etc.

When the configuration is done, run "make".
(Or "make <board>_defconfig all" will do the configuration and build
in one time.)

For futher information of how Kconfig works in U-Boot,
please read the comment block of scripts/multiconfig.py.

By the way, there is another item worth remarking here:
coexistence of Kconfig and board herder files.

Prior to Kconfig, we used C headers to define a set of configs.

We expect a very long term to migrate from C headers to Kconfig.
Two different infractructure must coexist in the interim.

In our former configuration scheme, include/autoconf.mk was generated
for use in makefiles.
It is still generated under include/, spl/include/, tpl/include/ directory
for the Normal, SPL, TPL image, respectively.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Simon Glass <sjg@chromium.org>
2014-07-30 08:48:03 -04:00
Masahiro Yamada
f63e36adf4 .gitignore: clean-up unnecessary entries
There have been /errlog and /reloc_off in the top level .gitignore
since commit 1b4aaffe added it about 7 years ago.

But they are no longer generated.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-07-22 07:44:27 -04:00
Masahiro Yamada
c71630838d kbuild: move spl/Makefile to scripts/Makefile.spl
All files under spl/ and tpl/ are generated during the build process
except spl/Makefile.

We can simplify clean-rule and git-ignore by moving spl/Makefile
to somewhere else.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-06-11 16:27:05 -04:00
Masahiro Yamada
7050f0de7e .gitignore: move *.exe pattern to the top gitignore for Cygwin
GCC on Cygwin generates executables with .exe extension,
for example:
 scripts/basic/fixdep.exe
 scripts/docproc.exe

To ignore them, *.exe pattern should be moved
from tools/.gitignore to ./.gitignore

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-06-11 16:27:05 -04:00
Masahiro Yamada
899a8cbbc2 .gitignore: drop *.dts.tmp pattern
This pattern was added by commit cc4f427b to ignore the intermidiate
file for generating DTB.

When Kbuild was introduced, dts/Makefile was totally re-written.
This ignore pattern is already useless.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-06-11 16:27:05 -04:00
Ralph Siemsen
7e18a1b958 Trivial fix to .gitignore for spl/Makefile
Trivial fix to .gitignore for spl/Makefile

According to the gitignore man page:

"An optional prefix "!" which negates the pattern; any matching file
excluded by a previous pattern will become included again."
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
So the directory exclude "/spl/*" must come before the exception
for spl/Makefile otherwise it has no effect.

Signed-off-by: Ralph Siemsen <ralphs@netwinder.org>
Tested-by: Masahiro Yamada <yamada.m@jp.panasonic.com> [on git v1.7.9.5 / v1.8.3.2]
2014-05-12 15:20:05 -04:00
Masahiro Yamada
1f659b2e59 .gitignore: ignore include/config/*
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-03-10 13:50:32 -04:00
Masahiro Yamada
5d0f01570c .gitignore: ignore boot images by pattern rule /u-boot*
U-Boot supports various boot images for various SoCs.
It is annoying to modify .gitignore file every time
we add/delete boot images.

Fortunately, there is a simple rule:
Those with file name prefix "u-boot" at the top directory
are all generated files.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-02-21 11:33:18 -05:00
Masahiro Yamada
6ab6b2afa0 dts: re-write dts/Makefile more simply with Kbuild
Useful rules in scripts/Makefile.lib allows us to easily
generate a device tree blob and wrap it in assembly code.

We do not need to parse a linker script to get output format and arch.

This commit deletes ./u-boot.dtb since it is a copy of dts/dt.dtb.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-02-19 11:10:05 -05:00
Masahiro Yamada
7390643f7b Makefile: remove a cleaning target "tidy"
Before this commit, "make tidy" did
"make clean" + delete "*.depend*" files.

But, we do not have "*.depend*" files any more,
which means "make tidy" is the same as "make clean".

This commit removes the redandant target "tidy".

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-02-19 11:07:51 -05:00
Masahiro Yamada
ea531e3afd .gitignore: ingore files generated by Kbuild
Ignore generated files by Kbuild such as .*.cmd, *.order, etc.

Besides above,
 - Ignore *.s files
   We do not need to ignore with file name, asm-offsets.s
 - Do not ignore *.rej (for quilt)
 - Ignore backup files, \#*#

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-02-19 11:05:13 -05:00
Dan Murphy
86a8b3a207 spl: common: Properly ignore spl/Makefile in .gitignore
The spl directory is ignored by git as these objects are created
during spl creation.  The only file not created is the Makefile.

This file can be modified and checked in via git.

Due to the order of rule precedence having the whole directory
ignored first then indicating not to ignore the Makefile is not correct
the message to force adding the Makefile is still shown.

So reorder the .gitignore for the Makefile and indicate that the Makefile
does not need to be ignored first and then indicate everything else in spl
should be ignored after wards.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
2014-01-20 10:09:51 -05:00
Masahiro Yamada
84977e44eb .gitignore: ignore u-boot.elf and tools/relocate-rela
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-01-20 10:09:51 -05:00
Masahiro Yamada
475c506d08 Makefile, .gitignore: Cleanup non-existing binaries
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2013-12-16 08:59:43 -05:00
Masahiro Yamada
93f70dfd58 .gitignore: ignore spl/ and tpl/ directories except spl/Makefile
Before this commit, output files under tpl/ directry
were not ignored.
This commit fixes this problem.

And we have only one source file under spl/ directory:
 spl/Makefile

So, we can describe .gitignore more simply.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2013-12-13 09:17:32 -05:00
Daniel Schwierzeck
010d54c48a .gitignore: add auto-generated /include/[s|t]pl-autoconf.mk
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2013-10-14 16:06:52 -04:00
Tom Rini
e20cc2ca15 Merge branch 'master' of git://88.191.163.10/u-boot-arm
Fixup an easy conflict over adding the clk_get prototype and USB_OTG
defines for am33xx having moved.

Conflicts:
	arch/arm/include/asm/arch-am33xx/hardware.h

Signed-off-by: Tom Rini <trini@ti.com>
2013-08-18 14:14:34 -04:00
Stephen Warren
cc4f427bbd dts/Makefile: simplify dtc invocation
The invocation of dtc is significantly more complex that it could be,
in order to work around an issue on old versions of dtc, which print
a message to stdout every time they run.

Remove this workaround, on the assumption that people have or will
upgrade to a newer version of dtc. This simplifies the build rule
significantly.

Related, split the invocation of cpp and dtc into separate commands
rather than a pipeline, so that if either fail, it is detected. This has
the nice benefit of saving off the result of the pre-processing step,
allowing it to be easily inspected.

Assuming a new enough dtc (which an earlier patch enforces), dtc will
parse #line directives in its input file, and generate correct file and
line numbers in error messages, even though cpp is unconditionally
applied to its input file.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
2013-08-02 18:29:32 -04:00
Justin Waters
341d2c0e13 Add additional MLO images to .gitignore
This rule catches images such as MLO.byteswap

Signed-off-by: Justin Waters <justin.waters@timesys.com>
2013-07-30 09:21:42 -04:00
Albert ARIBAUD
a19b0dd62d Merge branch 'u-boot/master' into 'u-boot-arm/master'
Conflicts:
	common/cmd_fpga.c
	drivers/usb/host/ohci-at91.c
2013-05-30 14:45:06 +02:00
Masahiro Yamada
1dbdc76c17 .gitignore: add GNU GLOBAL files
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2013-05-17 17:04:39 -04:00
Marek Vasut
714dc001fc arm: mxs: Preprocess u-boot.bd so they contain full path
The u-boot-imx23.bd and u-boot-imx28.bd need to be preprocessed, otherwise
they have issues with out-of-tree build where elftosb tool couldn't sometimes
find the u-boot.bin and spl/u-boot-spl.bin .

Preprocess these .bd files with sed and insert full path to u-boot.bin and
spl/u-boot-spl.bin to prevent this issue. Moreover, to avoid adding more
churn into main Makefile, move all this preprocessing and u-boot.sb generation
into CPU directory instead.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
2013-05-06 10:37:36 +02:00
Benoît Thébaudeau
7d5a5c79ca imx: Add u-boot-with-nand-spl.imx make target
This image combines the SPL with the i.MX header, the FCB and U-Boot.

For i.MX25/35/51, the FCB is ignored by the boot ROM, so this image is just
useful because it can be programmed on a NAND Flash page boundary.

For i.MX53, the FCB is required by the boot ROM.

This does not support i.MX6 so far because its FCB is more complicated.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-04-12 07:55:08 +02:00
Benoît Thébaudeau
ba5976092f imx: Add u-boot-with-spl.imx make target
This image combines the SPL with the i.MX header and U-Boot. This is a
convenient way of having a single image to program on some boot devices.

The i.MX header has to be added to the SPL before appending U-Boot, so that the
boot ROM loads only the SPL.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-04-12 07:55:07 +02:00
Benoît Thébaudeau
600ed32152 .gitignore: Add /SPL
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-04-12 07:55:07 +02:00
Albert ARIBAUD
ef123c5253 Refactor linker-generated arrays
Refactor linker-generated array code so that symbols
which were previously linker-generated are now compiler-
generated. This causes relocation records of type
R_ARM_ABS32 to become R_ARM_RELATIVE, which makes
code which uses LGA able to run before relocation as
well as after.

Note: this affects more than ARM targets, as linker-
lists span possibly all target architectures, notably
PowerPC.

Conflicts:
	arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds
	arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds
	arch/arm/cpu/armv7/omap-common/u-boot-spl.lds
	board/ait/cam_enc_4xx/u-boot-spl.lds
	board/davinci/da8xxevm/u-boot-spl-da850evm.lds
	board/davinci/da8xxevm/u-boot-spl-hawk.lds
	board/vpac270/u-boot-spl.lds

Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
2013-03-12 23:28:40 +01:00
Troy Kisky
71a988aa63 imximage.cfg: run files through C preprocessor
The '#' used as comments in the files cause the preprocessor
trouble, so change to /* */.

The mkimage command which uses this preprocessor output
was moved to arch/arm/imx-common/Makefile

.gitignore was updated to ignore .cfgtmp files.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
2013-01-22 10:20:13 +01:00
Luka Perkov
6e266bf88b add include/u-boot.lst to .gitignore
u-boot.lst is located in include directory. Update .gitignore file
accordingly.

Signed-off-by: Luka Perkov <luka@openwrt.org>
2012-12-06 13:56:39 -07:00
Marek Vasut
97b24d3d51 common: Add symbol handling for generic lists into Makefile
This patch adds essential components for generation of the contents of
the linker section that is used by the linker-generated array. All of
the contents is held in a separate file, u-boot.lst, which is generated
at runtime just before U-Boot is linked.

The purpose of this code is to especially generate the appropriate
boundary symbols around each subsection in the section carrying the
linker-generated arrays. Obviously, the interim linker code for actual
placement of the variables into the section is generated too. The
generated file, u-boot.lst, is included into u-boot.lds via the linker
INCLUDE directive in u-boot.lds .

Adjustments are made in the Makefile and spl/Makefile so that the
u-boot.lds and u-boot-spl.lds depend on their respective .lst files.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Tested-by: Joe Hershberger <joe.hershberger@ni.com>
2012-10-22 08:29:29 -07:00
Marek Vasut
e4a189acfe IPL: Remove remains of OneNAND IPL
After removing the Apollon board, remove the OneNAND IPL too.
There are no users for it any more.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Minkyu Kang <promsoft@gmail.com>
Cc: Tom Rini <trini@ti.com>
Acked-by: Minkyu Kang <mk7.kang@samsung.com>
2012-09-18 12:01:51 -07:00
Sughosh Ganu
6d660e773e hawkboard/omapl-138: Add support for generating ais image for hawkboard
Parameters used for configuring certain SoC peripherals are parsed
from the cfg file and appended as part of the ais image's header. The
u-boot-spl.ais generated is flashed separately to the nand, so do not
delete the file after generation of u-boot.ais.

Signed-off-by: Sughosh Ganu <urwithsughosh@gmail.com>
2012-09-01 14:58:08 +02:00
Timo Ketola
5941a61a7c Build: Ignore build tree and IDE control file
Signed-off-by: Timo Ketola <timo@exertus.fi>
2012-08-09 22:27:37 +02:00
Tom Rini
667c9a8008 .gitignore: Add .su files
The '-fstack-usage' option to gcc will generate .su files, ignore them.

Acked-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Tom Rini <trini@ti.com>
2012-03-26 23:09:24 +02:00
Christian Riesch
d36d885984 arm, davinci: Add support for generating AIS images to the Makefile
Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Mike Frysinger <vapier@gentoo.org>
2011-12-24 10:23:30 +01:00
Marek Vasut
30b9b932a5 iMX28: Add u-boot.sb target to Makefile
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
2011-11-11 11:36:57 +01:00
Simon Glass
2c0f79e44b fdt: Add support for a separate device tree (CONFIG_OF_SEPARATE)
This adds support for an FDT to be build as a separate binary file called
u-boot.dtb. This can be concatenated with the U-Boot binary to provide a
device tree located at run-time by U-Boot. The Makefile is modified to
provide this file in u-boot-dtb.bin.

Signed-off-by: Simon Glass <sjg@chromium.org>
2011-10-26 21:39:26 +02:00
Simon Glass
4750884306 Adjust dependency rules to permit per-file flags
The dependency rules are currently done in a shell 'for' loop. This does not
permit Makefile variables to adjust preprocessor flags as is done with normal
compile flags, using the CFLAGS_path/file.o syntax.

This change moves the dependency generation into the Makefile itself, and
permits a CPPFLAGS_path/file.o to adjust preprocessor flags on a file or
directory basis.

The CPPFLAGS_... variable is also folded into CFLAGS during the build.

Signed-off-by: Simon Glass <sjg@chromium.org>
2011-10-17 23:56:59 +02:00
Laurence Withers
2099f9005e Tell git to ignore asm-offsets.s
The generated file asm-offsets.s may be found at various depths in the
arch subdirectories, so simply ignore it throughout the tree.

Signed-off-by: Laurence Withers <lwithers@guralp.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
2011-10-06 20:10:45 +02:00
Joe Hershberger
ea3cd47af4 omap4_panda: Ignore omap4 SPL called MLO
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Cc: Sandeep Paulraj <s-paulraj@ti.com>
2011-09-30 22:00:53 +02:00