Commit Graph

1152 Commits

Author SHA1 Message Date
lukem
a504cd2911 bsd.dep.mk: add a dependency for *.d on ${SRCS} ${DPSRCS}. this should fix
some build problems where DPSRCS contains .h files that need to exist to
build the .d file.

document that bsd.dep.mk should be included after anything that might
update SRCS or DPSRCS so that the above works correctly, and actually
ensure this is the case.
2003-07-31 13:47:32 +00:00
lukem
6874712934 Don't need -R/usr/lib; it will be searched at the end by ld.elf_so anyway.
Noted by matt green <mrg@>
2003-07-31 06:31:38 +00:00
lukem
86173c79de Set .NOPATH for all ${DEPENDSRCS} and not just .depend.
Should fix build problem noted by Geoff Wing on current-users@
2003-07-29 07:56:23 +00:00
lukem
c6fbe6d8e0 just add various files to ${DPSRCS} instead of trying to get
a ${DEPENDSRCS} target to DTRT
2003-07-29 02:42:49 +00:00
lukem
a0df1980db add bsd.dep.mk 2003-07-29 01:26:15 +00:00
lukem
bd166fb2bd * move .includes added in rev 1.5 to outside of .if defined(RPC_SVCFILES (oops)
* move ${DEPENDSRCS}: ...  to the end of the file
2003-07-29 01:12:46 +00:00
lukem
b082f4d46d Use the more "standard" foo.d' instead of foo.SUFFIX.dep'; the rules
are simpler and would have helped prevent the previous fubar.
Don't bother using -a with ${MKDEP} to build the individual .d files.
2003-07-28 23:57:24 +00:00
lukem
5aab21f43a be consistent when adding *.y and *.l to DPSRCS 2003-07-28 23:54:24 +00:00
matt
ebfb9912e2 Make all the suffix rules with .c .c.dep (e.g not .cc .cc.cc.dep) 2003-07-28 21:33:57 +00:00
lukem
eb51573bd7 Use ${DEPENDSRCS} as a target instead of .depend, now that
<bsd.dep.mk> builds .depend from .dep files.
2003-07-28 15:25:02 +00:00
lukem
8f4575345b Simplify .*.dep generation by using suffix transforms.
This also fixes a problem in the previous where the .ALLSRC would contain
any other dependencies that .depend had, thus breaking the mkdep invocation.

Provide DEPENDSRCS which effectively contains ".depend *.dep", to be
used in other Makefiles that want to add dependencies for .depend.
2003-07-28 15:07:16 +00:00
lukem
696a21d88f Always use the "per source file".dep method to build the .depend file
(that was formerly only used for HOST_CYGWIN.).
Clean up implementation to minimise unnecessary variable munging.
Ensure all .dep files are deleted in cleandepend:.

This allows us to correctly support CPPFLAGS.<file> in make depend, and
whilst this method is marginally slower in the "no existing .depend file"
case, it should be faster in the "rebuilding depend for a subset of
source files" case.
2003-07-28 08:59:52 +00:00
lukem
cc73d5607b replace MKCXXSUPCXX(!=no) with USE_LIBSTDCXX(==no) 2003-07-28 08:53:53 +00:00
lukem
0b96e890ae Change defined(CXX_SUPCXX) to MKCXXSUPCXX != "no".
Clarify that command-line overrides of the MKxxx variables should be
done via the environment rather than make(1) command-line variable
assignment, since the latter doesn't actually work as intended.
2003-07-28 07:03:43 +00:00
matt
1072487f05 Back last commit and just allow USE_TOOLS_TOOLCHAIN be overridden in the
environment.
2003-07-28 05:54:18 +00:00
matt
66430c1aa7 Let the if define USE_TOOLS_TOOLCHAIN. 2003-07-28 05:52:29 +00:00
lukem
e71812aa94 Overhaul how the .{c,cc,cpp,cxx,C,f,m.S}.{o,po,so} rules are implemented:
only list the (often complicated) ${COMPILE.*} rules once always building
to ${.TARGET}.tmp.  Then, depending on whether *OPTS has -g, either
"mv ${.TARGET}.tmp ${.TARGET}" or "${LD} -[xX] -r ${TARGET}.tmp -o ${.TARGET}"
as appropriate.
This can prevent inconsistency that could occur between "echo ${COMPILE.*:Q}"
and "${COMPILE.*}", such as the problem in rev 1.226.  (There were still
examples of this in .cc.so and .m.so !!!)

Remove `@' from most non-echo rules, so that we can actually see what's
happening.  This helps debugging problems, such as that fixed by rev 1.226.

Always remove all possible temp files that might occur because of the above.

Be consistent about ${CC} instead of $(CC)
2003-07-28 04:08:47 +00:00
lukem
5e2ad4afcc Be consistent how "multiple include protection" is implemented. I.e,
.if !defined(_BSD_foo_MK_)
	_BSD_foo_MK_=1

	# ...

	.endif	# !defined(_BSD_foo_MK_)
2003-07-28 02:38:33 +00:00
lukem
719829bd45 Pull in <bsd.sys.mk> before supplying our own .c.o (et al) rules.
Otherwise, <bsd.sys.mk>'s implementations will be used instead.  (oops!)
2003-07-28 02:29:35 +00:00
lukem
7cacdc7670 pull in <bsd.sys.mk> for TOOL_* incase this is used with USETOOLS=never 2003-07-28 01:00:52 +00:00
lukem
24da731a9c Pull in <bsd.sys.mk> as well, for the TOOL_ variables in the
USETOOLS=never case.
Found & fixed by Anders Hjalmarsson in PR misc/22283.
2003-07-28 00:57:25 +00:00
lukem
7a4d405e11 fix typo (insert botch? :) in previous, which broke .cxx.po 2003-07-28 00:51:47 +00:00
uwe
a82a596a31 Conditions for sh5 when setting DBG to be empty were deleted (moved)
in 1.72, but brought back accidentally in 1.73.  That was harmless,
anyway, as sh5 conditions in their new place get matched earlier.
2003-07-27 19:08:03 +00:00
mrg
96d9a01177 introduce a new $CPPFLAG_ISYSTEMXX that is used to reference c++ system
includes.  for GCC3, set this to -I instead of -isystem.

XXX this should really be either not required or a -isystem-cxx, but for
now this is required to build libstdc++-v3, which otherwise complains
heavily about STL headers not being C code(!)
2003-07-27 14:49:22 +00:00
lukem
422b438b9f Ensure the first word of ${CC} exists before attempting to invoke ${CC}
to determine TARGET_ENDIANNESS.

This should fix problem reported privately by Matt Green <mrg@>.

This uses  exists(${CC:ts::C/:.*$//})  as we don't expect the command name to
contain `:'.  (The ":ts" trick is from a discussion with Simon Gerraty <sjg@>.)
2003-07-27 11:16:30 +00:00
lukem
b7ebff3038 be consistent: use ${.TARGET} for $@ and ${.PREFIX} for $* 2003-07-27 09:35:47 +00:00
lukem
30872ad6e0 be consistent about using ${.TARGET} for $@ and ${.IMPSRC} for $< 2003-07-27 09:27:18 +00:00
mrg
badf45a38b add a new bsd.own.mk variable: CXX_SUPCXX. from bsd.README:
+ CXX_SUPCXX    If defined, the support libraries needed for this C++ program
+               are set to `-lsupc++ -lm', rather than `-lstdc++ -lm'.
2003-07-26 14:58:10 +00:00
mrg
9b2531b3d6 add a new variable USE_TOOLS_TOOLCHAIN that is set to "yes" currently, but
will be set to "no" when GCC3 is used in tree.
2003-07-25 16:24:08 +00:00
lukem
2c36cee56b update MKCRYPTO comment 2003-07-23 14:53:57 +00:00
itojun
e63468d8cc split MKKERBEROS4 from MKKERBEROS. based on work by lha at stacken.kth.se
(build confirmed with both MKKERBEROS4=yes and MKKERBEROS4=no)
2003-07-23 08:01:24 +00:00
mrg
ad4196a2ab switch sparc port to xfree 4 tree. 2003-07-22 11:48:59 +00:00
lukem
29c0479a2a Add source-file-specific variables in <bsd.lib.mk> and <bsd.prog.mk>:
COPTS.<fn>	Additional flags to the compiler when creating the C objects
		for <fn>.

CPUFLAGS.<fn>	Additional flags to the compiler/assembler for <fn>.

CPPFLAGS.<fn>	Additional flags to the C pre-processor for <fn>.


(For <fn>.[ly], "<fn>.c" must be used.)
2003-07-22 06:53:21 +00:00
lukem
e87b2970a6 improve documentation for bsd.files.mk and bsd.kernobj.mk 2003-07-22 04:23:28 +00:00
lukem
b6bdfc6774 Consistently support the different C++ file extensions: .cc .cpp .cxx .C
Noted by Andrew White in PR toolchain/18246
2003-07-20 17:01:58 +00:00
lukem
0f7d7b4fad Use ltarg=stat -qf '%Y' $l to read a symlink's target (and rely upon
a non-zero exit value to indicate a missing file or non-symlink),
instead of   test -h $l && ltarg=`ls -ld $l | awk '{print $NF}'`
since the former is quicker and more concise.
2003-07-20 15:02:10 +00:00
lukem
14fc1c5b77 <bsd.init.mk> is a good idea 2003-07-20 14:53:10 +00:00
lukem
a36d55e898 LINKS: use stat -qf '%d %i' $l to read the device & inode # of the source
and target (and rely upon a non-zero exit value to indicate a missing file),
instead instead of unconditionally installing the link.

SYMLINKS: use   stat -qf '%Y' $l   to read a symlink's target (and rely upon
a non-zero exit value to indicate a missing file or non-symlink),
instead of   test -h $l && ls -ld $l | awk '{print $NF}'    , since
the former is quicker and more concise.

This resolves PR toolchain/16885 from David Laight.
2003-07-20 14:49:44 +00:00
lukem
65668567d3 add TOOL_STAT for stat(1) 2003-07-20 14:36:12 +00:00
lukem
758ffcd440 more reordering 2003-07-20 14:27:57 +00:00
lukem
e928ba19c8 move MKCATPAGES info. add MKHOSTOBJ info 2003-07-18 15:44:07 +00:00
lukem
f134f3dc38 Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was defined.
Replace defined(UNPRIVED) tests with ${MKUNPRIVED} != "no"

Add MKUPDATE; if not no has the same semantics as if UPDATE was defined.
Replace defined(UPDATE) tests with ${MKUPDATE} != "no"

Improve documentation for these and other make flags.
2003-07-18 08:26:01 +00:00
lukem
87610a53a9 whitespace cleanup 2003-07-18 04:04:03 +00:00
lukem
4d63406463 Add MKMANZ; if not set to "no", compress the manual pages at installation time.
This replaces the previous  .if defined (MANZ) behaviour, although the latter
will set MKMANZ=yes for compatibility purposes.

Don't bother with -P-bou in TOOL_ROFF_HTML; it doesn't appear to be
necessary with groff 1.19.

Fix NOHTML implementation to be consistent with other NOxxx / MKxxx
variables, and expose the user-tweakable MKHTML.
2003-07-18 02:52:51 +00:00
lukem
e8de180da8 reorder to be a bit more useable (imho) 2003-07-18 00:33:18 +00:00
lukem
7b7ea97741 Change the default TOOLDIR from
top-of-obj/tools/tools.OS-VERSION-STRING
to
	top-of-obj/tooldir.OS-VERSION-STRING

It's more consistent with the build.sh defaults for DESTDIR and
RELEASEDIR, and it's easier on "mr lazy completion fingers".
2003-07-16 13:19:49 +00:00
itojun
e26b0e0cf5 stop installing install libtelnet. build under lib/libtelnet and reference
it from usr.bin/telnet and libexec/telnetd.
(reason for separate build: compiler flags)
2003-07-16 05:42:01 +00:00
lukem
8e7657a643 Be consistent with other bsd.*.mk, and pull in <bsd.init.mk> at the
start (which pulls in <bsd.own.mk>), and <bsd.obj.mk> and <bsd.sys.mk>
at the end.  These provide the appropriate settings for TOOL_* .
2003-07-14 00:52:12 +00:00
lukem
d72803be72 Pull in <bsd.sys.mk> to provide the defaults for TOOL_* when USETOOLS=never 2003-07-14 00:50:04 +00:00
lukem
f0dafe0c0e use full path in default TOOL_MAKEWHATIS 2003-07-14 00:41:17 +00:00