Makefile revision 1.7
1#	$NetBSD: Makefile,v 1.7 2013/02/06 07:19:19 matt Exp $
2
3S=		${.CURDIR}/../../../..
4
5PROG=		bootmini2440
6SRCS=		entry.S main.c devopen.c netif.c dev_net.c dm9000.c dev_sdmmc.c
7SRCS+=		s3csdi.c vers.c
8
9.include <bsd.own.mk>
10
11CLEANFILES+=	vers.c ${PROG}.elf
12CFLAGS+=	-Wall -Wno-main -ffreestanding
13CPPFLAGS+=	-D_STANDALONE -DSUPPORT_DHCP -DLIBSA_PRINTF_WIDTH_SUPPORT
14CPPFLAGS+=	-DDM9000MAC="0x08,0x08,0x11,0x18,0x12,0x27" 
15CPPFLAGS+=	-DDEFAULT_BOOTFILE="ld0a:netbsd;net:"
16CPPFLAGS+=	-nostdinc -I. -I${.OBJDIR} -I${S} -I${S}/arch
17CPPFLAGS+=	-march=armv4 -mabi=apcs-gnu -mfloat-abi=soft
18DBG=		
19
20LIBCRT0=	# nothing
21LIBCRTBEGIN=	# nothing
22LIBCRTEND=	# nothing
23LIBC=		# nothing
24
25MAN=		# no manual page
26NOMAN=		# defined
27STRIPFLAG=
28BINMODE=	444
29
30RELOC=		0x30A00000
31ENTRY=		_start
32
33.if !make(obj) && !make(clean) && !make(cleandir)
34.BEGIN:
35	@[ -h machine ] || ln -s ${S}/arch/evbarm/include machine
36	@[ -h arm ] || ln -s ${S}/arch/arm/include arm
37.NOPATH: machine arm
38.endif
39CLEANFILES+= machine arm
40
41### find out what to use for libkern
42KERN_AS=	library
43.include "${S}/lib/libkern/Makefile.inc"
44LIBKERN=	${KERNLIB}
45
46### find out what to use for libz
47Z_AS=		library
48.include "${S}/lib/libz/Makefile.inc"
49LIBZ=		${ZLIB}
50
51### find out what to use for libsa
52SA_AS=		library
53SAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE_LOADFILE=yes
54.include "${S}/lib/libsa/Makefile.inc"
55LIBSA=		${SALIB}
56
57.PHONY: vers.c
58vers.c: version
59	${HOST_SH} ${S}/conf/newvers_stand.sh -K \
60	    ${${MKREPRO} == "yes" :?:-D} ${.CURDIR}/version "evbarm"
61
62${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
63	${_MKTARGET_LINK}
64	${LD} -N -Ttext ${RELOC} -Bstatic -e ${ENTRY} -o ${.TARGET}.elf \
65	    ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
66	${OBJCOPY} -S -O binary ${.TARGET}.elf ${.TARGET}
67
68.include <bsd.prog.mk>
69