Home | History | Annotate | Line # | Download | only in stand
      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