Initial import from FreeBSD RELENG_4:
[dragonfly.git] / gnu / lib / csu / Makefile
1 # $FreeBSD: src/gnu/lib/csu/Makefile,v 1.1.2.8 2002/08/07 16:31:43 ru Exp $
2
3 GCCDIR= ${.CURDIR}/../../../contrib/gcc
4
5 .if ${MACHINE_ARCH} == "alpha"
6 .PATH: ${GCCDIR}/config/alpha
7 SRCS=           crtbegin.s crtend.s
8 UGLYHACK=       -x assembler
9 .else
10 .PATH: ${GCCDIR}
11 SRCS=           crtstuff.c tm.h
12 .endif
13
14 OBJS=           crtbegin.o crtend.o
15 SOBJS=          crtbegin.So crtend.So
16 CFLAGS+=        -I${GCCDIR}/config -I. -DIN_GCC \
17                 -finhibit-size-directive -fno-inline-functions \
18                 -fno-exceptions -fno-omit-frame-pointer
19 CLEANFILES+=    tm.h
20
21 CRTS_CFLAGS=    -DCRTSTUFFS_O ${PICFLAG}
22
23 all: ${OBJS} ${SOBJS}
24
25 CLEANFILES+=    ${OBJS} ${SOBJS}
26
27 .if ${MACHINE_ARCH} == "alpha"
28 crtbegin.o crtbegin.So: crtbegin.s
29 crtend.o crtend.So:     crtend.s
30 .for PART in begin end
31 CLEANFILES+=    crt${PART}.s
32 crt${PART}.s:  crt${PART}.asm
33         ln -sf ${.ALLSRC} ${.TARGET}
34 .endfor
35 .else
36 crtbegin.o crtbegin.So crtend.o crtend.So: ${SRCS}
37 .endif
38
39 crtbegin.o:
40         ${CC} ${CFLAGS} -g0 -DCRT_BEGIN \
41                 -c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}
42
43 crtbegin.So:
44         ${CC} ${CFLAGS} -g0 -DCRT_BEGIN ${CRTS_CFLAGS} \
45                 -c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}
46
47 crtend.o:
48         ${CC} ${CFLAGS} -g0 -DCRT_END \
49                 -c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}
50
51 crtend.So:
52         ${CC} ${CFLAGS} -g0 -DCRT_END ${CRTS_CFLAGS} \
53                 -c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}
54
55 CLEANFILES+=    tm.h
56 #       KEEP THIS IN SYNC with src/gnu/usr.bin/cc/cc_tools/Makefile !!
57 tm.h:
58         echo '#include "${MACHINE_ARCH}/${MACHINE_ARCH}.h"'     > ${.TARGET}
59 .if ${MACHINE_ARCH} == "i386"
60         echo '#include "${MACHINE_ARCH}/att.h"'                 >> ${.TARGET}
61 .endif
62         echo '#include <freebsd.h>'                             >> ${.TARGET}
63         echo '#include "${MACHINE_ARCH}/freebsd.h"'             >> ${.TARGET}
64 .if ${MACHINE_ARCH} == "i386"
65         echo '#include "${MACHINE_ARCH}/perform.h"'             >> ${.TARGET}
66 .endif
67
68 realinstall:
69 .for file in ${OBJS} ${SOBJS}
70         ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
71             ${file} ${DESTDIR}${LIBDIR}/${file:S/.So$/S.o/}
72 .endfor
73
74 .include <bsd.lib.mk>