Andy Boyett
25eb240f63
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>
(cherry picked from commit 591780615b
)
2018-06-18 21:31:49 +02:00
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>
2018-05-07 10:31:35 +02:00
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>
2017-02-21 13:03:20 +01:00
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>
2017-02-09 13:51:35 +01:00
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>
2017-01-22 17:40:31 +01:00
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>
2017-01-18 23:57:08 +01:00
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>
2017-01-18 23:57:07 +01:00
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>
2016-12-17 10:36:25 +01:00
Felix Fietkau
f08623516f
build: add logging for package host builds
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48417
2016-01-20 21:31:56 +00:00
Felix Fietkau
8977571d7f
build: split BUILD_LOG logs per variant
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48415
2016-01-20 21:31:43 +00:00
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
2016-01-20 20:13:40 +00:00
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
2016-01-20 19:12:06 +00:00
Luka Perkov
7002f6326e
include: remove trailing whitespaces
...
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 45127
2015-03-29 07:29:18 +00:00
Felix Fietkau
364fb4dacb
build: do not process built-in rules for make subdirs
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43016
2014-10-22 08:57:11 +00:00
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
2014-03-08 17:15:45 +00:00
John Crispin
b065867cfb
log failed package builds
...
SVN-Revision: 32050
2012-06-04 18:29:29 +00:00
Felix Fietkau
b68404f278
remove legacy package/foo-compile wrapper targets, people should be used to the correct target names by now
...
SVN-Revision: 27023
2011-05-28 16:27:21 +00:00
Felix Fietkau
d637ae2fc8
make the build system a bit more silent without V=99
...
SVN-Revision: 26460
2011-04-04 00:54:37 +00:00
Felix Fietkau
61485f6491
build: reduce the amount of generated make code for the initial prereq scan - makes it about 20% faster
...
SVN-Revision: 26436
2011-04-03 03:40:09 +00:00
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
2011-04-03 03:40:04 +00:00
Ralph Hempel
a1973192c6
add configure as package target
...
SVN-Revision: 23262
2010-10-05 20:20:13 +00:00
Felix Fietkau
7f80e26661
fix build dependencies on packages with multiple variants but no selected virtual packages
...
SVN-Revision: 23102
2010-09-20 20:17:28 +00:00
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
2010-09-01 17:51:36 +00:00
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
2009-11-10 22:00:54 +00:00
Felix Fietkau
7dc435ea29
move the toolchain_install stampfile to the right place to fix spurious missing toolchain errors after cleaning stuff
...
SVN-Revision: 16776
2009-07-11 12:48:59 +00:00
Ralph Hempel
6f29703625
add dist and distcheck target (to create new source balls)
...
SVN-Revision: 16230
2009-05-31 12:01:05 +00:00
Ralph Hempel
c4d7af7094
added BUILD_LOG_DIR variable, make clean will delete the ./logs dir
...
SVN-Revision: 16148
2009-05-28 16:30:04 +00:00
Florian Fainelli
d334c1e956
stop build when an error occurs and when BUILDLOG is set ( #5160 )
...
SVN-Revision: 16079
2009-05-26 14:18:05 +00:00
Felix Fietkau
97845201e4
add missing $(if) check for build logging
...
SVN-Revision: 15366
2009-04-24 01:20:23 +00:00
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
2009-04-24 01:04:50 +00:00
Felix Fietkau
167846e488
add support for config options checking in top-level directory stampfiles
...
SVN-Revision: 15112
2009-04-06 09:56:16 +00:00
Felix Fietkau
227399122b
add makefile target alias package/<name>/host/<target> for host builds
...
SVN-Revision: 14944
2009-03-18 21:53:35 +00:00
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
2009-03-17 02:20:34 +00:00
Felix Fietkau
bdb9c7351c
some more build system cleanup
...
SVN-Revision: 12329
2008-08-17 11:14:13 +00:00
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
2008-08-16 16:59:47 +00:00
Felix Fietkau
311c9403d9
fix make variable overriding for package makefiles on the command line
...
SVN-Revision: 12204
2008-08-06 11:33:26 +00:00
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
2008-06-09 15:38:45 +00:00
Felix Fietkau
31a3a503cc
add a flag "IGNORE_ERRORS", which can be used to ignore build errors in packages
...
SVN-Revision: 11059
2008-05-07 16:45:00 +00:00
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
2007-10-21 07:18:10 +00:00
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
2007-09-08 19:55:42 +00:00
Felix Fietkau
761dc0a0ae
fix a dependency bug
...
SVN-Revision: 8561
2007-08-30 22:43:25 +00:00
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
2007-08-29 03:51:49 +00:00
Nicolas Thill
ba05b57573
rename 'stampfiles' directory to 'stamp'
...
SVN-Revision: 8455
2007-08-21 18:07:55 +00:00
Felix Fietkau
c6bc77ea36
build system cleanup/restructuring as described in http://lists.openwrt.org/pipermail/openwrt-devel/2007-August/001159.html
...
SVN-Revision: 8362
2007-08-07 00:04:25 +00:00
Felix Fietkau
88163e91e8
ignore dependencies when using QUILT
...
SVN-Revision: 8244
2007-07-30 21:30:18 +00:00
Felix Fietkau
d7f2cb1642
next round of cleanup, convert target/ - make -j works now ;)
...
SVN-Revision: 8242
2007-07-30 21:14:08 +00:00
Felix Fietkau
a7b635f075
more cleanup
...
SVN-Revision: 8238
2007-07-30 18:39:20 +00:00
Felix Fietkau
49e628f765
next round of build system cleanup - convert package/ to new structure
...
SVN-Revision: 8236
2007-07-30 18:22:01 +00:00
Felix Fietkau
f1ac6cf7ec
fix compile errors with make 3.80
...
SVN-Revision: 8230
2007-07-30 15:00:27 +00:00
Felix Fietkau
0d70676b9a
add default command for dummy targets
...
SVN-Revision: 8209
2007-07-28 14:36:21 +00:00