Makefile revision 18441
1#
2# $Id: Makefile,v 1.11 1996/09/19 15:53:44 peter Exp $
3#
4
5LIB=	gcc
6
7# Install libgcc_pic.a, since ld.so uses it.
8INSTALL_PIC_ARCHIVE=  yes
9
10#
11# XXX This is a hack, but it seems to work.  libgcc1.a is supposed to be
12# compiled by the native compiler, and libgcc2.a is meant to be compiled
13# by *this* version of gcc.
14#
15# Normally, this does not make any difference, since we only have gcc, but
16# when bootstrapping from gcc-2.6.3, we have to use the freshly built 2.7.2
17# compiler for some of the libgcc2.c __attribute__ stuff.
18#
19.if exists(${.OBJDIR}/../cc)
20XCC=	${.OBJDIR}/../cc/cc
21.else
22XCC=	${.CURDIR}/../cc/cc
23.endif
24
25.if exists(${.OBJDIR}/../cc1)
26XCC+=	-B${.OBJDIR}/../cc1/
27.else
28XCC+=	-B${.CURDIR}/../cc1/
29.endif
30
31.if exists(${.OBJDIR}/../cpp)
32XCC+=	-B${.OBJDIR}/../cpp/
33.else
34XCC+=	-B${.CURDIR}/../cpp/
35.endif
36
37
38LIB1OBJS=       _mulsi3.o _umodsi3.o _modsi3.o _lshrsi3.o _lshlsi3.o \
39		_ashrsi3.o _ashlsi3.o _divdf3.o _muldf3.o _negdf2.o _adddf3.o \
40		_subdf3.o _fixsfsi.o _floatsidf.o _floatsisf.o _truncdfsf2.o \
41		_extendsfdf2.o _addsf3.o _negsf2.o _subsf3.o _mulsf3.o \
42		_divsf3.o _eqdf2.o _nedf2.o _gtdf2.o _gedf2.o _ltdf2.o \
43		_ledf2.o _eqsf2.o _nesf2.o _gtsf2.o _gesf2.o _ltsf2.o \
44		_lesf2.o
45LIB2OBJS=	_ffsdi2.o _udiv_w_sdiv.o _udivmoddi4.o _fixunssfsi.o \
46		_fixxfdi.o _fixunsxfdi.o _floatdixf.o _fixunsxfsi.o \
47		__gcc_bcmp.o _varargs.o _eprintf.o _op_new.o _op_vnew.o \
48		_new_handler.o _op_delete.o _op_vdel.o _bb.o _shtab.o \
49		_clear_cache.o __main.o _exit.o _ctors.o _eh.o _pure.o
50
51OBJS= ${LIB1OBJS} ${LIB2OBJS}
52LIB1SOBJS=${LIB1OBJS:.o=.so}
53LIB2SOBJS=${LIB2OBJS:.o=.so}
54P1OBJS=${LIB1OBJS:.o=.po}
55P2OBJS=${LIB2OBJS:.o=.po}
56
57${LIB1OBJS}: libgcc1.c
58	${CC} -c ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${GCCDIR}/libgcc1.c
59	@${LD} -O ${.TARGET} -x -r ${.TARGET}
60
61${LIB2OBJS}: libgcc2.c
62	${XCC} -c ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${GCCDIR}/libgcc2.c
63	@${LD} -O ${.TARGET} -x -r ${.TARGET}
64
65.if !defined(NOPIC)
66${LIB1SOBJS}: libgcc1.c
67	${CC} -c -fpic ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${GCCDIR}/libgcc1.c
68	@${LD} -O ${.TARGET} -x -r ${.TARGET}
69
70${LIB2SOBJS}: libgcc2.c
71	${XCC} -c -fpic ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${GCCDIR}/libgcc2.c
72	@${LD} -O ${.TARGET} -x -r ${.TARGET}
73.endif
74
75.if !defined(NOPROFILE)
76${P1OBJS}: libgcc1.c
77	${CC} -c -p ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${GCCDIR}/libgcc1.c
78	@${LD} -O ${.TARGET} -X -r ${.TARGET}
79
80${P2OBJS}: libgcc2.c
81	${XCC} -c -p ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${GCCDIR}/libgcc2.c
82	@${LD} -O ${.TARGET} -X -r ${.TARGET}
83.endif
84
85.include <bsd.lib.mk>
86