Andy Boyett
591780615b
build: add busybox support to `time` prereq-check
...
Busybox time supports the GNU time '-f' syntax used by the build time
logging implemented in ff6e62b288
, however the prerequisite check added
only works with GNU time installed as `time` or `gtime`.
As busybox is a multicall binary, the name of the symlink setup by
SetupHostCommand also must be changed from `gtime` to `time` to fix the
value of argv[0]. This causes a number of shells (including bash) to use
their builtin impelementation of time, so the sole invocation has been
changed to use `env time` to use the value found on the $PATH.
Signed-off-by: Andy Boyett <agb@agb.io>
7 years ago
Etienne Champetier
ff6e62b288
build: log time taken by each packages/steps
...
The idea is to easily get the list of packages taking the most time to build,
and see if we can improve them
v1: Use SetupHostCommand as recommended by John
v2: add space after 'time:', remove useless /usr/bin/time from SetupHostCommand
Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
7 years ago
Felix Fietkau
e313a33024
build: allow building an individual subdir without dependencies using NO_DEPS=1
...
QUILT=1 had the same effect, but it is sometimes useful to be able to do
this without quilt
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau
d826af2cbb
build: make <subdir>/install opt-in, use it for target/ only
...
Fixes buildbot errors on running make target/install or
toolchain/install
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau
0e22d63775
build: fix CONFIG_AUTOREMOVE for packages with multiple variants
...
Calling the clean target removes all .ipk files and un-stages the
package. Add a new target just for clearing the build dir and call that
one instead of the full clean target
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau
7a523569f7
build: add support for automatically removing build dir contents during build
...
This is used to save space on buildbot instances.
If any part of a package needs to be rebuild, the whole package is
rebuilt from scratch. Stamp files are preserved to allow dependency
checks to work
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau
6cf067d084
build: define common subdir targets in rules.mk
...
Reduce build system clutter and enable further rework
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau
7a315b0b5d
build: implement make check and make package/X/check
...
This is intended to be used for a wide array of package sanity checks.
The first check that is implemented is for the hash of downloaded files.
It checks:
- Missing hash
- Use of SHA256 instead of MD5
- dl/<file> hash not matching hash in makefile
- deprecated MD5SUM variable
The deprecated MD5SUM variable check is skipped for feeds/ until OpenWrt
is updated as well
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau
f08623516f
build: add logging for package host builds
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48417
9 years ago
Felix Fietkau
8977571d7f
build: split BUILD_LOG logs per variant
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48415
9 years ago
Felix Fietkau
c7308bc9f1
build: use a separate variable checking the subdir path (for host packages)
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48410
9 years ago
Felix Fietkau
36502c5a6f
build: move host build directories of package/* to build_dir/target-*/host/
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48400
9 years ago
Luka Perkov
7002f6326e
include: remove trailing whitespaces
...
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 45127
10 years ago
Felix Fietkau
364fb4dacb
build: do not process built-in rules for make subdirs
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43016
10 years ago
Felix Fietkau
b544fd922a
tools: fix stampfile dependency handling when the list of build dirs changes ( #15186 )
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 39845
11 years ago
John Crispin
b065867cfb
log failed package builds
...
SVN-Revision: 32050
13 years ago
Felix Fietkau
b68404f278
remove legacy package/foo-compile wrapper targets, people should be used to the correct target names by now
...
SVN-Revision: 27023
14 years ago
Felix Fietkau
d637ae2fc8
make the build system a bit more silent without V=99
...
SVN-Revision: 26460
14 years ago
Felix Fietkau
61485f6491
build: reduce the amount of generated make code for the initial prereq scan - makes it about 20% faster
...
SVN-Revision: 26436
14 years ago
Felix Fietkau
314ce66b86
build: use a conditional @ sign before silenced targets instead of .SILENT - makes prereq checks more than twice as fast
...
SVN-Revision: 26435
14 years ago
Ralph Hempel
a1973192c6
add configure as package target
...
SVN-Revision: 23262
14 years ago
Felix Fietkau
7f80e26661
fix build dependencies on packages with multiple variants but no selected virtual packages
...
SVN-Revision: 23102
14 years ago
Felix Fietkau
00d1e599d7
add a command for printing a cleaned up make target database - will be used to analyze package dependencies at some point
...
SVN-Revision: 22871
14 years ago
Felix Fietkau
579d54038b
build system: introduce a new feature called build variants. it allows building a package multiple times in one pass with different build dirs, based on the same build settings. replaces templating hacks like the one used in the hostapd package
...
SVN-Revision: 18357
15 years ago
Felix Fietkau
7dc435ea29
move the toolchain_install stampfile to the right place to fix spurious missing toolchain errors after cleaning stuff
...
SVN-Revision: 16776
16 years ago
Ralph Hempel
6f29703625
add dist and distcheck target (to create new source balls)
...
SVN-Revision: 16230
16 years ago
Ralph Hempel
c4d7af7094
added BUILD_LOG_DIR variable, make clean will delete the ./logs dir
...
SVN-Revision: 16148
16 years ago
Florian Fainelli
d334c1e956
stop build when an error occurs and when BUILDLOG is set ( #5160 )
...
SVN-Revision: 16079
16 years ago
Felix Fietkau
97845201e4
add missing $(if) check for build logging
...
SVN-Revision: 15366
16 years ago
Felix Fietkau
5e1e868230
add BUILD_LOG option to let the build system log all subdir make command output to individual files (useful for debugging parallel builds)
...
SVN-Revision: 15362
16 years ago
Felix Fietkau
167846e488
add support for config options checking in top-level directory stampfiles
...
SVN-Revision: 15112
16 years ago
Felix Fietkau
227399122b
add makefile target alias package/<name>/host/<target> for host builds
...
SVN-Revision: 14944
16 years ago
Felix Fietkau
ddcfaeb1e5
move host build in packages into a separate namespace: package/<name>/host/<target> this allows dependencies between host and target packages, and saves unnecessary host builds for packages that contain both variants
...
SVN-Revision: 14905
16 years ago
Felix Fietkau
bdb9c7351c
some more build system cleanup
...
SVN-Revision: 12329
16 years ago
Felix Fietkau
a3a37d0bb1
rework parallel building to get rid of some warnings and add back support for parallelizing the kernel build fixes #3882
...
SVN-Revision: 12322
16 years ago
Felix Fietkau
311c9403d9
fix make variable overriding for package makefiles on the command line
...
SVN-Revision: 12204
17 years ago
Felix Fietkau
4c665e6ca4
large improvement for parallel builds. works without V=99 now and without warnings. tested with -j on an 2x dual core opteron machine
...
SVN-Revision: 11414
17 years ago
Felix Fietkau
31a3a503cc
add a flag "IGNORE_ERRORS", which can be used to ignore build errors in packages
...
SVN-Revision: 11059
17 years ago
Felix Fietkau
ac40a80f35
make aliases for package targets if the package directories are in further subdirectories example: if there is a package/libs/foo/compile, then package/foo/compile will be an alias for it
...
SVN-Revision: 9384
17 years ago
Felix Fietkau
a9d683ca91
major target cleanup. it is now possible to have subtargets that can override many target settings, including arch - merge adm5120, adm5120eb. target profiles still need to be adapted for subtargets
...
SVN-Revision: 8694
17 years ago
Felix Fietkau
761dc0a0ae
fix a dependency bug
...
SVN-Revision: 8561
17 years ago
Felix Fietkau
d475d94aab
avoid rdep in the top level make process (subdir.mk) - it leaks too much memory and increases the startup time for regular make commands. timestamp.pl is more lightweight here
...
SVN-Revision: 8533
17 years ago
Nicolas Thill
ba05b57573
rename 'stampfiles' directory to 'stamp'
...
SVN-Revision: 8455
17 years ago
Felix Fietkau
c6bc77ea36
build system cleanup/restructuring as described in http://lists.openwrt.org/pipermail/openwrt-devel/2007-August/001159.html
...
SVN-Revision: 8362
18 years ago
Felix Fietkau
88163e91e8
ignore dependencies when using QUILT
...
SVN-Revision: 8244
18 years ago
Felix Fietkau
d7f2cb1642
next round of cleanup, convert target/ - make -j works now ;)
...
SVN-Revision: 8242
18 years ago
Felix Fietkau
a7b635f075
more cleanup
...
SVN-Revision: 8238
18 years ago
Felix Fietkau
49e628f765
next round of build system cleanup - convert package/ to new structure
...
SVN-Revision: 8236
18 years ago
Felix Fietkau
f1ac6cf7ec
fix compile errors with make 3.80
...
SVN-Revision: 8230
18 years ago
Felix Fietkau
0d70676b9a
add default command for dummy targets
...
SVN-Revision: 8209
18 years ago