summaryrefslogtreecommitdiff
path: root/gnu/lib/libgcc4/libgcc/Makefile
blob: 1f88ceb02a0fb55e37d1b5014e309447733d4646 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#	$NetBSD: Makefile,v 1.12 2011/10/17 14:20:54 chs Exp $

REQUIRETOOLS=	yes
NOLINT=		# defined
NOPROFILE=	# defined

LIB=		gcc

.include <bsd.own.mk>

.if ${MKGCC} != "no"

.cc: # disable .cc->NULL transform

.if !defined(MKNATIVE_LIBGCC_NEW)

SRCS+=		${LIB2FUNCS} ${LIB2FUNCS_ST} ${LIB2DIVMOD} \
		${G_LIB2ADD:T:S/.asm/.S/} ${LIB1ASMFUNCS}
.if ${MKPIC} == "no"
SRCS+=		${LIB2_EH}
.endif

.else	# defined(MKNATIVE_LIBGCC_NEW)

.include "../Makefile.srcs"

# New style.
TMPLSRCS=	${TMPLSRCS.libgcc.a}
TMPLFPSRCS=	${TMPLFPSRCS.libgcc.a}
TMPLASMSRCS=	${TMPLASMSRCS.libgcc.a}
SRCS=		${SRCS.libgcc.a}

.include "../Makefile.wrapper"

.endif	# defined(MKNATIVE_LIBGCC_NEW)

.include <bsd.lib.mk>

.if !defined(MKNATIVE_LIBGCC_NEW)

CLEANFILES+=	${SOBJS:=.tmp1} ${SOBJS:=.tmp2}

.c.pico:
	${_MKTARGET_COMPILE}
	${COMPILE.c} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}.tmp1
	${NM} -pg ${.TARGET}.tmp1 | \
	    ${TOOL_AWK} 'NF == 3 { print "\t.hidden", $$3 }' | \
	    ${CC} ${COPTS} -Wl,-x -r -nostdinc -nostdlib ${CPUFLAGS} -o ${.TARGET}.tmp2 ${.TARGET}.tmp1 -xassembler -
.if defined(COPTS) && !empty(COPTS:M*-g*)
	mv ${.TARGET}.tmp2 ${.TARGET}
.else
	${LD} -x -r ${.TARGET}.tmp2 -o ${.TARGET}
	rm -f ${.TARGET}.tmp2
.endif
	rm -f ${.TARGET}.tmp1

.S.pico .s.pico:
	${_MKTARGET_COMPILE}
	${COMPILE.S} ${CAPICFLAGS} ${CFLAGS:M-[ID]*} ${.IMPSRC} -o ${.TARGET}.tmp1
	${NM} -pg ${.TARGET}.tmp1 | \
	    ${TOOL_AWK} 'NF == 3 { print "\t.hidden", $$3 }' | \
	    ${CC} -Wl,-x -r -nostdinc -nostdlib -o ${.TARGET}.tmp2 ${.TARGET}.tmp1 -xassembler -
.if defined(COPTS) && !empty(COPTS:M*-g*)
	mv ${.TARGET}.tmp2 ${.TARGET}
.else
	${LD} -x -r ${.TARGET}.tmp2 -o ${.TARGET}
	rm -f ${.TARGET}.tmp2
.endif
	rm -f ${.TARGET}.tmp1

.endif	# !defined(MKNATIVE_LIBGCC_NEW)

.else
.include <bsd.prog.mk> # do nothing
.endif