2a9348d6af
where it is used. c-decl has symbols that conflict with several of the cc1plus sources. GNU `ld' was changed in Dec 1999 to be more be compatable with the way that other linkers work (specifically in the Solaris linker). The 2.9.1 `ld', did the Wrong Thing in that if a library contained a common symbol that matched a definition of that symbol in another (already linked in object) it would also be linked in, even if there was no other reason to do so. This is wrong. The library should only be linked in if it contains non-common, non-weak symbols which are needed by previously linked in objects.
37 lines
905 B
Makefile
37 lines
905 B
Makefile
# $FreeBSD$
|
|
|
|
.include "../Makefile.inc"
|
|
|
|
.PATH: ../cc_tools ${GCCDIR}/objc ${GCCDIR}
|
|
|
|
PROG= cc1obj
|
|
SRCS= objc-parse.c objc-parse.h objc-parse.h objc-act.c
|
|
# Ugh, compiled twice...
|
|
SRCS+= c-decl.c c-lex.c
|
|
BINDIR= /usr/libexec
|
|
NOMAN= 1
|
|
NOSHARED=yes
|
|
|
|
CFLAGS+= -I${GCCDIR}/objc -I.
|
|
|
|
DPADD+= ${LIBCC_INT}
|
|
LDADD+= ${LIBCC_INT}
|
|
|
|
#-----------------------------------------------------------------------
|
|
# objc parser
|
|
.ORDER: objc-parse.c objc-parse.h
|
|
objc-parse.c objc-parse.h: c-parse.in
|
|
sed -e "/^ifc$$/,/^end ifc$$/d" \
|
|
-e "/^ifobjc$$/d" -e "/^end ifobjc$$/d" \
|
|
${GCCDIR}/c-parse.in > objc-parse.y
|
|
${YACC} -d -o objc-parse.c objc-parse.y
|
|
ln -sf objc-parse.h c-parse.h
|
|
mv objc-parse.y objc-parse.y.out
|
|
|
|
CLEANFILES+= objc-parse.c objc-parse.h c-parse.h \
|
|
objc-parse.y objc-parse.y.out # insurance
|
|
|
|
#-----------------------------------------------------------------------
|
|
|
|
.include <bsd.prog.mk>
|