aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* build: add buildinfo files for reproducibilityPaul Spooren2019-09-041-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | generate feeds.buildinfo and version.buildinfo in build dir after containing the feed revisions (via ./scripts/feeds list -sf) as well as the current revision of buildroot (via ./scripts/getver.sh). With this information it should be possible to reproduce any build, especially the release builds. Usage would be to move feeds.buildinfo to feeds.conf and git checkout the revision hash of version.buildinfo. Content of feeds.buildinfo would look similar to this: src-git routing https://git.openwrt.org/feed/routing.git^bf475d6 src-git telephony https://git.openwrt.org/feed/telephony.git^470eb8e ... Content of version.buildinfo would look similar to this: r10203+1-c12bd3a21b Without the exact feed revision it is not possible to determine installed package versions. Also rename config.seed to config.buildinfo to follow the recommended style of https://reproducible-builds.org/docs/recording/ Signed-off-by: Paul Spooren <mail@aparcar.org> (cherry picked from commit 454021581f630d5d04afeb8ff6581c1bda295c87)
* build: Unset CDPATH to avoid problemsThomas Langer2018-08-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | In some places the output of commands, which include "cd" are used. In case of CDPATH the new path is printed, which might not be expected. Disable the variable to avoid these problem. When CDPATH was set by the user to some value like "export CDPATH=." the git checkout done by the build system did not work anymore, the git cloning aborted with such an error message for example: .... Packing checkout... tar: /disk/fs1/tmp2/mehrtens/pon-ugw/ugw-haps/openwrt/tmp/dl/ppa-drv-1.0\n@1534240258: Cannot stat: No such file or directory tar: Date sample file not found Try 'tar --help' or 'tar --usage' for more information. ..... To avoid this, this patch makes the build system unset CDPATH inside the build system, so the build system will still work even when the user set this variable in his local environment. Signed-off-by: Thomas Langer <thomas.langer@intel.com> Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com> Acked-by: Hans Dedecker <dedeckeh@gmail.com>
* build: include package directory in sha256sums when running on buildbotJo-Philipp Wich2018-06-271-1/+1
| | | | | | | | | | In order to be able to better compare files to sync in the future, include all BIN_DIR subdirectories in the checksum calculation. To not break existing applications, restrict the recursive checksumming to CONFIG_BUILDBOT for now. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* merge: base: update base-files and basic configZoltan HERPAI2017-12-081-1/+1
| | | | Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* build: prepare config.seed before package compilationVitaly Chekryzhev2017-03-181-1/+2
| | | | Signed-off-by: Vitaly Chekryzhev <13hakta@gmail.com>
* build: get rid of host.mkFelix Fietkau2017-02-261-1/+1
| | | | | | Defined required host related variables in toplevel.mk instead Signed-off-by: Felix Fietkau <nbd@nbd.name>
* Revert "build: always run package/cleanup before package/compile"Felix Fietkau2017-01-221-1/+1
| | | | | | | This reverts commit 2990a21058243b067bb56fed36ee69205595993e. This introduces a race condition, let's fix this in buildbot instead. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: always run package/cleanup before package/compileFelix Fietkau2017-01-221-1/+1
| | | | | | | Remove unnecessary stampfile indirection Fixes an issue with the command sequence used by buildbot Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: remove separate /install step for host buildsFelix Fietkau2017-01-181-3/+3
| | | | | | Reduces the number of recursive make invocations Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: move STAGING_DIR_HOSTPKG and BUILD_DIR_HOST back to a common ↵Matthias Schiffer2017-01-181-1/+1
| | | | | | | | | | | | | directory for all targets Using a single host package staging dir (and build dir) significantly speeds up builds when multiple targets are built in succession, especially for large host packages like NodeJS. $(STAGING_DIR)/host is kept in addition to $(STAGING_DIR_HOSTPKG) in most places; it is still used as destination for host files in Build/InstallDev. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* Makefile: ensure that BIN_DIR exists for diffconfigHannu Nyman2017-01-081-0/+1
| | | | | | | Ensure that BIN_DIR exists when the diffconfig target needs it. Otherwise 'make diffconfig' fails after 'make clean' Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* build: add diffconfig targetJo-Philipp Wich2017-01-041-0/+4
| | | | | | | | Add a "diffconfig" build target which stores the output of "scripts/diffconfig.sh" as "config.seed" in the image output directory and invoke that target by default. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: implement make check and make package/X/checkFelix Fietkau2016-12-171-0/+1
| | | | | | | | | | | | | | | | 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>
* build: move merged package directory from bin/ to staging_dirFelix Fietkau2016-08-031-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add checksum targetJo-Philipp Wich2016-08-011-0/+4
| | | | | | | | | | | | | | | Add a new "checksum" make target which generates an sha256sums file over the image files produced in bin/targets/ and automatically call it during make world after the package index generation. The advantage of this new target is that it is guaranteed to run after the images, the SDK and the ImageBuilder archives have been generated to ensure that they all end up in the checksum file. Fixes FS#51. Uses sed to postprocess the OpenSSL digest output into an sha256sum command compatible format. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: fix make clean, delete package directories for selected archFelix Fietkau2016-05-111-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* branding: add LEDE brandingJohn Crispin2016-03-241-1/+1
| | | | Signed-off-by: John Crispin <blogic@openwrt.org>
* Makefile: set timezone to UTCFelix Fietkau2016-01-281-1/+2
| | | | | | | | This is necessary for reproducible image builds. Signed-off-by: bryan newbold <bnewbold@robocracy.org> SVN-Revision: 48538
* Makefile: move the cleaning of staging_dir/target* from dirclean to cleanFelix Fietkau2015-06-141-2/+2
| | | | | | | | | | | | | | | | | | Currently "make clean" only clears the build_dir/target*, but leaves staging_dir/target* intact. "make clean" should also clean the staging_dir/target* directories, as in the current situation some old packages or libraries may be linked into the firmware from staging_dir despite a "make clean". The patch reorganises clean / dirclean functionality so that * "make clean" also clears the staging_dir/target* in addition to build_dir/target*. * "make dirclean" clears toolchain and host(=tools) directories from both build_dir and staging_dir signed-off-by: Hannu Nyman <hannu.nyman@iki.fi> SVN-Revision: 45973
* Makefile: remove non-existent STAGING_DIR_TOOLCHAIN from dircleanJohn Crispin2015-05-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makefile: remove non-existent STAGING_DIR_TOOLCHAIN from dirclean Openwrt's top level Makefile uses STAGING_DIR_TOOLCHAIN in the make dirclean statement. https://dev.openwrt.org/browser/trunk/Makefile#L55 rm -rf $(STAGING_DIR) $(STAGING_DIR_HOST) $(STAGING_DIR_TOOLCHAIN) $(TOOLCHAIN_DIR) $(BUILD_DIR_HOST) $(BUILD_DIR_TOOLCHAIN) As far as I can determine, no such variable has been defined. I made a search in Openwrt source repository and the one line in Makefile's dirclean command is the only place where that variable exists. The item has been introduced to Makefile by r8362, but even at that time neither Makefile nor rules.mk defined such a variable. Most likely the goal has been to set both staging_dir/toolchain and build_dir/toolchain to be cleaned, but one of the variables has been erroneous. The correct variable for build_dir/toolchain has been then added by r13494. References: https://dev.openwrt.org/changeset/8362/ https://dev.openwrt.org/browser/trunk/Makefile?rev=8362 https://dev.openwrt.org/browser/trunk/rules.mk?rev=8362 https://lists.openwrt.org/pipermail/openwrt-devel/2007-August/001159.html https://dev.openwrt.org/changeset/13494 In current code, TOOLCHAIN_DIR = $(TOPDIR)/staging_dir/$(TOOLCHAIN_DIR_NAME) BUILD_DIR_TOOLCHAIN = $(TOPDIR)/build_dir/$(TOOLCHAIN_DIR_NAME) so the item STAGING_DIR_TOOLCHAIN in the rm command is unnecessary. signed-off-by: Hannu Nyman <hannu.nyman@iki.fi> SVN-Revision: 45736
* build: don't call prereq for any package/symlinks rulesFelix Fietkau2015-05-101-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* build: clean up sitefiles, make them per-archFelix Fietkau2015-03-281-3/+3
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45090
* Revert "build: use ONESHELL to speed up scanning and the toplevel makefile"Felix Fietkau2014-10-221-1/+0
| | | | | | | This seems to cause issues on some build hosts, and it is not that important. SVN-Revision: 43025
* build: use ONESHELL to speed up scanning and the toplevel makefileFelix Fietkau2014-10-221-0/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43021
* build: remove duplicate variable definitionsFelix Fietkau2014-03-211-4/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 39981
* build: it is no longer necessary to call make target/linux/clean as part of ↵Felix Fietkau2012-12-021-1/+0
| | | | | | make clean SVN-Revision: 34451
* Makefile: add a check to bail out early when the path to the openwrt ↵Felix Fietkau2012-10-211-0/+4
| | | | | | directory contains spaces (#12344) SVN-Revision: 33884
* build: add back the package/cleanup step to remove the root staging dir for ↵Felix Fietkau2012-10-151-1/+1
| | | | | | mklibs SVN-Revision: 33777
* build: rework the package/install step - collect package install lists ↵Felix Fietkau2012-10-061-5/+3
| | | | | | during package/compile, then install all packages at once SVN-Revision: 33631
* abort built in prereq target if there is no site config file for the current ↵Jo-Philipp Wich2012-01-191-0/+6
| | | | | | target SVN-Revision: 29798
* add a command for printing a cleaned up make target database - will be used ↵Felix Fietkau2010-09-011-3/+8
| | | | | | to analyze package dependencies at some point SVN-Revision: 22871
* fix for GREP_OPTIONSFlorian Fainelli2010-07-311-0/+2
| | | | | | | | | When using GREP_OPTIONS to supply default options to grep, the buildsystem might get broken (For example adding --color=always breaks it) This patch will empty the GREP_OPTIONS to prevent the described (and any other) problems related to GREP_OPTIONS Signed-off-by: Maarten Bezemer <m.m.bezemer@utwente.nl> SVN-Revision: 22443
* add a "make prepare" target which builds everything up to target/compile, ↵Felix Fietkau2009-05-281-0/+2
| | | | | | useful for scripts/deptest.sh SVN-Revision: 16153
* added BUILD_LOG_DIR variable, make clean will delete the ./logs dirRalph Hempel2009-05-281-1/+1
| | | | SVN-Revision: 16148
* avoid implicit rules in even more placesFelix Fietkau2009-03-031-1/+1
| | | | SVN-Revision: 14737
* remove toolchain build directory as well in 'make dirclean'Nicolas Thill2008-12-031-1/+1
| | | | SVN-Revision: 13494
* rework parallel building to get rid of some warnings and add back support ↵Felix Fietkau2008-08-161-4/+4
| | | | | | for parallelizing the kernel build fixes #3882 SVN-Revision: 12322
* make package prereq checks behave more like build prereq checks (first check ↵Felix Fietkau2008-08-041-1/+12
| | | | | | all, then fail if necessary), also make them less verbose SVN-Revision: 12106
* large improvement for parallel builds. works without V=99 now and without ↵Felix Fietkau2008-06-091-2/+8
| | | | | | warnings. tested with -j on an 2x dual core opteron machine SVN-Revision: 11414
* fix package/symlinks target, will call scripts/feeds update / install ↵Ralph Hempel2008-03-201-3/+13
| | | | | | introduce new package/symlinks-install and package/symlinks-clean targets - package/symlink-install will re-create the index files and the symlinks for all ./feeds (no update from repositories is performed) - package/symlink-clean will delete all installed symlinks (keeping the ./feeds untouched) SVN-Revision: 10634
* use scripts/feeds instead of scripts/feeds.sh for package/symlinksFelix Fietkau2007-12-281-1/+2
| | | | SVN-Revision: 9990
* fix make clean for unconfigured build treesFelix Fietkau2007-12-041-1/+1
| | | | SVN-Revision: 9655
* fix parallel build issuesFelix Fietkau2007-11-041-5/+7
| | | | SVN-Revision: 9495
* add autorebuild check for menuconfigFelix Fietkau2007-10-141-0/+1
| | | | SVN-Revision: 9301
* add 'make prepare' target for building the tools and toolchainFelix Fietkau2007-09-151-1/+4
| | | | SVN-Revision: 8780
* major target cleanup. it is now possible to have subtargets that can ↵Felix Fietkau2007-09-081-1/+1
| | | | | | override many target settings, including arch - merge adm5120, adm5120eb. target profiles still need to be adapted for subtargets SVN-Revision: 8694
* clean up recursive dependency handling, use timestamp.pl again, because it ↵Felix Fietkau2007-08-301-1/+1
| | | | | | saves memory and execution time SVN-Revision: 8558
* build system cleanup/restructuring as described in ↵Felix Fietkau2007-08-071-7/+9
| | | | | | http://lists.openwrt.org/pipermail/openwrt-devel/2007-August/001159.html SVN-Revision: 8362
* fix rootfs and init script handlingFelix Fietkau2007-07-311-1/+1
| | | | SVN-Revision: 8293
* fix make distcleanFelix Fietkau2007-07-301-2/+2
| | | | SVN-Revision: 8251