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