1 # $NetBSD: Makefile,v 1.15 2018/06/02 14:30:07 christos Exp $ 2 3 S= ${.CURDIR}/../../../.. 4 5 AFLAGS.cdboot.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:} 6 7 .include <bsd.init.mk> 8 9 STRIPFLAG= # nothing 10 11 LIBCRT0= # nothing 12 LIBCRTI= # nothing 13 LIBCRTBEGIN= # nothing 14 LIBCRTEND= # nothing 15 LIBC= # nothing 16 17 PRIMARY_LOAD_ADDRESS= 0x1000 18 SECONDARY_LOAD_ADDRESS= 0x10000 19 20 PROG= bootxx_cd9660 21 SRCS?= cdboot.S 22 23 BINDIR= /usr/mdec 24 BINMODE= 444 25 26 .PATH: ${.CURDIR}/.. 27 28 LDFLAGS+= -nostdlib -Wl,-e,start 29 CPPFLAGS+= -I. -I${.CURDIR}/../lib -I${S} 30 CPPFLAGS+= -DPRIMARY_LOAD_ADDRESS=${PRIMARY_LOAD_ADDRESS} 31 CPPFLAGS+= -DSECONDARY_LOAD_ADDRESS=${SECONDARY_LOAD_ADDRESS} 32 CPPFLAGS+= -DDISABLE_KEYPRESS 33 34 .if ${MACHINE_ARCH} == "x86_64" 35 LDFLAGS+= -Wl,-m,elf_i386 36 AFLAGS+= -m32 37 .endif 38 39 BUILDSYMLINKS+= $S/arch/i386/include machine \ 40 $S/arch/x86/include x86 41 42 DPSRCS+= machine x86 43 44 CLEANFILES+= ${PROG}.tmp 45 46 ${PROG}: ${OBJS} 47 ${_MKTARGET_LINK} 48 ${CC} -o ${PROG}.tmp ${LDFLAGS} -Wl,-Ttext,${PRIMARY_LOAD_ADDRESS} \ 49 ${OBJS} 50 @ set -- $$( ${NM} -t d ${PROG}.tmp | grep '\<free_space\>' \ 51 | ${TOOL_SED} 's/^0*//' ); \ 52 echo "#### There are $$1 free bytes in ${PROG}" 53 ${OBJCOPY} -O binary ${PROG}.tmp ${PROG} 54 rm -f ${PROG}.tmp 55 56 .include <bsd.prog.mk> 57