Makefile.inc revision 1.27 1 # $NetBSD: Makefile.inc,v 1.27 2016/09/03 15:18:21 christos Exp $
2
3 NOSSP= # defined
4 NOPIE= # defined
5 # Must have S=/usr/src/sys (or equivalent)
6 # But note: this is w.r.t. a subdirectory
7 S= ${.CURDIR}/../../../..
8
9 .if defined(SA_PROG)
10
11 .include <bsd.own.mk>
12
13 WARNS?= 2
14
15 LIBSA!=cd ${.CURDIR}/../libsa && ${PRINTOBJDIR}
16
17 MDEC_DIR?=/usr/mdec
18
19 .if ${MACHINE} == "sun3"
20 RELOC?= 280000
21 .else
22 RELOC?= 240000
23 .endif
24 DEFS?= -Dsun3 -D_STANDALONE -D__daddr_t=int32_t
25 INCL?= -I. -I${.CURDIR} -I${.CURDIR}/../libsa -I${S}/lib/libsa -I${S}
26
27 .if defined(HAVE_GCC)
28 # gcc 4.8 convers -mc68000 to -mcpu=68000 and that breaks gas
29 # which works for -march=68010 but breaks for -mcpu=68010
30 CPUFLAGS= -march=68010
31 .else
32 CPUFLAGS= -mc68000 -Wa,-mc68010
33 .endif
34 COPTS= -Os -fno-defer-pop -ffreestanding -fno-unwind-tables
35 CFLAGS= -msoft-float
36 CPPFLAGS= ${DEFS} ${DEBUG} ${INCL}
37
38 SRTOBJ= ${LIBSA}/SRT0.o ${LIBSA}/SRT1.o
39 SRTLIB= ${LIBSA}/lib/sa/libsa.a ${LIBSA}/lib/kern/libkern.a
40
41 CLEANFILES+= ${SA_PROG} ${SA_PROG}.bin
42
43 # Make a copy of the executable with its ELF headers removed.
44 ${SA_PROG}.bin : ${SA_PROG}
45 ${OBJCOPY} --output-target=binary ${SA_PROG} $@
46
47 ${SA_PROG} : ${OBJS} ${DPADD} ${SRTLIB}
48 ${LD} -N -Ttext ${RELOC} -e start ${SA_LDFLAGS} -o $@ \
49 ${SRTOBJ} ${OBJS} ${LDADD} ${SRTLIB}
50 @${SIZE} $@
51
52 .if !target(proginstall)
53 realall: ${SA_PROG} ${SA_PROG}.bin
54 proginstall: ${SA_PROG}.bin
55 ${INSTALL_FILE} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
56 ${SA_PROG}.bin ${DESTDIR}${MDEC_DIR}/${SA_PROG}
57 .endif
58
59 .endif # defined(SA_PROG)
60
61 .include <bsd.klinks.mk>
62
63 # XXX SHOULD NOT NEED TO DEFINE THESE!
64 LIBCRT0=
65 LIBCRTI=
66 LIBC=
67 LIBCRTBEGIN=
68 LIBCRTEND=
69