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