Commit Graph

136 Commits

Author SHA1 Message Date
Jo-Philipp Wich b052a00c0b toplevel.mk: fix LD_LIBRARY_PATH for host binaries
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 46394
2015-07-17 11:37:20 +00:00
Felix Fietkau 5868331214 build: don't call prereq for any package/symlinks rules
Most of the time, we want to make sure OpenWrt has been configured and
setup before start running make. However, in case of package/symlinks,
forcing prereq as a dependency creates multiple issues:
*when executed on a clean workspace, it will prompt for user input
 and open a menuconfig window before executing the feeds command
*the only way around that is to provide a .config. However, the "prereq"
 target would then run a "make defconfig", which will remove all the
 packages in the .config but from external feeds, as feeds have not been
 installed yet.

The only way to currently work around this, is to generate a fake config
by running "make defconfig", then "make package/symlinks", copy the real
config (which at this point disregards the previously generated config),
and run make defconfig again. Something like this:

make defconfig
make package/symlinks
cp real.config .config
make defconfig

This change is removing the need for the first defconfig, making the
process more logical for OpenWrt users using the package/symlinks target.

Signed-off-by: Mathieu Olivari <mathieu@qca.qualcomm.com>

SVN-Revision: 45657
2015-05-10 11:17:29 +00:00
Felix Fietkau a0ced5164a build: tell users to do non-paralle builds on errors
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45457
2015-04-16 12:18:26 +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 379dc5c11f build: move tmp/.prereq-build to staging_dir/host to gracefully handle staging_dir deletion
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44551
2015-02-27 07:34:24 +00:00
Jo-Philipp Wich 1a27d74827 include: remove SDK specific target from toplevel.mk
Instead introduce a generic "make prepare" target which is executed if
include/prepare.mk exists.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 44329
2015-02-08 22:54:19 +00:00
Jo-Philipp Wich 2cdba572f9 include: let HOSTCC default to $(CC), not gcc
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 44277
2015-02-05 16:57:50 +00:00
Jo-Philipp Wich d3610773a1 include: test build prereqs before preparing tempinfo
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 44270
2015-02-05 16:57:09 +00:00
Jo-Philipp Wich 4685e4f273 sdk: track files with git and use it to implement proper clean targets
Initialize a Git repository in the SDK and use git reset / git clean
to rollback any SDK changes with "make clean" or "make dirclean".

This approach is more robust than nuking entire directory trees because
some parts of them might have been shipped with the original archive.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 43904
2015-01-10 11:17:02 +00:00
John Crispin c22bebf6ab Fix build when TAR_OPTIONS env variable is set
The build system sets a make variable TAR_OPTIONS to the unpacking
command, i.e. "-xf -". Now if an environment variable with the same
name is set, the make variable is automatically exported to the
environment. The make variable is added to the tar command in the
makefile, and tar adds the environment variable. This results in a
command like "tar -c /some/dir -xf - -xf -" which of course doesn't
work. It is also difficult to spot as the second "-xf -" is not
visible on the command line.
I suggest this is fixed by unexporting TAR_OPTIONS as I see no use
of the evironment variable, and it is changed from the original
value anyway.

Signed-off-by: Jan Kardell <jan.kardell@telliq.com>

SVN-Revision: 42794
2014-10-06 04:53:14 +00:00
Jo-Philipp Wich a720dd209f build: introduce per feed repository support
This changeset implements a new menuconfig option to generate separate
repositories for each enabled package feed instead of one monolithic one.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 42002
2014-08-05 11:24:24 +00:00
John Crispin 18a4d9fded include/toplevel.mk: more chaos calmer renaming
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41871
2014-07-29 09:10:02 +00:00
Felix Fietkau ee4110aff0 target/sdk: use .config instead of unconditionally enabling all build dirs
Call make defconfig on every build to catch newly added packages

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 39913
2014-03-13 12:12:58 +00:00
Felix Fietkau 1879c5f8e7 build: fix build on Mac OS X 10.9
Add a wrapper around the clang gcc emulation to fix -print-file-name=<lib>

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 38560
2013-10-28 15:15:09 +00:00
Florian Fainelli c463728b2d build scripts: fix 'make defconfig' damage
Looking at the target 'defconfig' in include/toplevel, it doesn't
directly reference $(HOME)/.openwrt/defconfig nor does it reference any
prerequisites using it as a target.

Therefore, building "defconfig" as a target uses the defaults in the
tree, but not the defaults that a user might have explicitly specified.

This patch fixes this regression from r36361.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
[florian: apply with the proper patch level, wrap at 80 columns]
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 37883
2013-09-02 18:25:06 +00:00
Felix Fietkau cf46e78b5f build: fix make defconfig
SVN-Revision: 36362
2013-04-18 13:51:16 +00:00
Felix Fietkau 9d5510a500 build: add new menuconfig code based on linux 3.9
SVN-Revision: 36361
2013-04-18 12:05:16 +00:00
Felix Fietkau a4c8d4e377 build: make the color of the 'configuration out of sync' warning red to make it harder for users to overlook
SVN-Revision: 36082
2013-03-17 21:12:02 +00:00
Jonas Gorski 45846230ab include/toplevel.mk: print warnings/errors to stderr
Makes warnings/errors visible when building with V=w/V=1.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 35716
2013-02-21 11:45:22 +00:00
Felix Fietkau b495423a22 build: increase file descriptor count limit for the build, some systems (e.g. Mac OS X default to 256, which is too little for some parallel builds)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 34023
2012-10-31 00:23:47 +00:00
Imre Kaloz c5e5e70ab0 it's time to break the barriers
SVN-Revision: 33666
2012-10-08 13:12:37 +00:00
Felix Fietkau 7950f996e0 build: pass MAKE_JOBSERVER via environment to avoid leaking it to error messages
SVN-Revision: 33521
2012-09-23 09:49:52 +00:00
Felix Fietkau c4198ce48d build: move the -j flag to package.mk instead of grabbing it from makeflags, otherwise it occasionally gets omitted on full builds
SVN-Revision: 33422
2012-09-15 12:16:14 +00:00
Felix Fietkau be6f437649 build: add a config option for passing the top-level make jobserver to packages that have parallel build enabled, significantly improves parallelization and gets rid of CPU overcommit during intra-package parallel builds
SVN-Revision: 33414
2012-09-15 10:21:24 +00:00
Felix Fietkau 6ae20bf412 scripts/config: build with gcc instead of clang on mac os x
SVN-Revision: 32749
2012-07-16 14:14:12 +00:00
Jo-Philipp Wich 64f5b45d8f toplevel.mk: unexport ARCH, it ends up in CONFIG_ARCH if defined and messes the buildroot up
SVN-Revision: 32663
2012-07-11 09:59:06 +00:00
Felix Fietkau 8068562453 build: prevent the environment variable CROSS_COMPILE from leaking into builds (fixes #11603)
SVN-Revision: 32081
2012-06-06 13:46:00 +00:00
Felix Fietkau fe99e3c5b5 make: do a better job of sanitizing LD_LIBRARY_PATH (fixes #8069)
SVN-Revision: 31780
2012-05-17 20:19:43 +00:00
Felix Fietkau 85f1a2c67a add further countermeasures against the git core.autocrlf option (fixes #9075)
SVN-Revision: 31650
2012-05-08 13:30:54 +00:00
John Crispin e8c19a56db prevent distro default LPATH from interfering
Attach patch unsets LPATH flag (found configured in some custom host
distributions) to make OpenWRT compile its toolchain without any issues.
LPATH is used on some distros to define the linkers search path.

Signed-off-by: Tathagata Das <tathagata@alumnux.com>

SVN-Revision: 31203
2012-04-05 14:33:03 +00:00
Felix Fietkau 0cdeb6e4b2 build: unexport C_INCLUDE_PATH to prevent user settings from interfering with the build (fixes #9865)
SVN-Revision: 30830
2012-03-05 21:39:07 +00:00
Jo-Philipp Wich 690701d26e make prepare_kernel_conf target depend on quilt instead of sed. Preparing the source tree requires quilt and installing quilt implies installing sed.
SVN-Revision: 29697
2012-01-08 16:52:41 +00:00
Felix Fietkau 83de49ae81 prepare .config before testing for missing options
SVN-Revision: 26700
2011-04-17 02:16:52 +00:00
Felix Fietkau c4b8294c2d toplevel: add a warning about .config being out of sync after an update
SVN-Revision: 26459
2011-04-04 00:54:33 +00:00
Jo-Philipp Wich d56fe0cf53 toplevel.mk: remove quotes from the release name, its up to its users to ensure proper quoting
SVN-Revision: 25596
2011-02-19 22:15:17 +00:00
Imre Kaloz e4589a2e5f it's time for some attitude adjustment ;)
SVN-Revision: 25514
2011-02-13 11:20:09 +00:00
Felix Fietkau 5e3284ecfd set the umask in toplevel.mk instead of forcing the user to adjust it
SVN-Revision: 23445
2010-10-14 15:53:47 +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 b3c871375b fix compile errors by forcing bash to be used as a shell in all submake processes
SVN-Revision: 22726
2010-08-19 13:32:47 +00:00
Felix Fietkau a9136c0892 speed up the build system by including include/shell.sh on shell commands only where necessary
SVN-Revision: 22720
2010-08-19 12:49:37 +00:00
Lars-Peter Clausen a97d6b0c95 Add kernel_nconfig make target
SVN-Revision: 22518
2010-08-06 21:36:35 +00:00
Felix Fietkau fdf2ba873a unset user overrides for quilt settings to prevent them from interfering with the build process (#6553)
SVN-Revision: 19332
2010-01-25 21:45:10 +00:00
Felix Fietkau 5af113eb7c add support for build system overlays that alter package build instructions currently unused, will probably be managed by the feeds system later
SVN-Revision: 17445
2009-08-31 01:11:25 +00:00
Felix Fietkau b5ddcb18fa use unexport instead of export to clear perforce variables
SVN-Revision: 15708
2009-05-08 15:35:27 +00:00
Felix Fietkau d4cb02e78f override some variables to make sure that perforce does not mess with our build process
SVN-Revision: 15705
2009-05-07 23:50:19 +00:00
Felix Fietkau a296bdb983 make sure that at least sed is built before kernel_menuconfig/kernel_oldconfig is executed
SVN-Revision: 15433
2009-04-27 10:39:03 +00:00
Felix Fietkau 88f6e9f9fd optimize the .config dependency chain in the toplevel makefile
SVN-Revision: 14740
2009-03-03 15:08:55 +00:00
Felix Fietkau 882190b198 avoid implicit rules in even more places
SVN-Revision: 14737
2009-03-03 14:16:48 +00:00
Felix Fietkau 5dcaa510e8 add staging_dir/host/lib to LD_LIBRARY_PATH so that host-built applications can install and make use of shared libraries
SVN-Revision: 14698
2009-02-28 21:03:06 +00:00
Felix Fietkau cd35be21af one more instance of r13005
SVN-Revision: 13007
2008-10-18 20:16:40 +00:00
Felix Fietkau 87e0a3cf0f don't overwrite .config if it's a symlink (fixes scripts/env problems)
SVN-Revision: 13005
2008-10-18 19:37:34 +00:00
Felix Fietkau d0302d323b make sure a predefined CFLAGS variable does not get in the way (fix for #4038)
SVN-Revision: 12702
2008-09-25 14:10:04 +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 14a3ac5c63 fix cut&paste mistake
SVN-Revision: 12254
2008-08-09 00:49:36 +00:00
Felix Fietkau ef05bf3494 fix make distclean
SVN-Revision: 12252
2008-08-09 00:27:54 +00:00
Felix Fietkau 3a321fb110 fix 'make docs'
SVN-Revision: 12211
2008-08-06 14:30:34 +00:00
Felix Fietkau 351b6391bf add another check to the dependencies
SVN-Revision: 11475
2008-06-15 14:50:41 +00:00
Felix Fietkau 980b80ddc6 fix typo
SVN-Revision: 11474
2008-06-15 14:49:00 +00:00
Felix Fietkau 8b41afa584 add some sanity checking
SVN-Revision: 11473
2008-06-15 14:34:00 +00:00
Felix Fietkau 80e70b78fd fix make menuconfig/oldconfig
SVN-Revision: 11415
2008-06-09 16:21:20 +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 6fd92eece4 allow parallel downloading for make download
SVN-Revision: 11411
2008-06-09 15:38:19 +00:00
Andy Boyett d4be84eee8 Fix typo in last commit
SVN-Revision: 10942
2008-04-26 07:51:38 +00:00
Andy Boyett 4f478ce546 Remove old feeds symlink in distclean. Thanks fish - Fixes duplicate package entries when coming from pre r10634
SVN-Revision: 10941
2008-04-26 07:49:41 +00:00
Florian Fainelli 54a5d8fb77 Clean files in scripts/config (#3011)
SVN-Revision: 10723
2008-04-03 19:08:59 +00:00
Ralph Hempel a30fcc0db6 "make distclean" should remove "package/feeds" thanks to Robert P. J. Day
SVN-Revision: 10650
2008-03-24 09:52:14 +00:00
Felix Fietkau a4920f613a remove obsolete symlinkclean target the new make package/symlinks does not need it.
SVN-Revision: 10622
2008-03-19 08:17:56 +00:00
Travis Kemen d650dae3a2 Add bin/ directory as an argument of make distclean Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
SVN-Revision: 10612
2008-03-17 23:57:31 +00:00
Felix Fietkau 1d31c17938 add missing dependency for the target metadata scan
SVN-Revision: 10436
2008-02-09 19:53:20 +00:00
Felix Fietkau 2da3f6a256 fix the sdk
SVN-Revision: 9747
2007-12-14 00:33:25 +00:00
Felix Fietkau 51996a78f1 clean up openwrt version handling, use a separate script that is executed at the beginning of the build process, fix revision checking with git
SVN-Revision: 9723
2007-12-13 06:25:54 +00:00
Felix Fietkau edc74f8cc3 fix make clean for unconfigured build trees
SVN-Revision: 9655
2007-12-04 03:04:37 +00:00
Felix Fietkau db87e1f8c1 fix parallel build issues
SVN-Revision: 9495
2007-11-04 11:42:47 +00:00
Felix Fietkau 5d901efb9e increase scan depth to 5 for package/ (x.org is nested deeper than the rest of the packages)
SVN-Revision: 9487
2007-11-03 12:13:23 +00:00
Felix Fietkau af03fdb6c5 add autorebuild check for menuconfig
SVN-Revision: 9301
2007-10-14 02:28:34 +00:00
John Crispin 1a3c4d1090 add possibility to set default .config values
SVN-Revision: 9300
2007-10-14 02:15:37 +00:00
Felix Fietkau 1120a73f43 remove feeds dir on distclean
SVN-Revision: 9215
2007-10-09 04:13:19 +00:00
Felix Fietkau c3a2acf7db only run svn info if .svn exists
SVN-Revision: 9213
2007-10-09 03:37:31 +00:00
Felix Fietkau f8dfc57573 add initial version of a package feeds management script
SVN-Revision: 8973
2007-09-23 02:39:01 +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 56231056ea strip the kernel version suffix from target directories, except for brcm-2.4 (the -2.4 will be included in the board name here). CONFIG_LINUX_<ver>_<board> becomes CONFIG_TARGET_<board>, same for profiles.
SVN-Revision: 8653
2007-09-06 16:27:37 +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 d7f2cb1642 next round of cleanup, convert target/ - make -j works now ;)
SVN-Revision: 8242
2007-07-30 21:14:08 +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 e143bed1f1 build system fixes, more cleanup
SVN-Revision: 8207
2007-07-28 13:29:03 +00:00
Felix Fietkau 9c88ba80b9 more build system cleanup
SVN-Revision: 8206
2007-07-28 13:00:43 +00:00