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