summaryrefslogtreecommitdiffstats
path: root/share/mk/bsd.prog.mk
Commit message (Collapse)AuthorAgeFilesLines
* Whitespace diff reduction between bsd.prog.mk and bsd.lib.mk outputs.ru2003-08-311-2/+17
|
* Add ${CRUNCH_CFLAGS} support for adding compile options to crunchgordon2003-06-291-0/+1
| | | | | | | components. This is generally considered a non-optimal solution but it gets the job done for the /rescue case. Submitted by: Tim Kientzle <kientzle@acm.org>
* Remove some games/ cruft that is no longer of relevance.markm2003-05-031-4/+0
|
* Added the new variable CTAGS which, if set to "ctags", revertsru2002-10-171-14/+0
| | | | | | | | to creating the tags file using ctags(1). Defaults to "gtags". Made GTAGSFLAGS and HTAGSFLAGS overrideable, added CTAGSFLAGS. Folded bsd.prog.mk version of `tags' into bsd.dep.mk. PR: bin/42852
* Extend the lint handling a bit.markm2002-09-201-3/+3
| | | | | | | | | o Make it possible to prevent parts of the tree from being linted (say) during a 'make world' by setting NOLINT in a leaf Makefile. o Make "make lint" work (better) for executable programs. o Clean up (nuke!) a syntax damaged pipeline.
* Initiate deorbit burn for the i386-only a.out related support. Moves arepeter2002-09-171-7/+0
| | | | | | | | | | | | | | | under way to move the remnants of the a.out toolchain to ports. As the comment in src/Makefile said, this stuff is deprecated and one should not expect this to remain beyond 4.0-REL. It has already lasted WAY beyond that. Notable exceptions: gcc - I have not touched the a.out generation stuff there. ldd/ldconfig - still have some code to interface with a.out rtld. old as/ld/etc - I have not removed these yet, pending their move to ports. some includes - necessary for ldd/ldconfig for now. Tested on: i386 (extensively), alpha
* Drop support for COPY, -c has been the default mode of install(1)ru2002-07-291-3/+3
| | | | | | for a long time now. Approved by: bde
* Try really hard to fix parallel installs. Add a bunch of .ORDERru2002-07-031-0/+3
| | | | | | | | | | | | | | | | | | | | | directives to ensure that all realinstall sub-tasks are executed after beforeinstall, similarly ensure that all afterinstall sub- tasks are executed after realinstall. Demonstration: all: task1 task2 .ORDER: task1 task2 task2: task2_subtask .ORDER: task1 task2_subtask task1 task2 task2_subtask: @sleep `jot -r 1 0 1.0` @echo ${.TARGET} Without the second .ORDER directive, task2_subtask can be run in parallel with task1. Spotted by: Andrea Campi <andrea@webcom.it>
* Reimplemented bsd.nls.mk using bsd.files.mk and bsd.links.mk.ru2002-07-021-0/+3
| | | | | | | | | | | | Provided the (previously missing) dependency on source files for intermediate .msg files. Provided the default for NLSSRCDIR (defaults to .CURDIR). Slightly changed the API: NLS should now list plain locale names, without the .msg suffix. When included from bsd.prog.mk, NLSNAME defaults to PROG.
* Handle installation of hard and symbolic links via a seperate .mk file.ru2002-07-021-24/+1
|
* Reimplement FILES support using bsd.files.mk with theru2002-06-031-28/+2
| | | | | | | | same set of features as in recently added bsd.incs.mk (FILESGROUPS, accessibility from both bsd.prog.mk and bsd.lib.mk, de-pessimized typical installation path, etc.) New standard targets: buildfiles, installfiles, and files (buildfiles + installfiles).
* Rename `includes' to `buildincludes'.ru2002-05-151-3/+1
| | | | | | Rename `incsinstall' to `installincludes'. Make `includes' a -j safe shortcut for `buildincludes' + `installincludes'. `buildincludes' and `installincludes' are SUBDIR friendly, if run directly.
* Added new bsd.incs.mk which handles installing of header filesru2002-05-121-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | via INCS. Implemented INCSLINKS (equivalent to SYMLINKS) to handle symlinking include files. Allow for multiple groups of include files to be installed, with the powerful INCSGROUPS knob. Documentation to follow. Added standard `includes' and `incsinstall' targets, use them in Makefile.inc1. Headers from the following makefiles were not installed before (during `includes' in Makefile.inc1): kerberos5/lib/libtelnet/Makefile lib/libbz2/Makefile lib/libdevinfo/Makefile lib/libform/Makefile lib/libisc/Makefile lib/libmenu/Makefile lib/libmilter/Makefile lib/libpanel/Makefile Replaced all `beforeinstall' targets for installing includes with the INCS stuff. Renamed INCDIR to INCSDIR, for consistency with FILES and SCRIPTS, and for compatibility with NetBSD. Similarly for INCOWN, INCGRP, and INCMODE. Consistently use INCLUDEDIR instead of /usr/include. gnu/lib/libstdc++/Makefile and gnu/lib/libsupc++/Makefile changes were only lightly tested due to the missing contrib/libstdc++-v3. I fully tested the pre-WIP_GCC31 version of this patch with the contrib/libstdc++.295 stuff. These changes have been tested on i386 with the -DNO_WERROR "make world" and "make release".
* Added internal, non-recursive (SUBDIR) versions of the `all-man'ru2002-05-071-2/+2
| | | | | | | | and `maninstall' targets. This fixes the issue where each subdir was descended into twice during "make all", and also resurrects the standardization of `maninstall'. Urged by: bde
* Install PROG before SCRIPTS and FILES, but make sureru2002-05-071-4/+8
| | | | | | | LINKS are still processed last. This backs out part of the backout in previous revision. Install the manpages before descending into SUBDIRs.
* Splitting "realinstall" into parts was a (failed) part of the workru2002-04-291-5/+4
| | | | | | | | | | in progress, and should not have been committed in revision 1.114. This broke gnu/usr.bin/binutils/strip and usr.bin/strip makefiles; they were now attempting to install and strip "strip" from objdir. Pointed out by: bde This has nothing to do with PR misc/37516.
* Abuse bsd.obj.mk for defining default distribute target.ru2002-04-241-8/+0
|
* Change the name of the 'bin' distribution to 'base'.obrien2002-04-231-1/+1
| | | | | | | This is done since it contains much more than /bin, and also gets in the way when making a combined install+fixit CD. OK'ed by: jkh
* Merge bsd.obj.mk's version of the _SUBDIR target with bsd.subdir.mk.ru2002-04-231-19/+10
| | | | | | | | | | | | | | | | Ensure all standard targets honor SUBDIR. Now `make obj' descends into SUBDIRs even if NOOBJ is set (some descendants may still need an object directory, but we do not have such precedents). Now `make install' in non-bsd.subdir.mk makefiles runs `afterinstall' target _after_ `install' in SUBDIRs, like we do in bsd.subdir.mk. Nothing depended on the wrong order anyway. Fixed `distribute' targets (except for the bsd.subdir.mk version) so that they do not depend on _SUBDIR; `distribute' calls `install' which already depends on _SUBDIR. De-standardize `maninstall', otherwise manpages would be installed twice. (To be revised later.)
* Add .asm as an alias for .s. .asm is common in contribed sources.obrien2002-04-191-1/+1
| | | | Helps with: gcc31 build.
* ${INSTALLFLAGS} aren't suitable for installing ${SCRIPTS} and ${FILES}.ru2002-04-171-2/+2
|
* Don't include bsd.own.mk from sys.mk, this makes it impossibleru2002-04-171-7/+1
| | | | | | | | | | | | | | | | | | | | | to use ``.if defined()'' inside bsd.own.mk to test for defines in individual makefiles. For example, setting DEBUG_FLAGS in Makefile didn't take the desired effect on the STRIP assignment. Added bsd.init.mk (like in NetBSD) that handles the inclusion of ../Makefile.inc and bsd.own.mk from all bsd.*.mk files that "build something". Back out bsd.own.mk,v 1.15: moved OBJFORMAT initialization back to sys.mk (several source tree makefiles want to check it early) and removed MACHINE_ARCH initialization (it's hard to see from looking at the commitlogs what the problem was at the time, but now it serves no purpose). Prohibit the direct inclusion of bsd.man.mk and bsd.libnames.mk. Protect bsd.obj.mk from repetitive inclusion. Prohibiting the direct inclusion of bsd.obj.mk might be a good idea too.
* Back out second part of the previous change. While this wasru2002-04-121-2/+9
| | | | | | | | | indeed a good change, I shouldn't have made it after testing with the -DNOCLEAN buildworld. There are far too many users of this misfeature under sys/boot/. I will reapply the change after I fix these. This change has been tested with the clean buildworld.
* Fixed the fatal breakage I introduced in the last commit.ru2002-04-121-1/+1
| | | | | | | | | Make the defined(SRCS) case similar to the !defined(SRCS) case - only define ${PROG}: ${OBJS} if the ${PROG} target does not exist. This has only one precedence in the entire source tree, usr.bin/doscmd, and its Makefile is horribly broken. I will temporarily unconnect it from build until I'm working on the fix.
* Don't add -lstdc++ to LDADD, just let c++(1) link C++ programs.ru2002-04-121-5/+7
| | | | | | Record the dependency on ${LIBSTDCPLUSPLUS} similar to ${LIBC}. Suggested by: imp, obrien, peter
* Implement PROG_CXX for <bsd.prog.mk>.ru2002-04-111-0/+10
| | | | | Obtained from: NetBSD (with some mods) Reviewed by: peter
* Really finish the removal of ${LDDESTDIR} in bsd.lib.mk,v 1.55.ru2002-04-111-3/+3
| | | | bsd.lib.mk,v 1.101 only did that partly.
* Fixed the nasty bug where .depend file that exists somewhere inru2002-04-071-1/+1
| | | | | | | | the .PATH (but not in the ${.OBJDIR}) would result in a leak of the ${OBJS}: ${SRCS:M*.h} dependency hint. Spotted by: fixing the broken gnu/usr.bin/cc/cc1obj build MFC after: 1 day
* Obviate the need to set the COMPILER_PATH and LIBRARY_PATH in Makefile.inc1ru2002-02-211-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to pick up the correct cross-tools (the compiler executables and binutils) and special linker files (crt*.o). This is now controlled by a single knob, TOOLS_PREFIX, when building cross-tools. Fixed regression in Makefile.inc1,v 1.203 (-nostdinc). This clobbered target architecture's CFLAGS with building host's CPUTYPE setting in /etc/make.conf, and had a nice but nasty side effect of exposing some (normally hidden) bugs in system headers. (Attempt to move the "-nostdinc -I..." part of CFLAGS into the new CINCLUDES (modeled after a similar CXXINCLUDES) eventually failed because hard-coding ${WORLDTMP}/usr/include to be the first in the include list does not always work, e.g. lib/libbind.) Compensate the -nostdinc removal by making cpp(1) built in the cross-tools stage to not look for <> header files in the building host's /usr/include (already committed as gnu/usr.bin/cc/cc_tools/freebsd-native.h, revisions 1.10-1.12, STANDARD_INCLUDE_DIR). : $ /usr/obj/usr/src/i386/usr/bin/cpp -v /dev/null : : Before: : : #include <...> search starts here: : /usr/obj/usr/src/i386/usr/include : /usr/include : End of search list. : : After: : : #include <...> search starts here: : /usr/obj/usr/src/i386/usr/include : /usr/obj/usr/src/i386/usr/include (Disabling the use of GCC_INCLUDE_DIR in the FREEBSD_NATIVE case would fix the duplicate above.) Get rid of the (now unneeded) -I${DESTDIR}/usr/include magic in bsd.prog.mk and bsd.lib.mk. Finish the removal of LDDESTDIR in bsd.lib.mk,v 1.55 -- we no longer have users of it. The required changes to gcc were already committed as contrib/gcc.295/gcc.c, revisions 1.23 and 1.24. Basically, this allows for the changes above plus makes gcc(1) persistent about path configuration, whether it's configured as a native or a cross compiler: : $ /usr/obj/usr/src/i386/usr/bin/cc -print-search-dirs : install: /usr/obj/usr/src/i386/usr/libexec/(null) : programs: /usr/obj/usr/src/i386/usr/libexec/elf/:/usr/obj/usr/src/i386/usr/libexec/ : libraries: /usr/obj/usr/src/i386/usr/lib/ : : $ /usr/obj/alpha/usr/src/i386/usr/bin/cc -print-search-dirs : install: /usr/obj/alpha/usr/src/i386/usr/libexec/(null) : programs: /usr/obj/alpha/usr/src/i386/usr/libexec/elf/:/usr/obj/alpha/usr/src/i386/usr/libexec/ : libraries: /usr/obj/alpha/usr/src/i386/usr/lib/ Reviewed by: bde, obrien
* FILES support for bsd.prog.mk. See bsd.README for details.ru2001-12-171-5/+32
| | | | Stolen from: NetBSD
* Unbreak "make lint" for programs and "make llib-l${LIB}.ln" forbde2001-12-031-1/+1
| | | | | | | | | | | libraries a little by not passing all of ${CFLAGS} to lint. Pass only options matching -[DIU]*. The important -nostdinc option can't be passed like I first thought because lint misinterprets as "-n -o stdinc". The unimportant -B* option can't be passed because lint doesn't support it. Otherwise, we pass the same options as to mkdep, exept for a bug in the latter: -U* is not passed. All this depends on option args not being separated from option flags by a space.
* When bootstrapping (build-tools and cross-tools), avoidru2001-09-211-1/+1
| | | | | | | including the ${WORLDTMP}/usr/include headers that may not match the installed host libraries. This should fix the 20010919 UPDATING entry.
* Style nits:ru2001-06-141-2/+2
| | | | | | | GBINDIR -> ORIGBINDIR GBINGRP -> ORIGBINGRP Submitted by: bde
* Games ownership cleanup.ru2001-06-131-2/+2
| | | | Urged by: bde
* Change the ownership of the symbolic link for hidden gameru2001-05-311-1/+1
| | | | | | | rather than /usr/games/dm wrapper. Spotted by: bde Reviewed by: bde
* Bring in the WARNS directive from NetBSD, localized in a new bsd.sys.mkkris2001-05-191-0/+2
| | | | | | | | | to avoid polluting sys.mk. This directive controls the addition of compiler warning flags to CFLAGS in a relatively compiler-neutral manner. The idea is that WARNS can be set in Makefile.inc or in individual Makefiles as they become clean, to prevent the introduction of new warnings in the code. -Werror is added by default
* Who ever came up with the ${CFLAGS} need to be passed to lint?asmodai2001-04-191-1/+1
| | | | | | We can now run make lint on src/bin at least. I am sure Mark Murray has way more interesting fixes up his sleeve.
* Introduce SCRIPTS for bsd.prog.mk. See bsd.README for details.ru2001-04-071-2/+29
| | | | | | Idea stolen from NetBSD. Reviewed by: bde
* Introduce ${PROGNAME}, the name that the program will be installed as,ru2001-04-021-0/+5
| | | | | | if different from ${PROG}. (The name PROGNAME was stolen from NetBSD.) Reviewed by: bde
* Define MAN to ${PROG}.1 if no manpages were specified, but stillru2001-03-281-1/+2
| | | | | | | provide MAN1 for backwards compatibility. Third party software may still have dependancy lines of this form: ${MAN1}: foo.man
* Make it possible to build manpages for the entire source tree.ru2001-03-271-1/+6
|
* Backout botched attempt to introduce MANSECT feature; itru2001-03-261-4/+1
| | | | doesn't work in "developer" mode (single module checkout).
* Removed _MANPAGES, MANDEPEND and MANSRC.ru2001-03-261-3/+7
| | | | | | | Added MAN which will eventually replace MAN[0-9] and MAN1aout. For now, the old syntax is still supported. Reviewed by: bde
* If the MANSECT variable is specified, it will override the defaultru2001-03-201-1/+4
| | | | | | | | manual section. If, for example, MANSECT is set to 8, the default MAN1=${PROG}.1 feature of bsd.prog.mk becomes MAN8=${PROG}.8. Useful for games, libexec, sbin and usr.sbin subtrees. Reviewed by: bde
* Check for MAN9 for consistency.ru2000-03-231-2/+2
|
* Removed NOEXTRADEPEND hack. This was only for an old version of makeworld.bde2000-01-091-1/+1
|
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Add variable INSTALLFLAGS_EDIT used to remove arbitrary INSTALLFLAGS.hoek1999-07-311-2/+7
| | | | | | | | | | | | | | | Specifically intended for removing -fschg ("INSTALLFLAGS_EDIT=:S/schg/uchg/") this makes the NOFSCHG flag redundant. NOFSCHG will still be honoured by bsd.lib.mk but is valid for buildworld only. NOFSCHG is still implemented in the old way (ie. _not_ ".if NOFSCHG then { INSTALLFLAGS_EDIT+=:S/schg/,/ }" to emphasize the fact that NOFSCHG is only supported in a limited fashion and for buildworld. The interface and implementation are such that future use of flags such as sappnd can also be easily removed or altered (perhaps to uappnd). This commit brought to you by the letters B, D, and E, and the numbers six, one, thirteen, and three.
* "Fixed" missing dependency of ${PROG} on ${LIBC} in the elf case.bde1999-05-061-4/+2
|
* Removed all traces of LN_FLAGS. It was only used to produce a linkbde1999-03-231-3/+13
| | | | | | | | | | | | | | | | /usr/sbin/sysctl -> ${DESTDIR}/sbin/sysctl in some versions of 2.2, and this link was broken if DESTDIR was set. Added a SYMLINKS macro. This works the same as LINKS, except it creates symlinks and the linked-to pathname may be relative. This is more flexible than LN_FLAGS, since it supports installing symlinks independently of hard links. Use `ln -f[s] ...' instead of `rm -f ...; ln [-s] ...' for LINKS and SYMLINKS. This is equivalent if the target is neither a directory nor a symlink to a directory. PR: 8279
OpenPOWER on IntegriCloud