aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Add full softfloat and hardfloat support for RISC-V.Ruslan Bukin2016-11-161-1/+1
| | | | | | | | | | | Hardfloat is now default (use riscv64sf as TARGET_ARCH for softfloat). Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D8529 Notes: svn path=/head/; revision=308731
* Add full softfloat and hardfloat support for MIPS.Ruslan Bukin2016-10-311-2/+2
| | | | | | | | | | | | | | This adds new target architectures for hardfloat: mipselhf mipshf mips64elhf mips64hf. Tested in QEMU only. Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Differential Revision: https://reviews.freebsd.org/D8376 Notes: svn path=/head/; revision=308130
* Create a new MACHINE_ARCH for Freescale PowerPC e500v2Justin Hibbits2016-10-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The Freescale e500v2 PowerPC core does not use a standard FPU. Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor unit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with the stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this. Additionaly, the SPE opcodes overlap with Altivec, so these are mutually exclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, was created with the same function set as in powerpc/powerpc/altivec.c, so it becomes effectively a drop-in replacement. setjmp/longjmp were modified to save the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by the SPE). Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not support double-precision floating point. Also, without a new MACHINE_ARCH it would be impossible to provide binary packages which utilize the SPE. Additionally, no work has been done to support ports, work is needed for this. This also means no newer gcc can yet be used. However, gcc's powerpc support has been refactored which would make adding a powerpcspe-freebsd target very easy. Test Plan: This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222 (P1022-based) board, compiled against the new ABI. Base system utilities (/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot multiuser. Reviewed By: bdrewery, imp Relnotes: yes Differential Revision: https://reviews.freebsd.org/D5683 Notes: svn path=/head/; revision=307761
* Add a 'make print-dir' that simply traverses all directories and prints them.Bryan Drewery2016-08-311-2/+7
| | | | | | | | | | This is useful for finding connected directories. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=305147
* Avoid showing the bootstrap make command for check-old, etc.Bryan Drewery2016-08-121-1/+2
| | | | | | | | | Reported by: koobs MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=304006
* make world: Allow installworld to be ran in parallel.Bryan Drewery2016-08-081-1/+1
| | | | | | | | | This has been safe for a while. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=303844
* SYSTEM_COMPILER: Rework the logic to allow a 'make test-system-compiler'.Bryan Drewery2016-07-241-2/+4
| | | | | | | | | | | | | | 1. Always calculate what the expected values are. 2. Add 'make test-system-compiler' to show all of the computed values vs the wanted values. 3. Extend the .info line to buildkernel/kernel-toolchain/toolchain/_cross-tools. 4. Consolidate all of the logic to one condition. MFC after: 3 days Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=303272
* Revert r302670 and r302671 for now.Bryan Drewery2016-07-131-1/+1
| | | | | | | | MACHINE_CPUARCH smells like MACHINE except for arm64/aarch64 which has it backwards. Notes: svn path=/head/; revision=302690
* Create one list of replacements for MACHINE_CPUARCH as MACHINE_CPUARCH_SUB.Bryan Drewery2016-07-121-1/+1
| | | | | | | | | | | | | This also adds missing s/aarch64/arm64 to the sys.mk version and also adds back armv6hf for universe since it was added to the sys.mk version in r300438. MFC after: 3 days Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D7159 Notes: svn path=/head/; revision=302670
* WITH_META_MODE: Whitelist 'make kernel-toolchain'Bryan Drewery2016-06-221-3/+3
| | | | | | | | Approved by: re (blanket, META_MODE) Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=302088
* Fix top-level builds with fmake / 9.x.Bryan Drewery2016-06-211-1/+3
| | | | | | | | | Reported by: allanjude Approved by: re (marius) Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=302067
* WITH_META_MODE: Whitelist 'make kernel' and 'make world'.Bryan Drewery2016-06-151-2/+2
| | | | | | | | | | | | | | installkernel is technically META_MODE safe but doesn't need an explicit approval to use it since it's all disabled via .PHONY. world uses 'make -B installworld' which already will disable META_MODE via the -B (.MAKE.MODE=compat) usage. Approved by: re (implicit) Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=301940
* tinderbox/universe: Only show arm64 warning if it was in the TARGETS list.Bryan Drewery2016-06-151-2/+2
| | | | | | | | | | | | This was a flaw in my change in r287903 but also in the original change in r282156 since it used empty(${TARGETS}) rather than empty(TARGETS). Reported by: lidl Approved by: re (gjb) Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=301938
* Fix makeman showing dependency of DIRDEPS_BUILD->META_MODE.Bryan Drewery2016-06-141-2/+2
| | | | | | | | | | | This broke in r301887 with the meta mode whitelist. 'make showconfig' still needs WITH_META_MODE support. Approved by: re (implicit) Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=301894
* Fix build from stable/10 with fmake.Bryan Drewery2016-06-141-1/+1
| | | | | | | | | | | | | | This was broken in r301888. fmake does not look in share/mk by default and thus does not yet have MK_META_MODE set with default. Pointyhat to: bdrewery Approved by: re (implicit) Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=301893
* WITH_META_MODE: Lessen the filemon(4) requirement scope.Bryan Drewery2016-06-141-0/+7
| | | | | | | | | | | | | | | | | | | | | | - Move the sys.mk filemon requirement to bsd.init.mk as a warning. This is intended only to show when building directly in a subdirectory without filemon loaded. - Move the error into Makefile and only apply it when building from the META_TGT_WHITELIST target list. -DNO_FILEMON can be used to suppress both the warning and the error but makes WITH_META_MODE less useful. It will only compare build commands in this mode rather than track all dependencies. This fixes installing from a jail which doesn't need filemon in this phase [1]. Reported by: Nikolai Lifanov <lifanov@mail.lifanov.com> [1] Approved by: re (implicit) Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=301888
* WITH_META_MODE: Whitelist targets that are meta-mode-safe.Bryan Drewery2016-06-141-6/+24
| | | | | | | | | | | | | | META_TGT_WHITELIST is added to define which build targets are safe for meta mode. See comments for more details. This fixes 'make delete-old-libs' to properly show the interactive prompt. Approved by: re (implicit) Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=301887
* Add more missing .PHONYBryan Drewery2016-06-141-24/+24
| | | | | | | | Approved by: re (implicit) Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=301885
* Only include bsd.compiler.mk for bmakes that use -m .../share/mk by default.Bryan Drewery2016-06-051-0/+2
| | | | | | | | | | Otherwise they error when trying to include the file, which also has its own dependencies. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=301472
* WITH_META_MODE: Enable bmake's missing meta rebuild featureBryan Drewery2016-06-051-0/+5
| | | | Notes: svn path=/head/; revision=301466
* Fix bmake version upgrade logic to use the new bmake.Bryan Drewery2016-06-051-3/+6
| | | | | | | | | | | | Otherwise it was only used on the next build. This was a flaw in r295980. MFC after: 3 days Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=301465
* Make armv6 hard float abi by default. Kill armv6hf.Warner Losh2016-05-181-2/+2
| | | | | | | | | | Allow CPUTYPE=soft to build the current soft-float abi libraries. Add UPDATING entry to announce this. Approved by: re@ (gjb) Notes: svn path=/head/; revision=300119
* Follow-up r298220: Don't pass down META_MODE which will still enable it.Bryan Drewery2016-04-181-0/+1
| | | | | | | | Reported by: Nikolai Lifanov <lifanov@mail.lifanov.com> Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=298221
* META_MODE: Disable during installworld and similar.Bryan Drewery2016-04-181-0/+8
| | | | | | | | | | | | META_MODE may create cookies during staging of files to WORLDTMP that would also prevent installation of the files to the final DESTDIR, since the cookie already exists. This is not yet the case but will be soon. Prevent other similar issues by disabling META_MODE for any top-level install targets. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=298220
* MFHGlen Barber2016-04-161-3/+3
|\ | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=298092
| * Mark some more .PHONY targets.Bryan Drewery2016-04-141-2/+2
| | | | | | | | | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=297993
| * Define the *soft targets properly.Bryan Drewery2016-04-141-1/+1
| | | | | | | | | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=297988
* | MFHGlen Barber2016-04-041-1/+1
|\| | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=297567
| * Remove the old depend (mkdep) code and make FAST_DEPEND the one true way.Bryan Drewery2016-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | Reviewed by: emaste, hselasky (partial), brooks (brief) Discussed on: arch@ Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D5742 Notes: svn path=/head/; revision=297434
* | MFHGlen Barber2016-03-141-4/+7
|\| | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=296869
| * Use the newly minted Makefile.libcompat to implement libsoft librariesWarner Losh2016-03-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | for the armv6 ABI switch. This also make WITH_LIBSOFT functional on the arm platform. As a transition thing, this seems to work even without switching the ABI (we basically build the same libraries twice when MK_LIBSOFT=yes until the ABI cut over next month). MK_LIBSOFT remains default no. Notes: svn path=/head/; revision=296779
| * Avoid MK_TESTS error on stable/10 by just preventing SUBDIR recursion.Bryan Drewery2016-03-111-1/+1
| | | | | | | | Notes: svn path=/head/; revision=296676
| * Avoid bmake upgrade NO_MAN warning by just setting MAN to empty.Bryan Drewery2016-03-111-1/+1
| | | | | | | | | | | | | | Suggested by: imp Notes: svn path=/head/; revision=296675
| * Revert r296645 as it breaks stable/10->head builds.Bryan Drewery2016-03-111-2/+1
| | | | | | | | Notes: svn path=/head/; revision=296671
| * FAST_DEPEND: Use .dinclude to enable full .depend logic in bmake.Bryan Drewery2016-03-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The inclusion of .MAKE.DEPENDFILE (.depend) has special logic in make to ignore stale/missing dependencies. bmake 20160220 added a '.dinclude' directive that uses the special logic for .depend when including the file. This fixes a build error when a file is moved or deleted that exists in a .depend.OBJ file. This happened in r292782 when sha512c.c "moved" and an incremental build of lib/libmd would fail with: make: don't know how to make /usr/src/lib/libcrypt/../libmd/sha512c.c. Stop Now this will just be seen as a stale dependency and cause a rebuild: make: /usr/obj/usr/src/lib/libmd/.depend.sha512c.o, 13: ignoring stale .depend for /usr/src/lib/libcrypt/../libmd/sha512c.c --- sha512c.o --- ... This rebuild will only be done once since the .depend.sha512c.o will be updated on the build with the -MF flags. This also removes -MP being passed for the .depend.OBJ generation (which would create fake targets for system headers) since the logic is no longer needed to protect from missing files. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296646
| * Fix bmake upgrade NO_MAN warnings.Bryan Drewery2016-03-111-1/+2
| | | | | | | | | | | | | | | | MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296645
| * Fix make -n upgrade_checks.Bryan Drewery2016-03-111-1/+1
| | | | | | | | | | | | | | | | MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296643
* | MFHGlen Barber2016-03-101-1/+1
|\| | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=296625
| * Don't ever create object directories here with MK_AUTO_OBJ.Bryan Drewery2016-03-081-1/+1
| | | | | | | | | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296549
* | MFHGlen Barber2016-03-021-4/+3
|\| | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=296318
| * Add order for installworld/installkernel.Bryan Drewery2016-02-241-0/+1
| | | | | | | | | | | | | | | | MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296014
| * Support a WANT_MAKE_VERSION.Bryan Drewery2016-02-241-4/+2
| | | | | | | | | | | | | | | | | | | | This will be used soon for .dinclude support in FAST_DEPEND. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=295980
* | Include a 'package-pkg' target, intended for use forGlen Barber2016-02-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | architectures we do not provide upstream pkg(8) packages. This is not tied to anything as-is, and likely will break your system if used (based on experience with testing with powerpc). There is an overwhelming amount of evil happening here, so until the issues are fixed, it will not be tied into the 'packages' target. Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=295955
* | MFHGlen Barber2016-02-101-1/+2
|\| | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=295458
| * Fix make universe when running with non POSIX/C locales using a locale sensitiveBaptiste Daroussin2016-02-101-1/+2
| | | | | | | | | | | | | | | | | | | | pattern Reported by: many Submitted by: jilles Notes: svn path=/head/; revision=295455
* | Add logic to rotate the package repository, keyed on PKG_VERSION,Glen Barber2016-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | and create a 'latest' symlink to the PKG_VERSION repository path. Suggested by: des Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=295447
* | Rename the signpackages target to sign-packages, and include it in theDag-Erling Smørgrav2016-02-081-1/+1
| | | | | | | | | | | | | | packages meta-target so 'make packages' now does everything. Notes: svn path=/projects/release-pkg/; revision=295397
* | Split the packages target into stage-packages and create-packages to makeDag-Erling Smørgrav2016-02-081-2/+3
| | | | | | | | | | | | | | | | it possible to roll new packages from an existing build without having to restage them. Notes: svn path=/projects/release-pkg/; revision=295396
* | MFHGlen Barber2016-02-081-3/+8
|\| | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=295394
| * Simplify running the FreeBSD test suiteEnji Cooper2016-02-071-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace `make regress` (legacy test make target) and `make test` (incomplete test make target added with the FreeBSD test suite) with make check as it's consistent with other open source projects. `make check` defaults to running tests from `.OBJDIR`, but can be overridden with the `CHECKDIR` variable. Add `make checkworld` target to simplify running the FreeBSD test suite from `TESTSBASE` (i.e. the top-level tests directory), similar to buildworld. Document `make check` and `make checkworld` in build(7). Other minor changes: - Rename intermediate file (`Kyuafile.auto`) to `Kyuafile` to simplify `make check`. - Remove terse warnings attached to `beforetest`/`aftertest`. - Add kyua binary check to check target in suite.test.mk; error out if it's not found The MFC is [partly] contingent on other build related changes being MFCed. Differential Revision: https://reviews.freebsd.org/D4406 MFC after: 2 months X-MFC to: stable/10 Relnotes: yes Reviewed by: bdrewery, Evan Cramer <eccramer@gmail.com> Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=295380