1#         $NetBSD: Makefile,v 1.21 2024/02/17 15:07:04 christos Exp $
2
3.include <bsd.own.mk>
4.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
5
6IMAGE=              ramdisk.fs
7IMAGESIZE=          3072k
8MAKEFS_FLAGS+=      -f 15
9
10WARNS=              1
11DBG=                -Os
12.if !empty(MACHINE_ARCH:Mearmv7*) && ${ACTIVE_CC} == "gcc"
13DBG+=               -mthumb -mthumb-interwork
14.endif
15
16CRUNCHBIN=          ramdiskbin
17LISTS=              ${.CURDIR}/list ${DISTRIBDIR}/common/list.sysinst
18MTREECONF=          ${DISTRIBDIR}/common/mtree.common
19.if empty(MACHINE_ARCH:M*eb)
20IMAGEENDIAN=        le
21.else
22IMAGEENDIAN=        be
23.endif
24MAKEDEVTARGETS=     ramdisk
25IMAGEDEPENDS=       ${CRUNCHBIN} \
26                    dot.profile \
27                    ${NETBSDSRCDIR}/etc/group ${NETBSDSRCDIR}/etc/master.passwd \
28                    ${NETBSDSRCDIR}/etc/netconfig ${DISTRIBDIR}/common/protocols \
29                    ${DISTRIBDIR}/common/services
30
31.if !empty(MACHINE_ARCH:Maarch64*)
32UBOOT_IMAGE_ARCH=   arm64
33.else
34UBOOT_IMAGE_ARCH=   arm
35.endif
36
37.if ${MKREPRO_TIMESTAMP:Uno} != "no"
38MKUBOOTIMAGEARGS=   -t "${MKREPRO_TIMESTAMP}"
39.endif
40
41# Use stubs to eliminate some large stuff from libc
42HACKSRC=  ${DISTRIBDIR}/utils/libhack
43.include  "${HACKSRC}/Makefile.inc"
44${CRUNCHBIN}:       libhack.o
45
46.include "${DISTRIBDIR}/common/Makefile.crunch"
47.include "${DISTRIBDIR}/common/Makefile.dhcpcd"
48.include "${DISTRIBDIR}/common/Makefile.makedev"
49.include "${DISTRIBDIR}/common/Makefile.image"
50
51RAMDISKDIR=${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/ramdisk
52
53release:  ${IMAGE}
54          ${INSTALL} -d -m 755 ${RAMDISKDIR}
55          ${RELEASE_INSTALL} ${IMAGE}  ${RAMDISKDIR}
56          ${TOOL_MKUBOOTIMAGE} -A ${UBOOT_IMAGE_ARCH} -C none -O linux \
57              -T ramdisk -a 0 -n "NetBSD/${MACHINE_ARCH} ramdisk" \
58              ${MKUBOOTIMAGEARGS} ${IMAGE} ${RAMDISKDIR}/${IMAGE:S/.fs/.ub/}
59
60.include <bsd.prog.mk>
61