Makefile.inc revision 1.23 1 # $NetBSD: Makefile.inc,v 1.23 2014/01/04 20:19:33 christos 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 RELOC?= 240000
18 DEFS?= -Dsun3 -D_STANDALONE -D__daddr_t=int32_t
19 INCL?= -I. -I${.CURDIR} -I${.CURDIR}/../libsa -I${S}/lib/libsa -I${S}
20
21 .if defined(HAVE_GCC) && ${HAVE_GCC} >= 48
22 # gcc 4.8 convers -mc68000 to -mcpu=68000 and that breaks gas
23 # which works for -march=68010 but breaks for -mcpu=68010
24 CPUFLAGS= -march=68010
25 .else
26 CPUFLAGS= -mc68000 -Wa,-mc68010
27 .endif
28 COPTS= -Os -fno-defer-pop -ffreestanding -fno-unwind-tables
29 CFLAGS= -msoft-float
30 CPPFLAGS= ${DEFS} ${DEBUG} ${INCL}
31
32 SRTOBJ= ${LIBSA}/SRT0.o ${LIBSA}/SRT1.o
33 SRTLIB= ${LIBSA}/lib/sa/libsa.a ${LIBSA}/lib/kern/libkern.a
34
35 CLEANFILES+= ${SA_PROG} ${SA_PROG}.bin
36
37 # Make a copy of the executable with its ELF headers removed.
38 ${SA_PROG}.bin : ${SA_PROG}
39 ${OBJCOPY} --output-target=binary ${SA_PROG} $@
40
41 ${SA_PROG} : ${OBJS} ${DPADD} ${SRTLIB}
42 ${LD} -N -Ttext ${RELOC} -e start ${SA_LDFLAGS} -o $@ \
43 ${SRTOBJ} ${OBJS} ${LDADD} ${SRTLIB}
44 @${SIZE} $@
45
46 .if !target(proginstall)
47 realall: ${SA_PROG} ${SA_PROG}.bin
48 proginstall: ${SA_PROG}.bin
49 ${INSTALL_FILE} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
50 ${SA_PROG}.bin ${DESTDIR}${MDEC_DIR}/${SA_PROG}
51 .endif
52
53 .endif # defined(SA_PROG)
54
55 .include <bsd.klinks.mk>
56
57 # XXX SHOULD NOT NEED TO DEFINE THESE!
58 LIBCRT0=
59 LIBC=
60 LIBCRTBEGIN=
61 LIBCRTEND=
62