* Eliminate the USE_NEW_TOOLCHAIN variable. Instead, split it into
two variables:
TOOLCHAIN_MISSING -- set to "yes" on platforms for which there is
no working in-tree toolchain (hppa, ns32k, sh5, x86_64).
EXTERNAL_TOOLCHAIN -- if defined by the user, points to the root of
an external toolchain (e.g. /usr/local/gnu). This enables the cross-build
framework even for TOOLCHAIN_MISSING platforms.
If TOOLCHAIN_MISSING is set to "yes", MKGDB, MKBFD, and MKGCC are all
unconditionally set to "no", since the bits are not there to build.
If EXTERNAL_TOOLCHAIN is set, MKGCC is unconditionally set to "no",
since the external toolchain's compiler is not in-sync with the
in-tree compiler support components (e.g. libgcc).
* Set MACHINE_CPU much earlier in bsd.own.mk, so that more tests in
that file can use it.
2002-09-18 03:18:25 +04:00
|
|
|
# $NetBSD: bsd.hostlib.mk,v 1.3 2002/09/17 23:18:29 thorpej Exp $
|
2001-11-28 07:42:49 +03:00
|
|
|
|
|
|
|
.include <bsd.init.mk>
|
|
|
|
.include <bsd.sys.mk>
|
|
|
|
|
|
|
|
##### Basic targets
|
|
|
|
.PHONY: cleanlib
|
|
|
|
clean: cleanlib
|
|
|
|
|
|
|
|
##### Default values
|
|
|
|
CFLAGS+= ${COPTS}
|
2002-01-04 01:45:23 +03:00
|
|
|
HOST_MKDEP?= CC=${HOST_CC:Q} mkdep
|
2001-11-28 07:42:49 +03:00
|
|
|
|
|
|
|
# Override these:
|
2002-01-04 01:45:23 +03:00
|
|
|
MKDEP:= ${HOST_MKDEP}
|
2001-11-28 07:42:49 +03:00
|
|
|
|
* Eliminate the USE_NEW_TOOLCHAIN variable. Instead, split it into
two variables:
TOOLCHAIN_MISSING -- set to "yes" on platforms for which there is
no working in-tree toolchain (hppa, ns32k, sh5, x86_64).
EXTERNAL_TOOLCHAIN -- if defined by the user, points to the root of
an external toolchain (e.g. /usr/local/gnu). This enables the cross-build
framework even for TOOLCHAIN_MISSING platforms.
If TOOLCHAIN_MISSING is set to "yes", MKGDB, MKBFD, and MKGCC are all
unconditionally set to "no", since the bits are not there to build.
If EXTERNAL_TOOLCHAIN is set, MKGCC is unconditionally set to "no",
since the external toolchain's compiler is not in-sync with the
in-tree compiler support components (e.g. libgcc).
* Set MACHINE_CPU much earlier in bsd.own.mk, so that more tests in
that file can use it.
2002-09-18 03:18:25 +04:00
|
|
|
.if ${TOOLCHAIN_MISSING} != "yes" || defined(EXTERNAL_TOOLCHAIN)
|
2001-11-28 07:42:49 +03:00
|
|
|
OBJHOSTMACHINE= # set
|
|
|
|
.endif
|
|
|
|
|
|
|
|
##### Build rules
|
|
|
|
.if defined(HOSTLIB)
|
|
|
|
DPSRCS+= ${SRCS:M*.[ly]:C/\..$/.c/}
|
|
|
|
CLEANFILES+= ${DPSRCS} ${YHEADER:D${SRCS:M*.y:.y=.h}}
|
|
|
|
.endif # defined(HOSTLIB)
|
|
|
|
|
|
|
|
.if !empty(SRCS:N*.h:N*.sh)
|
|
|
|
OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.lo/g}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if defined(OBJS) && !empty(OBJS)
|
|
|
|
.NOPATH: ${OBJS} ${HOSTPROG} ${SRCS:M*.[ly]:C/\..$/.c/} ${YHEADER:D${SRCS:M*.y:.y=.h}}
|
|
|
|
|
|
|
|
lib${HOSTLIB}.a: ${DPSRCS} ${OBJS} ${DPADD}
|
|
|
|
-rm -f ${.TARGET}
|
|
|
|
${HOST_AR} cq ${.TARGET} ${OBJS}
|
|
|
|
@${HOST_RANLIB} ${.TARGET}
|
|
|
|
|
|
|
|
.endif # defined(OBJS) && !empty(OBJS)
|
|
|
|
|
|
|
|
realall: lib${HOSTLIB}.a
|
|
|
|
|
|
|
|
cleanlib:
|
|
|
|
rm -f a.out [Ee]rrs mklog core *.core \
|
|
|
|
lib${HOSTLIB}.a ${OBJS} ${CLEANFILES}
|
|
|
|
|
|
|
|
beforedepend:
|
|
|
|
CFLAGS:= ${HOST_CFLAGS}
|
|
|
|
CPPFLAGS:= ${HOST_CPPFLAGS}
|
|
|
|
|
|
|
|
.if defined(SRCS)
|
|
|
|
afterdepend: .depend
|
|
|
|
@(TMP=/tmp/_depend$$$$; \
|
|
|
|
sed -e 's/^\([^\.]*\).o[ ]*:/\1.lo:/' \
|
|
|
|
< .depend > $$TMP; \
|
|
|
|
mv $$TMP .depend)
|
|
|
|
.endif
|
|
|
|
|
|
|
|
##### Pull in related .mk logic
|
|
|
|
.include <bsd.dep.mk>
|
|
|
|
.include <bsd.obj.mk>
|
|
|
|
|
|
|
|
${TARGETS}: # ensure existence
|