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