Home | History | Annotate | Line # | Download | only in gzboot
      1  1.38   thorpej #	$NetBSD: Makefile.gzboot,v 1.38 2020/02/12 19:55:32 thorpej Exp $
      2   1.1   thorpej 
      3   1.1   thorpej NOMAN=  # defined
      4   1.1   thorpej 
      5  1.33  christos .include <bsd.init.mk>		# Pull in OBJDIR name rules.
      6   1.1   thorpej .include <bsd.own.mk>
      7  1.25      matt .include <bsd.klinks.mk>
      8   1.1   thorpej 
      9   1.1   thorpej EVBARM_STAND=	${S}/arch/evbarm/stand
     10   1.1   thorpej 
     11   1.1   thorpej BASE=	gzboot_${PLATFORM}_${RELOC}
     12   1.7   thorpej PROGSYM=${BASE}.sym
     13   1.7   thorpej PROG=	${BASE}.bin
     14   1.1   thorpej WARNS=	1
     15   1.1   thorpej 
     16   1.1   thorpej NEWVERSWHAT=	"Gzip Boot"
     17   1.1   thorpej BINMODE=644
     18   1.1   thorpej 
     19   1.1   thorpej DBG=	-Os
     20   1.1   thorpej 
     21   1.1   thorpej # XXX SHOULD NOT NEED TO DEFINE THESE!
     22   1.1   thorpej LIBCRT0=
     23  1.30   tsutsui LIBCRTI=
     24   1.1   thorpej LIBC=
     25   1.1   thorpej LIBCRTBEGIN= 
     26   1.1   thorpej LIBCRTEND=      
     27  1.31    martin STRIPFLAG=
     28   1.1   thorpej 
     29   1.1   thorpej .PATH: ${EVBARM_STAND}/gzboot
     30   1.1   thorpej .PATH: ${EVBARM_STAND}/board
     31   1.1   thorpej 
     32   1.4   thorpej SRCS+=	gzboot.c image.S
     33   1.1   thorpej 
     34   1.1   thorpej STARTFILE= srtbegin.o
     35   1.1   thorpej 
     36   1.1   thorpej CPPFLAGS+= -nostdinc -I. -I${EVBARM_STAND}/gzboot -I${EVBARM_STAND}/board
     37   1.1   thorpej CPPFLAGS+= -I${S} -I${S}/arch -I${S}/lib/libsa
     38  1.15   tsutsui CPPFLAGS+= -I${S}/../common/dist/zlib
     39  1.29     joerg CPPFLAGS+= ${ARM_APCS_FLAGS}
     40   1.3   thorpej 
     41   1.1   thorpej CPPFLAGS+= -D_STANDALONE
     42   1.5   thorpej 
     43   1.5   thorpej # Specify the heap size (used by board mem_init() routines)
     44  1.14        he CPPFLAGS+= -DBOARD_HEAP_SIZE=1048576		# 1M
     45   1.3   thorpej 
     46   1.3   thorpej # libsa options
     47   1.1   thorpej CPPFLAGS+= -DHEAP_VARIABLE
     48   1.3   thorpej 
     49   1.3   thorpej CPPFLAGS+= -DRELOC=${RELOC}
     50   1.3   thorpej CPPFLAGS+= -DMAXIMAGESIZE=${MAXIMAGESIZE}
     51   1.3   thorpej CPPFLAGS+= -DLOADADDR=${LOADADDR}
     52  1.38   thorpej .if defined(GZSRCADDR)
     53  1.38   thorpej CPPFLAGS+= -DGZSRCADDR=${GZSRCADDR}
     54  1.38   thorpej .endif
     55   1.1   thorpej 
     56   1.1   thorpej COPTS+=	-ffreestanding
     57  1.20   khorben COPTS+=	-fno-stack-protector
     58  1.23      matt COPTS+=	-fno-unwind-tables
     59  1.15   tsutsui CWARNFLAGS+= -Werror
     60  1.15   tsutsui CWARNFLAGS+= -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
     61   1.1   thorpej 
     62  1.36  christos CLEANFILES+= ${STARTFILE} ${BASE}.list
     63   1.8   thorpej CLEANFILES+= ${PROGSYM}
     64   1.1   thorpej 
     65   1.1   thorpej ### find out what to use for libkern
     66   1.1   thorpej KERN_AS=	library
     67   1.1   thorpej .include "${S}/lib/libkern/Makefile.inc"
     68   1.1   thorpej LIBKERN=	${KERNLIB}
     69   1.1   thorpej 
     70   1.1   thorpej ### find out what to use for libz
     71   1.1   thorpej Z_AS=		library
     72   1.1   thorpej .include "${S}/lib/libz/Makefile.inc"
     73   1.1   thorpej LIBZ=		${ZLIB}
     74   1.1   thorpej 
     75   1.1   thorpej ### find out what to use for libsa
     76   1.1   thorpej SA_AS=		library
     77   1.1   thorpej .include "${S}/lib/libsa/Makefile.inc"
     78   1.1   thorpej LIBSA=		${SALIB}
     79   1.1   thorpej 
     80  1.16  dholland cleandir distclean: .WAIT cleanlibdir
     81   1.1   thorpej 
     82   1.1   thorpej cleanlibdir:
     83  1.10       jmc 	-rm -rf lib
     84   1.1   thorpej 
     85  1.34     joerg DIRECT_LDFLAGS= -M -T ${LDSCRIPT} --fix-v4bx
     86   1.1   thorpej 
     87   1.1   thorpej LIBLIST=${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN} ${LIBSA}
     88   1.1   thorpej 
     89  1.36  christos .include "${S}/conf/newvers_stand.mk"
     90   1.1   thorpej 
     91   1.7   thorpej ${PROG}: ${PROGSYM}
     92   1.7   thorpej 	${OBJCOPY} -O binary ${PROGSYM} ${.TARGET}
     93   1.8   thorpej 
     94   1.8   thorpej # Prevent the normal install target from doing anything.
     95   1.8   thorpej proginstall::
     96   1.8   thorpej 
     97   1.8   thorpej # Install the raw binary or the symbol version, based on whether or
     98   1.8   thorpej # not the resulting gzboot needs to be mdsetimage'd.
     99   1.8   thorpej .if ${MAXIMAGESIZE} == "0"
    100   1.8   thorpej FILES=	${PROG}
    101   1.8   thorpej .else
    102   1.8   thorpej FILES=	${PROGSYM}
    103   1.8   thorpej .endif
    104   1.1   thorpej 
    105   1.1   thorpej .include <bsd.prog.mk>
    106   1.7   thorpej 
    107   1.7   thorpej ${PROGSYM}: ${STARTFILE} ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
    108  1.18      matt 	${_MKTARGET_LINK}
    109  1.34     joerg 	${LD} -o ${.TARGET} ${DIRECT_LDFLAGS} ${STARTFILE} \
    110   1.7   thorpej 	    ${OBJS} ${LIBLIST} > ${BASE}.list
    111