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