Advertisement
konalisp

Untitled

Nov 15th, 2014
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 0.88 KB | None | 0 0
  1. CFLAGS=-target i386-elf -std=gnu++11 -Wall -Wextra -ffreestanding -nostdlib -lgcc -I Include -m32 -c -o
  2. CC=clang++
  3. OBJS:=start.o kernel.o
  4.  
  5. CRTI_OBJ:=$(shell $(CC) -print-file-name=crti.o)
  6. CRTBEGIN_OBJ:=$(shell $(CC) -print-file-name=crtbegin.o)
  7. CRTEND_OBJ:=$(shell $(CC) -print-file-name=crtend.o)
  8. CRTN_OBJ:=$(shell $(CC) -print-file-name=crtn.o)
  9.  
  10. OBJ_LINK_LIST:=$(CRTI_OBJ) $(CRTBEGIN_OBJ) $(OBJS) $(CRTEND_OBJ) $(CRTN_OBJ)
  11. INTERNAL_OBJS:=$(CRTI_OBJ) $(OBJS) $(CRTN_OBJ)
  12.  
  13. kernel:
  14.         nasm -f elf32 x86HAL/start.asm -o start.o
  15.         $(CC) Kernel/main.cxx $(CFLAGS) kernel.o
  16.         #$(OBJ_LINK_LIST)
  17.         ld -m elf_i386 -T link.ld -o kernel.bin $(OBJ_LINK_LIST)
  18.         mkdir -p isodir
  19.         mkdir -p isodir/boot
  20.         cp kernel.bin isodir/boot/kernel.bin
  21.         mkdir -p isodir/boot/grub
  22.         cp grub.cfg isodir/boot/grub/grub.cfg
  23.         grub-mkrescue -o kernel.iso isodir
  24.  
  25. clean:
  26.         rm -f kernel.bin $(INTERNAL_OBJS)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement