1# Makefile for the kernel image. 2.include <bsd.own.mk> 3 4GEN_FILES= *.bak image kernel *.iso *.iso.gz cdfdimage rootimage src 5 6# LSC detect where were built the objects files 7PROGROOT:= .. 8.if "${MAKEOBJDIR:S,${.CURDIR},,}" != "" 9PROGROOT:= ${MAKEOBJDIR:S,releasetools,,} 10.endif 11 12# Specify the programs that are part of the system image. 13KERNEL= ${PROGROOT}/minix/kernel/kernel 14 15# PROGRAMS are in the order they should be loaded by boot 16PROGRAMS+= ${PROGROOT}/minix/servers/ds/ds 17PROGRAMS+= ${PROGROOT}/minix/servers/rs/rs 18PROGRAMS+= ${PROGROOT}/minix/servers/pm/pm 19PROGRAMS+= ${PROGROOT}/minix/servers/sched/sched 20PROGRAMS+= ${PROGROOT}/minix/servers/vfs/vfs 21PROGRAMS+= ${PROGROOT}/minix/drivers/storage/memory/memory 22PROGRAMS+= ${PROGROOT}/minix/drivers/tty/tty/tty 23PROGRAMS+= ${PROGROOT}/minix/servers/mib/mib 24PROGRAMS+= ${PROGROOT}/minix/servers/vm/vm 25PROGRAMS+= ${PROGROOT}/minix/fs/pfs/pfs 26PROGRAMS+= ${PROGROOT}/minix/fs/mfs/mfs 27PROGRAMS+= ${PROGROOT}/sbin/init/init 28 29all usage help: 30 @echo " " >&2 31 @echo "Master Makefile to create new MINIX configuration." >&2 32 @echo "Root privileges are required." >&2 33 @echo " " >&2 34 @echo "Usage:" >&2 35 @echo " make includes # Install include files" >&2 36 @echo " make depend # Generate dependency files" >&2 37 @echo " make services # Compile and install all services" >&2 38 @echo " make hdboot # Make image, and install to hard disk" >&2 39 @echo " make clean # Remove all compiler results" >&2 40 @echo " " >&2 41 @echo "To create a fresh MINIX configuration, try:" >&2 42 @echo " make clean install # new boot image" >&2 43 @echo " " >&2 44 45.gitignore: Makefile 46 echo ${GEN_FILES} | tr ' ' '\n' >.gitignore 47 48includes: 49 ${MAKE} -C ${NETBSDSRCDIR} includes 50 51depend: includes .gitignore 52 ${MAKE} -C ${NETBSDSRCDIR} depend 53 54libraries: includes 55 ${MAKE} -C ${NETBSDSRCDIR} do-lib 56 57kernel: libraries 58 ${MAKE} -C ${NETBSDSRCDIR}/minix/kernel 59 60servers: libraries 61 ${MAKE} -C ${NETBSDSRCDIR}/minix/fs all install 62 ${MAKE} -C ${NETBSDSRCDIR}/minix/net all install 63 ${MAKE} -C ${NETBSDSRCDIR}/minix/servers all install 64 65sbin: libraries 66 ${MAKE} -C ${NETBSDSRCDIR}/sbin all install 67 ${MAKE} -C ${NETBSDSRCDIR}/minix/sbin all install 68 69drivers: libraries 70 ${MAKE} -C ${NETBSDSRCDIR}/minix/drivers all install 71 72services: kernel servers drivers sbin 73 74do-hdboot: 75 @rm -rf ${DESTDIR}/boot/minix/.temp/ 76 ${INSTALL_DIR} ${DESTDIR}/boot/minix/.temp 77# mod_0 is used to make alphabetical order equal to the boot order 78 @n=0; \ 79 for i in ${PROGRAMS}; \ 80 do \ 81 n=`expr $$n + 1`; \ 82 [ "$$n" -ge 10 ] && prefix="mod" || prefix="mod0"; \ 83 newname="${DESTDIR}/boot/minix/.temp/$${prefix}$${n}_`basename $$i`"; \ 84 ${INSTALL_FILE} $$i $$newname; \ 85 echo ${INSTALL_FILE} $$i $$newname; \ 86 done 87 @${INSTALL_FILE} ${KERNEL} ${DESTDIR}/boot/minix/.temp/ 88 @if [ "${MKINSTALLBOOT:Uno}" != "no" ] ; then \ 89 ${STRIP} -s ${DESTDIR}/boot/minix/.temp/* ; \ 90 gzip ${DESTDIR}/boot/minix/.temp/mod* ; \ 91 ${HOST_SH} mkboot hdboot ${DESTDIR}; \ 92 ${HOST_SH} ../minix/commands/update_bootcfg/update_bootcfg.sh;\ 93 fi 94 95hdboot: services .WAIT do-hdboot 96 97clean: 98 ${MAKE} -C ${NETBSDSRCDIR}/lib $@ 99 ${MAKE} -C ${NETBSDSRCDIR}/minix/kernel $@ 100 ${MAKE} -C ${NETBSDSRCDIR}/minix/fs $@ 101 ${MAKE} -C ${NETBSDSRCDIR}/minix/net $@ 102 ${MAKE} -C ${NETBSDSRCDIR}/minix/servers $@ 103 ${MAKE} -C ${NETBSDSRCDIR}/minix/drivers $@ 104 ${MAKE} -C ${NETBSDSRCDIR}/sbin $@ 105 ${MAKE} -C ${NETBSDSRCDIR}/minix/sbin $@ 106 rm -rf ${GEN_FILES} 107 108# LSC: For STRIP and HOST_SH 109.include <bsd.sys.mk> 110