Home | History | Annotate | Line # | Download | only in boot
Makefile revision 1.22.12.1
      1  1.22.12.1  pgoyette #	$NetBSD: Makefile,v 1.22.12.1 2019/01/18 08:50:17 pgoyette Exp $
      2        1.1   tsutsui 
      3        1.4   tsutsui WARNS		?= 1
      4        1.1   tsutsui NOMAN		=
      5       1.20  christos NOPIE		=
      6        1.1   tsutsui 
      7        1.1   tsutsui BINMODE		= 444
      8        1.1   tsutsui 
      9        1.1   tsutsui S		= ${.CURDIR}/../../../..
     10        1.1   tsutsui COMMON		= ${.CURDIR}/../common
     11        1.1   tsutsui 
     12        1.1   tsutsui LIBSADIR	= ${S}/lib/libsa
     13        1.1   tsutsui SYSVBFSDIR	= ${S}/fs/sysvbfs
     14        1.1   tsutsui EWS4800MIPSDIR	= ${.CURDIR}/../../ews4800mips
     15        1.1   tsutsui DEVDIR		= ${.CURDIR}/../../dev
     16        1.1   tsutsui 
     17        1.9   tsutsui # XXX SHOULD NOT NEED TO DEFINE THESE!
     18        1.9   tsutsui LIBCRT0=
     19       1.16   tsutsui LIBCRTI=
     20        1.9   tsutsui LIBC=
     21        1.9   tsutsui LIBCRTBEGIN=
     22        1.9   tsutsui LIBCRTEND=
     23        1.9   tsutsui 
     24        1.1   tsutsui .PATH:		${COMMON} ${LIBSADIR} ${SYSVBFSDIR}	\
     25        1.1   tsutsui 		${EWS4800MIPSDIR} ${SBDDIR} ${DEVDIR}
     26        1.1   tsutsui 
     27        1.1   tsutsui COFFHDRFIX	= ${.OBJDIR}/coffhdrfix
     28        1.1   tsutsui 
     29        1.1   tsutsui PROG		= boot
     30        1.1   tsutsui BOOT_KERNEL	= boot_kernel
     31        1.3   tsutsui FILES		+= ${PROG}.coff ${BOOT_KERNEL}.gz # XXX hack to install these
     32        1.1   tsutsui SRCS		= start.S boot.c prompt.c delay.c cmd.c loader.c
     33        1.1   tsutsui SRCS		+= bfs_subr.o disk.c diskutil.c
     34        1.1   tsutsui SRCS		+= devopen.c datafs.c bootfs.c ustarfs.c
     35        1.1   tsutsui SRCS		+= lance.c ether_if.c
     36        1.1   tsutsui SRCS		+= device_test.c cop0.c mem.c
     37        1.1   tsutsui SRCS		+= boot_device.c floppy_2d.c floppy_2hd_ibmpc.c
     38        1.1   tsutsui #SRCS		+= floppy_2hc.c
     39        1.1   tsutsui SRCS		+= console.c cons_rom.c cons_fb.c cons_zskbd.c cons_zs.c
     40        1.1   tsutsui BINKERNEL_C	= ${COMMON}/binkernel.c
     41       1.21  christos BINKERNEL_SIZE	= '2 * 1024 * 1024 + 32 * 1024'
     42        1.1   tsutsui BINKERNEL_O	= binkernel.o
     43        1.1   tsutsui BINKERNEL_DUMMY_O= binkernel_dummy.o
     44        1.1   tsutsui 
     45        1.1   tsutsui # ${S}/lib/libsa
     46        1.1   tsutsui SRCS		+= dev_net.c
     47        1.1   tsutsui # ${S}/fs/sysvbfs
     48        1.1   tsutsui SRCS		+= bfs.c
     49        1.1   tsutsui # ../../dev
     50        1.1   tsutsui SRCS		+= ga.c
     51        1.1   tsutsui # ../../ews4800mips
     52        1.1   tsutsui SRCS		+= pdinfo.c vtoc.c
     53        1.1   tsutsui 
     54       1.22  christos .include "${S}/conf/newvers_stand.mk"
     55        1.1   tsutsui 
     56        1.1   tsutsui TEXTADDR	= 0xa0a00000
     57        1.5     lukem LINKFLAGS	= -T ${S}/arch/mips/conf/stand.ldscript -Ttext ${TEXTADDR} \
     58        1.1   tsutsui 		  -e start -N
     59        1.1   tsutsui COFFLDFLAGS	= -T ${COMMON}/coffboot.ldscript -N
     60        1.1   tsutsui 
     61        1.1   tsutsui MIPSFLAGS	= -mips1 -G 0 -mno-abicalls
     62        1.1   tsutsui DEBUGFLAGS	= -Wall -Werror
     63        1.1   tsutsui DEBUGFLAGS	+= -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
     64        1.1   tsutsui DEBUGFLAGS	+= -Wno-format-zero-length -Wno-sign-compare
     65        1.1   tsutsui OPTFLAGS	= -Os -mmemcpy
     66        1.1   tsutsui FLAGS		= ${MIPSFLAGS} ${DEBUGFLAGS} ${OPTFLAGS}
     67        1.1   tsutsui AFLAGS		= -xassembler-with-cpp -D_LOCORE ${FLAGS}
     68        1.1   tsutsui CFLAGS		= ${FLAGS} -ffreestanding
     69        1.1   tsutsui 
     70        1.1   tsutsui CPPFLAGS	+= -D_STANDALONE -DSUPPORT_BOOTP
     71        1.1   tsutsui CPPFLAGS	+= -nostdinc -I${.OBJDIR} -I${.CURDIR} -I${COMMON} -I${S}
     72        1.1   tsutsui CPPFLAGS	+= -D__daddr_t=int32_t
     73        1.2   tsutsui #CPPFLAGS	+= -DBOOTP_DEBUG -DNETIF_DEBUG -DETHER_DEBUG -DNFS_DEBUG
     74        1.2   tsutsui #CPPFLAGS	+= -DRPC_DEBUG -DRARP_DEBUG -DNET_DEBUG -DDEBUG -DPARANOID
     75        1.1   tsutsui 
     76        1.1   tsutsui CLEANFILES	+= ${BINKERNEL_DUMMY_O} ${BINKERNEL_O}
     77        1.3   tsutsui CLEANFILES	+= ${PROG} ${PROG}.elf ${PROG}.coff ${PROG}.tmp ${PROG}.dis
     78        1.1   tsutsui CLEANFILES	+= ${COFFHDRFIX}
     79        1.3   tsutsui CLEANFILES	+= ${BOOT_KERNEL} ${BOOT_KERNEL}.elf ${BOOT_KERNEL}.tmp
     80        1.1   tsutsui CLEANFILES	+= ${BOOT_KERNEL}.gz ${BOOT_KERNEL}.gz.tmp
     81        1.1   tsutsui 
     82        1.1   tsutsui .include "${S}/lib/libkern/Makefile.inc"
     83        1.1   tsutsui LIBKERN=	${KERNLIB}
     84        1.1   tsutsui 
     85        1.1   tsutsui .include "${S}/lib/libz/Makefile.inc"
     86        1.1   tsutsui LIBZ=		${ZLIB}
     87        1.1   tsutsui 
     88       1.15   tsutsui CPPFLAGS+= -DLIBSA_ENABLE_LS_OP
     89       1.15   tsutsui SAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE_LOADFILE=yes SA_ENABLE_LS_OP=yes
     90        1.1   tsutsui .include "${S}/lib/libsa/Makefile.inc"
     91        1.1   tsutsui LIBSA=		${SALIB}
     92        1.1   tsutsui 
     93        1.1   tsutsui LIBS		= ${LIBSA} ${LIBZ} ${LIBKERN}
     94        1.1   tsutsui 
     95        1.1   tsutsui # fixup GNU binutils file offset error.
     96        1.1   tsutsui coffhdrfix:	${COMMON}/coffhdrfix.c
     97        1.1   tsutsui 	${HOST_CC} -o ${COFFHDRFIX} ${COMMON}/coffhdrfix.c
     98        1.1   tsutsui 
     99       1.18   tsutsui cleandir distclean: .WAIT cleanlibdir
    100        1.1   tsutsui 
    101        1.1   tsutsui cleanlibdir:
    102        1.1   tsutsui 	-rm -rf lib
    103        1.1   tsutsui 
    104        1.1   tsutsui ${BINKERNEL_DUMMY_O}: ${BINKERNEL_C}
    105        1.6     lukem 	${_MKTARGET_COMPILE}
    106        1.1   tsutsui 	${COMPILE.c} -DKERNEL_SIZE=0 ${BINKERNEL_C} -o ${.TARGET}
    107        1.1   tsutsui 
    108        1.1   tsutsui ${BINKERNEL_O}: ${BINKERNEL_C}
    109        1.6     lukem 	${_MKTARGET_COMPILE}
    110        1.2   tsutsui 	${COMPILE.c} -DKERNEL_SIZE=${BINKERNEL_SIZE} ${BINKERNEL_C} \
    111        1.2   tsutsui 	    -o ${.TARGET}
    112        1.1   tsutsui 
    113        1.3   tsutsui all realall: ${PROG}.coff ${BOOT_KERNEL}.gz
    114        1.1   tsutsui 
    115        1.1   tsutsui ${PROG}: ${BINKERNEL_DUMMY_O} ${OBJS} ${LIBS}
    116        1.6     lukem 	${_MKTARGET_LINK}
    117        1.5     lukem 	${LD} ${LINKFLAGS} -S -o ${PROG}.elf ${OBJS} ${LIBS} \
    118        1.5     lukem 	    ${BINKERNEL_DUMMY_O}
    119        1.1   tsutsui 	${OBJDUMP} -h ${PROG}.elf
    120        1.3   tsutsui #	${OBJDUMP} -m mips:4000 -d ${PROG}.elf > ${PROG}.dis
    121        1.1   tsutsui 	mv ${PROG}.elf ${PROG}
    122        1.1   tsutsui 	ls -al ${PROG}
    123        1.1   tsutsui 
    124        1.9   tsutsui .include <bsd.klinks.mk>
    125        1.2   tsutsui .include <bsd.prog.mk>
    126        1.2   tsutsui 
    127        1.3   tsutsui ${PROG}.coff:	${PROG}
    128        1.6     lukem 	${_MKTARGET_CREATE}
    129  1.22.12.1  pgoyette 	${MIPS_ELF2ECOFF} ${PROG} ${.TARGET}.tmp
    130        1.3   tsutsui 	mv ${.TARGET}.tmp ${.TARGET}
    131        1.3   tsutsui 	
    132        1.3   tsutsui ${BOOT_KERNEL}.gz: ${BINKERNEL_O} ${OBJS} ${LIBS}
    133        1.6     lukem 	${_MKTARGET_LINK}
    134        1.5     lukem 	${LD} ${LINKFLAGS} -o ${BOOT_KERNEL}.elf ${OBJS} ${LIBS} \
    135        1.1   tsutsui 	    ${BINKERNEL_O}
    136        1.3   tsutsui 	mv ${BOOT_KERNEL}.elf ${BOOT_KERNEL}
    137        1.3   tsutsui 	${OBJDUMP} -h ${BOOT_KERNEL}
    138       1.19       apb 	${TOOL_GZIP_N} -9c ${BOOT_KERNEL} > ${.TARGET}.tmp
    139        1.1   tsutsui 	mv ${.TARGET}.tmp ${.TARGET}
    140        1.3   tsutsui 	ls -al ${.TARGET}
    141       1.13       mrg 
    142       1.13       mrg COPTS.ustarfs.c+=	-fno-strict-aliasing
    143