aboutsummaryrefslogtreecommitdiff
path: root/Makefile (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'busybox' into mergeRon Yorston2024-09-281-1/+1
|\
| * Start 1.38.0 development cycleDenys Vlasenko2024-09-261-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Bump version to 1.37.0Denys Vlasenko2024-09-261-1/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | build system: avoid full rebuild when EXTRAVERSION changesRon Yorston2024-02-161-1/+9
| | | | | | | | | | | | | | | | | | | | The last two commits allow EXTRAVERSION to track the current state of a git repository. The build system was unable to determine which files were affected by changes to EXTRAVERSION and caused a full rebuild when it changed. Alter how the version information is passed to the code so only a handful of files need to be rebuilt when it changes.
* | build system: improvements to EXTRAVERSION detectionRon Yorston2024-02-161-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous commit to detect EXTRAVERSION more accurately was lacking in some respects: - Only attempt to detect EXTRAVERSION if it's currently set to the default value '.git'. - Use immediate-expansion macro assignments to avoid time-consuming repeated evaluations. - Remove a useless use of cat. - Correctly allow for the output being sent to a separate directory.
* | build system: try to find a more precise EXTRAVERSIONRon Yorston2024-02-151-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | The default EXTRAVERSION is .git. Use some clues to determine a more precise EXTRAVERSION: - git describe - A .frp_describe file embedded in the release tarball - The name of the build directory: tarballs of release tags from GitLab and GitHub include the version in the directory name.
* | build system: improved handling of silent modeRon Yorston2024-01-211-1/+8
| | | | | | | | | | | | | | | | | | | | | | The top-level makefile attempted to detect if make was being run in silent mode (-s option). It then turned off reporting of commands as they were run. There were false positives where unrelated 's' characters in the command line were detected as silent mode. Import the relevant section from the latest Linux build system to improve matters.
* | build system: make compiler names configurableRon Yorston2024-01-201-2/+24
| | | | | | | | | | | | | | The top-level Makefile hardcoded the host and cross compiler name to "gcc". Make it possible to set different values either on the command line (make CROSS_COMPILER=clang) or in the configuration file.
* | Merge branch 'busybox' into mergeRon Yorston2023-04-171-0/+1
|\|
| * build system: clean more files on make cleanTomas Paukrt2023-04-121-0/+1
| | | | | | | | | | Signed-off-by: Tomas Paukrt <tomaspaukrt@email.cz> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* | Merge branch 'busybox' into mergeRon Yorston2023-01-051-1/+1
|\|
| * Start 1.37.0 development cycleDenys Vlasenko2023-01-031-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Bump version to 1.36.01_36_0Denys Vlasenko2023-01-031-1/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | build system: allow building with w64devkitRon Yorston2022-10-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make some adjustments to the build system to allow busybox-w32 to be built with w64devkit: - Strip drive prefix from CURDIR in Makefile to avoid confusing make with colons. - Limit file redirection to a subshell in the usage_compressed and embedded_scripts scripts. Otherwise it isn't possible to move the open generated file on Windows. - Change the option tests in Kbuild.include to allow for /dev/null not existing on Windows. - Create host binaries without a '.exe' extension. Otherwise they're rebuilt more often than necessary. - Modify split-include.c to allow for Windows' popen() not expanding wildcards. (GitHub issue #239)
* | Merge branch 'busybox' into mergeRon Yorston2022-05-121-8/+0
|\|
| * kbuild: fix building sha256Bernhard Reutner-Fischer2022-04-211-8/+0
| | | | | | | | | | | | | | | | | | | | | | Pass down the correct EXTRA_CFLAGS to the compiler driver when building assembler source. Otherwise building busybox for a multilib other than the default failed to link since hash_md5_sha256_x86-64_shaNI.o and hash_md5_sha_x86-64_shaNI.o were built for the default arch which might not what we requested in the EXTRA_CFLAGS. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* | Merge busybox into mergeRon Yorston2021-12-271-1/+1
|\| | | | | | | Fix merge conflict in coreutils/timeout.c.
| * Start 1.36.0 development cycleDenys Vlasenko2021-12-261-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Bump version to 1.35.01_35_0Denys Vlasenko2021-12-261-1/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | Merge branch 'busybox' into mergeRon Yorston2021-08-221-1/+1
|\|
| * Start 1.35.0 development cycleDenys Vlasenko2021-08-191-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Bump version to 1.34.01_34_0Denys Vlasenko2021-08-191-1/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | Work around GNU Make bug involving shell built-insChristopher Wellons2021-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The workaround for MSYS2 in 475c111 interacts badly with a long-standing bug in GNU Make where it avoids spawning a shell when it believes it can handle a command itself as a sort of Bourne shell emulation. Since "command" is typically implemented as a special shell built-in and not an actual program, and GNU Make does not implement this built-in in its Bourne shell emulation, GNU Make's shell function fails to invoke it properly, resulting in an error: make: command: Command not found One work-around is to set a custom shell that is not "/bin/sh" so that GNU Make does not assume any particular shell semantics. For instance: make SHELL=dash A second work-around is to use a shell feature not implemented by GNU Make, such as redirection or variable assignment (this patch), causing it to spawn an actual shell to handle the shell command.
* | Merge branch 'busybox' into mergeRon Yorston2021-03-011-0/+1
|\|
| * trylink: do not drop libs from CONFIG_EXTRA_LDLIBSDenys Vlasenko2021-02-231-0/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | win32: work around MSYS2 toolchain weirdnessRon Yorston2021-02-211-0/+9
| | | | | | | | | | | | | | | | | | The Windows/MSYS2/mingw-w64 toolchain has platform-specific prefixes on many of its binaries but not all. As a result the mingw cross-compilation configurations *nearly* work. If we're cross compiling and the generated name $AR doesn't exist as a binary assume were using MSYS2 and make the necessary tweaks.
* | Merge branch 'busybox' into mergeRon Yorston2021-01-141-1/+1
|\|
| * Start 1.34.0 development cycleDenys Vlasenko2020-12-291-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Bump version to 1.33.01_33_0Denys Vlasenko2020-12-291-1/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | Merge branch 'busybox' into mergeRon Yorston2020-07-091-1/+1
|\|
| * Start 1.33.0 development cycleDenys Vlasenko2020-06-261-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Bump version to 1.32.01_32_0Denys Vlasenko2020-06-261-1/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | Merge branch 'busybox' into mergeRon Yorston2019-08-161-1/+1
|\|
| * Start 1.32.0 development cycleDenys Vlasenko2019-06-101-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Bump version to 1.31.01_31_0Denys Vlasenko2019-06-101-1/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | Merge branch 'busybox' into mergeRon Yorston2019-01-101-1/+1
|\|
| * Start 1.31.0 development cycleDenys Vlasenko2018-12-301-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Bump version to 1.30.01_30_0Denys Vlasenko2018-12-301-1/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | Merge branch 'busybox' into mergeRon Yorston2018-11-281-2/+6
|\|
| * Tweaks to build process for embedded scriptsRon Yorston2018-11-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Force a rebuild if a script in applets_sh is changed. - Move the dummy usage messages for custom applets to usage.h and change the name from 'dummy' to 'scripted'. - Hide an error from gen_build_files.sh if an embed directory exists but is empty. - Tidy up embedded_scripts script. v2: Remove a couple of unnecessary tests in embedded_scripts, as pointed out by Xabier Oneca. Drop the stripping of comments. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Ensure build works when KBUILD_OUTPUT is set, closes 11511Ron Yorston2018-11-181-2/+2
| | | | | | | | | | | | | | | | The build process for embedded scripts didn't have consistent support for saving output to a different directory. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Treat custom and applet scripts as appletsRon Yorston2018-11-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BusyBox has support for embedded shell scripts. Two types can be distinguished: custom scripts and scripts implementing applets. Custom scripts should be placed in the 'embed' directory at build time. They are given a default applet configuration and appear as applets to the user but no further configuration is possible. Applet scripts are integrated with the BusyBox build system and are intended to be used to ship standard applets that just happen to be implemented as scripts. They can be configured at build time and appear just like native applets. Such scripts should be placed in the 'applets_sh' directory. A stub C program should be written to provide the usual applet configuration details and placed in a suitable subsystem directory. It may be helpful to have a configuration option to enable any dependencies the script requires: see the 'nologin' applet for an example. function old new delta scripted_main - 41 +41 applet_names 2773 2781 +8 applet_main 1600 1604 +4 i2cdetect_main 672 674 +2 applet_suid 100 101 +1 applet_install_loc 200 201 +1 applet_flags 100 101 +1 packed_usage 33180 33179 -1 tryexec 159 152 -7 evalcommand 1661 1653 -8 script_names 9 - -9 packed_scripts 123 114 -9 complete_cmd_dir_file 826 811 -15 shellexec 271 254 -17 find_command 1007 990 -17 busybox_main 642 624 -18 run_applet_and_exit 100 78 -22 find_script_by_name 51 - -51 ------------------------------------------------------------------------------ (add/remove: 1/2 grow/shrink: 6/9 up/down: 58/-174) Total: -116 bytes text data bss dec hex filename 950034 477 7296 957807 e9d6f busybox_old 949918 477 7296 957691 e9cfb busybox_unstripped Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ash: allow shell scripts to be embedded in the binaryDenys Vlasenko2018-11-011-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To assist in the deployment of shell scripts it may be convenient to embed them in the BusyBox binary. 'Embed scripts in the binary' takes any files in the directory 'embed', concatenates them with null separators, compresses them and embeds them in the binary. When scripts are embedded in the binary, scripts can be run as 'busybox SCRIPT [ARGS]' or by usual (sym)link mechanism. embed/nologin is provided as an example. function old new delta packed_scripts - 123 +123 unpack_scripts - 87 +87 ash_main 1103 1171 +68 run_applet_and_exit 78 128 +50 get_script_content - 32 +32 script_names - 10 +10 expmeta 663 659 -4 ------------------------------------------------------------------------------ (add/remove: 4/0 grow/shrink: 2/1 up/down: 370/-4) Total: 366 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | Allow build objects to go to a separate directoryRon Yorston2018-11-211-0/+1
| | | | | | | | | | | | | | | | Fix the build system so the KBUILD_OUTPUT environment variable can be used as intended: to specify that object files are placed in a separate directory from the source. Also ensure that busybox-w32.manifest is deleted by 'make mrproper'.
* | Merge branch 'busybox'Ron Yorston2018-07-251-1/+1
|\|
| * Start 1.30.0 development cycleDenys Vlasenko2018-07-011-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Bump version to 1.29.01_29_0Denys Vlasenko2018-07-011-1/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | win32: rename resource filesRon Yorston2018-07-241-1/+1
| | | | | | | | | | Since more than just icon resources are now provided give various files more appropriate names.
* | Merge branch 'busybox' into mergeRon Yorston2018-05-131-1/+1
|\|
| * build system: fix parallel building issueMichael Olbrich2018-04-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The files generated by the include/config/MARKER target are in the dependency list for applets/applet_tables. If applets/applet_tables is created first during applets_dir then it will be created again later as part of $(busybox-dirs). As a result include/applet_tables.h is created again. This time while other build commands may need it. Let applets_dir depend on include/config/MARKER to avoid this particular race condition and create the header files atomically to ensure that the compiler never sees incomplete files. Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>