1# $NetBSD: Makefile,v 1.14 2014/01/12 15:26:29 tsutsui Exp $ 2 3S= ${.CURDIR}/../../../.. 4 5AFLAGS.cdboot.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:} 6.if defined(__MINIX) 7# LSC: Still required by our old binutils 8AFLAGS.cdboot.S+= -Wa,--divide 9 10USE_BITCODE=no 11.endif # defined(__MINIX) 12 13PIE_CFLAGS= 14PIE_LDFLAGS= 15PIE_AFLAGS= 16 17NOMAN= # defined 18.include <bsd.own.mk> 19 20STRIPFLAG= # nothing 21 22LIBCRT0= # nothing 23LIBCRTI= # nothing 24LIBCRTBEGIN= # nothing 25LIBCRTEND= # nothing 26LIBC= # nothing 27 28PRIMARY_LOAD_ADDRESS= 0x1000 29SECONDARY_LOAD_ADDRESS= 0x10000 30 31PROG= bootxx_cd9660 32SRCS?= cdboot.S 33 34BINDIR= /usr/mdec 35BINMODE= 444 36 37.PATH: ${.CURDIR}/.. 38 39LDFLAGS+= -nostdlib -Wl,-e,start 40CPPFLAGS+= -I. -I${.CURDIR}/../lib -I${S} 41CPPFLAGS+= -DPRIMARY_LOAD_ADDRESS=${PRIMARY_LOAD_ADDRESS} 42CPPFLAGS+= -DSECONDARY_LOAD_ADDRESS=${SECONDARY_LOAD_ADDRESS} 43CPPFLAGS+= -DDISABLE_KEYPRESS 44 45.if ${MACHINE_ARCH} == "x86_64" 46LDFLAGS+= -Wl,-m,elf_i386 47AFLAGS+= -m32 48.endif 49 50BUILDSYMLINKS+= $S/arch/i386/include machine \ 51 $S/arch/x86/include x86 52 53DPSRCS+= machine x86 54 55CLEANFILES+= ${PROG}.tmp 56 57${PROG}: ${OBJS} 58 ${_MKTARGET_LINK} 59.if defined(__MINIX) 60 ${CC} -o ${PROG}.tmp ${LDFLAGS} -Wl,--section-start=.text=${PRIMARY_LOAD_ADDRESS} \ 61 ${OBJS} 62.else 63 ${CC} -o ${PROG}.tmp ${LDFLAGS} -Wl,-Ttext,${PRIMARY_LOAD_ADDRESS} \ 64 ${OBJS} 65.endif 66 @ set -- $$( ${NM} -t d ${PROG}.tmp | grep '\<free_space\>' \ 67 | ${TOOL_SED} 's/^0*//' ); \ 68 echo "#### There are $$1 free bytes in ${PROG}" 69 ${OBJCOPY} -O binary ${PROG}.tmp ${PROG} 70 rm -f ${PROG}.tmp 71 72.include <bsd.prog.mk> 73