update Makefile to wrap rscons and add run target
This commit is contained in:
parent
a9a2f6dcaf
commit
a91ea8d620
91
Makefile
91
Makefile
@ -1,88 +1,7 @@
|
||||
# Makefile for HOS
|
||||
# Josh Holtrop
|
||||
# Created: 07/09/04
|
||||
|
||||
FLOPPY=/dev/fd0
|
||||
FLOPPY_IMAGE=hos.flp
|
||||
FLOPPY_MOUNT=./mnt_flp
|
||||
GRUB_IMAGE=grub.flp
|
||||
INITRD=hos_initrd
|
||||
INITRD_DIR=initrd
|
||||
INITRD_MOUNT=./mnt_initrd
|
||||
INITRD_SIZE=100 #initrd size in kb
|
||||
MOUNT=sudo mount
|
||||
UMOUNT=sudo umount
|
||||
|
||||
# Do not print "Entering directory ..."
|
||||
MAKEFLAGS += --no-print-directory
|
||||
|
||||
.PHONY: all clean initrd apps grub_image install install_img depend copy_image bochs bochsq
|
||||
|
||||
.PHONY: all
|
||||
all:
|
||||
${MAKE} -C kernel
|
||||
${MAKE} -C rmmod
|
||||
|
||||
clean:
|
||||
-${MAKE} -C kernel clean
|
||||
-${MAKE} -C rmmod clean
|
||||
-rm -f *~ *.out hos.flp \#* hos_initrd hos_initrd.gz
|
||||
|
||||
apps:
|
||||
${MAKE} -C apps
|
||||
|
||||
grub_image:
|
||||
dd if=/dev/zero of=$(GRUB_IMAGE) bs=1024 seek=1440 count=0
|
||||
-mkdir $(FLOPPY_MOUNT)
|
||||
mke2fs -F $(GRUB_IMAGE)
|
||||
$(MOUNT) -t ext2 -o loop $(GRUB_IMAGE) $(FLOPPY_MOUNT)
|
||||
-mkdir -p $(FLOPPY_MOUNT)/boot/grub
|
||||
-cp /boot/grub/stage1 /boot/grub/stage2 /boot/grub/e2fs_stage1_5 $(FLOPPY_MOUNT)/boot/grub
|
||||
$(UMOUNT) $(FLOPPY_MOUNT)
|
||||
-rmdir $(FLOPPY_MOUNT)
|
||||
echo "(fd0) $(GRUB_IMAGE)" > grub_image_device.map.tmp
|
||||
echo "root (fd0)" > grub_commands.tmp
|
||||
echo "setup (fd0)" >> grub_commands.tmp
|
||||
echo "quit" >> grub_commands.tmp
|
||||
grub --device-map grub_image_device.map.tmp < grub_commands.tmp
|
||||
rm grub_commands.tmp
|
||||
rm grub_image_device.map.tmp
|
||||
|
||||
copy_image:
|
||||
cp $(GRUB_IMAGE) $(FLOPPY_IMAGE)
|
||||
|
||||
install: FDEV=$(FLOPPY)
|
||||
install_img: FDEV=$(FLOPPY_IMAGE)
|
||||
install_img: MOUNT_FLAGS=-o loop
|
||||
install_img: copy_image
|
||||
install install_img:
|
||||
-mkdir $(FLOPPY_MOUNT)
|
||||
$(MOUNT) -t ext2 $(MOUNT_FLAGS) $(FDEV) $(FLOPPY_MOUNT)
|
||||
-cp kernel/kernel.bin $(FLOPPY_MOUNT)
|
||||
-cp rmmod/rmmod.bin $(FLOPPY_MOUNT)
|
||||
-cp menu.lst $(FLOPPY_MOUNT)/boot/grub
|
||||
-cp $(INITRD).gz $(FLOPPY_MOUNT)/$(INITRD).gz
|
||||
$(UMOUNT) $(FLOPPY_MOUNT)
|
||||
-rmdir $(FLOPPY_MOUNT)
|
||||
|
||||
initrd:
|
||||
dd if=/dev/zero of=$(INITRD) bs=1024 count=$(INITRD_SIZE)
|
||||
mke2fs -Fv -m0 -r0 -i1024 $(INITRD)
|
||||
-mkdir $(INITRD_MOUNT)
|
||||
$(MOUNT) -t ext2 -o loop $(INITRD) $(INITRD_MOUNT)
|
||||
cp -Pr $(INITRD_DIR)/* $(INITRD_MOUNT)
|
||||
$(UMOUNT) $(INITRD_MOUNT)
|
||||
rm -rf $(INITRD_MOUNT)
|
||||
gzip -c $(INITRD) > $(INITRD).gz
|
||||
|
||||
depend:
|
||||
${MAKE} -C kernel depend
|
||||
|
||||
bochs:
|
||||
bochs
|
||||
|
||||
bochsq:
|
||||
echo 'c' | bochs -q
|
||||
|
||||
wordcount:
|
||||
find . -regex '\(.*\.[ch]\)\|\(.*\.asm\)\|\(.*\.inc\)\|\(.*\.cpp\)' | xargs cat | wc
|
||||
./rscons build
|
||||
|
||||
.PHONY: run
|
||||
run:
|
||||
qemu-system-x86_64 -bios OVMF.fd -hda build/hos.img
|
||||
|
Loading…
x
Reference in New Issue
Block a user