diff options
author | Alex AUVOLAT <alex.auvolat@ens.fr> | 2014-03-28 09:12:44 +0100 |
---|---|---|
committer | Alex AUVOLAT <alex.auvolat@ens.fr> | 2014-03-28 09:12:44 +0100 |
commit | 60d21b86051a9960f8e87fb10e19f63f2bbc6de2 (patch) | |
tree | b2eff98caa90642c661320e8cba55c027f7f458b /sos-code-article3/Makefile | |
parent | bb55beef914e7488350ad1d0419d4bc60ad63c99 (diff) | |
download | SOS-60d21b86051a9960f8e87fb10e19f63f2bbc6de2.tar.gz SOS-60d21b86051a9960f8e87fb10e19f63f2bbc6de2.zip |
Compile article3
Diffstat (limited to 'sos-code-article3/Makefile')
-rw-r--r-- | sos-code-article3/Makefile | 20 |
1 files changed, 16 insertions, 4 deletions
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/*~ |