From 60d21b86051a9960f8e87fb10e19f63f2bbc6de2 Mon Sep 17 00:00:00 2001 From: Alex AUVOLAT Date: Fri, 28 Mar 2014 09:12:44 +0100 Subject: Compile article3 --- sos-code-article3/Makefile | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'sos-code-article3/Makefile') diff --git a/sos-code-article3/Makefile b/sos-code-article3/Makefile index 8e15812..64ae955 100644 --- a/sos-code-article3/Makefile +++ b/sos-code-article3/Makefile @@ -1,4 +1,5 @@ -CC=gcc +CC=i586-elf-gcc +LD=i586-elf-ld CFLAGS = -Wall -nostdlib -nostdinc -ffreestanding -DKERNEL_SOS LDFLAGS = --warn-common OBJECTS = bootstrap/multiboot.o \ @@ -9,14 +10,25 @@ OBJECTS = bootstrap/multiboot.o \ sos/physmem.o sos/klibc.o sos/main.o KERNEL_OBJ = sos.elf -MULTIBOOT_IMAGE = fd.img +MULTIBOOT_IMAGE = sos.iso PWD := $(shell pwd) # Main target all: $(MULTIBOOT_IMAGE) $(MULTIBOOT_IMAGE): $(KERNEL_OBJ) - ./support/build_image.sh $@ $< + # ./support/build_image.sh $@ $< + if [ ! -e cdrom/boot/grub/stage2_eltorito ]; then \ + mkdir -p cdrom/boot/grub; \ + echo "Please copy grub's stage2_eltorito to cdrom/boot/grub."; \ + exit -1; \ + fi + cp $(KERNEL_OBJ) cdrom + echo timeout 0 > cdrom/boot/grub/menu.lst + echo title Simple OS >> cdrom/boot/grub/menu.lst + echo kernel /$(KERNEL_OBJ) >> cdrom/boot/grub/menu.lst + genisoimage -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 \ + -boot-info-table -input-charset ascii -A SOS -o $(MULTIBOOT_IMAGE) cdrom $(KERNEL_OBJ): $(OBJECTS) ./support/sos.lds $(LD) $(LDFLAGS) -T ./support/sos.lds -o $@ $(OBJECTS) @@ -34,7 +46,7 @@ $(KERNEL_OBJ): $(OBJECTS) ./support/sos.lds # Clean directory clean: - $(RM) *.img *.o mtoolsrc *~ menu.txt *.img *.elf *.bin *.map + $(RM) *.iso *.o mtoolsrc *~ menu.txt *.img *.elf *.bin *.map $(RM) *.log *.out bochs* $(RM) bootstrap/*.o bootstrap/*~ $(RM) drivers/*.o drivers/*~ -- cgit v1.2.3