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/fs/mfs/mfs 24PROGRAMS+= ${PROGROOT}/minix/servers/vm/vm 25PROGRAMS+= ${PROGROOT}/minix/fs/pfs/pfs 26PROGRAMS+= ${PROGROOT}/sbin/init/init 27 28all usage help: 29 @echo " " >&2 30 @echo "Master Makefile to create new MINIX configuration." >&2 31 @echo "Root privileges are required." >&2 32 @echo " " >&2 33 @echo "Usage:" >&2 34 @echo " make includes # Install include files" >&2 35 @echo " make depend # Generate dependency files" >&2 36 @echo " make services # Compile and install all services" >&2 37 @echo " make hdboot # Make image, and install to hard disk" >&2 38 @echo " make clean # Remove all compiler results" >&2 39 @echo " " >&2 40 @echo "To create a fresh MINIX configuration, try:" >&2 41 @echo " make clean install # new boot image" >&2 42 @echo " " >&2 43 44.gitignore: Makefile 45 echo ${GEN_FILES} | tr ' ' '\n' >.gitignore 46 47includes: 48 ${MAKE} -C ${NETBSDSRCDIR} includes 49 50depend: includes .gitignore 51 ${MAKE} -C ${NETBSDSRCDIR} depend 52 53libraries: includes 54 ${MAKE} -C ${NETBSDSRCDIR} do-lib 55 56kernel: libraries 57 ${MAKE} -C ${NETBSDSRCDIR}/minix/kernel 58 59servers: libraries 60 ${MAKE} -C ${NETBSDSRCDIR}/minix/fs all install 61 ${MAKE} -C ${NETBSDSRCDIR}/minix/net all install 62 ${MAKE} -C ${NETBSDSRCDIR}/minix/servers all install 63 64sbin: libraries 65 ${MAKE} -C ${NETBSDSRCDIR}/sbin all install 66 ${MAKE} -C ${NETBSDSRCDIR}/minix/sbin all install 67 68drivers: libraries 69 ${MAKE} -C ${NETBSDSRCDIR}/minix/drivers all install 70 71services: kernel servers drivers sbin 72 73do-hdboot: 74 @rm -rf ${DESTDIR}/boot/minix/.temp/ 75 ${INSTALL_DIR} ${DESTDIR}/boot/minix/.temp 76# mod_0 is used to make alphabetical order equal to the boot order 77 @n=0; \ 78 for i in ${PROGRAMS}; \ 79 do \ 80 n=`expr $$n + 1`; \ 81 [ "$$n" -ge 10 ] && prefix="mod" || prefix="mod0"; \ 82 newname="${DESTDIR}/boot/minix/.temp/$${prefix}$${n}_`basename $$i`"; \ 83 ${INSTALL_FILE} $$i $$newname; \ 84 echo ${INSTALL_FILE} $$i $$newname; \ 85 done 86 @${INSTALL_FILE} ${KERNEL} ${DESTDIR}/boot/minix/.temp/ 87 @if [ "${MKINSTALLBOOT:Uno}" != "no" ] ; then \ 88 ${STRIP} -s ${DESTDIR}/boot/minix/.temp/* ; \ 89 gzip ${DESTDIR}/boot/minix/.temp/mod* ; \ 90 ${HOST_SH} mkboot hdboot ${DESTDIR}; \ 91 ${HOST_SH} ../minix/commands/update_bootcfg/update_bootcfg.sh;\ 92 fi 93 94hdboot: services .WAIT do-hdboot 95 96clean: 97 ${MAKE} -C ${NETBSDSRCDIR}/lib $@ 98 ${MAKE} -C ${NETBSDSRCDIR}/minix/kernel $@ 99 ${MAKE} -C ${NETBSDSRCDIR}/minix/fs $@ 100 ${MAKE} -C ${NETBSDSRCDIR}/minix/net $@ 101 ${MAKE} -C ${NETBSDSRCDIR}/minix/servers $@ 102 ${MAKE} -C ${NETBSDSRCDIR}/minix/drivers $@ 103 ${MAKE} -C ${NETBSDSRCDIR}/sbin $@ 104 ${MAKE} -C ${NETBSDSRCDIR}/minix/sbin $@ 105 rm -rf ${GEN_FILES} 106 107# LSC: For STRIP and HOST_SH 108.include <bsd.sys.mk> 109