.PHONY: clean, mrproper, Init.rfs, floppy, commit Projects = tools/makeinitrd kernel user/lib/libc user/lib/fwik user/app/init user/app/test user/app/yosh user/app/prime QemuCmd = qemu-system-i386 BasePath = $(shell pwd) SrcPath = $(BasePath)/src Cdrom = TCE.iso all: @for p in $(Projects); do \ echo ""; echo "----------------------"; \ echo "=> Building $$p"; \ BasePath=$(BasePath) SrcPath=$(SrcPath) make -C src/$$p || exit -1; \ done rebuild: mrproper all clean: @for p in $(Projects); do \ echo ""; echo "----------------------"; \ echo "=> Cleaning $$p"; \ BasePath=$(BasePath) SrcPath=$(SrcPath) make -C src/$$p clean -s; \ done mrproper: @for p in $(Projects); do \ echo ""; echo "----------------------"; \ echo "=> Cleaning $$p"; \ BasePath=$(BasePath) SrcPath=$(SrcPath) make -C src/$$p mrproper -s; \ done commit: mrproper git add . git commit -a; exit 0 git push origin $(Cdrom): menu_cdrom.lst src/kernel/kernel.elf src/user/app/test/test.elf src/user/app/init/init.elf src/user/app/yosh/yosh.elf src/user/app/prime/prime.elf mkdir -p cdrom/boot/grub if [ ! -e cdrom/boot/grub/stage2_eltorito ]; then \ echo "Please copy grub's stage2_eltorito to cdrom/boot/grub."; \ exit -1; \ fi cp menu_cdrom.lst cdrom/boot/grub/menu.lst cp src/kernel/kernel.elf cdrom; strip cdrom/kernel.elf cp src/user/app/init/init.elf cdrom; strip cdrom/init.elf cp src/user/app/test/test.elf cdrom; strip cdrom/test.elf cp src/user/app/yosh/yosh.elf cdrom; strip cdrom/yosh.elf cp src/user/app/prime/prime.elf cdrom; strip cdrom/prime.elf src/tools/makeinitrd/makeinitrd cdrom/initrd \ cdrom/test.elf:/bin/test \ cdrom/yosh.elf:/bin/yosh \ cdrom/prime.elf:/bin/prime \ README:/readme genisoimage -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 \ -boot-info-table -input-charset ascii -A TCE -o $(Cdrom) cdrom bochs: all $(Cdrom) bochs -f bochs.cfg qemu: all $(Cdrom) $(QemuCmd) -cdrom $(Cdrom) -m 32 qemu-gdb: all $(Cdrom) $(QemuCmd) -cdrom $(Cdrom) -m 32 -s -S & gdb src/kernel/kernel.elf -x gdb-cmd