Reverted to x86, refactored Makefile sysstem.
This commit is contained in:
70
Makefile
70
Makefile
@@ -1,48 +1,74 @@
|
||||
LD = x86_64-elf-ld
|
||||
LD = i686-elf-ld
|
||||
LFLAGS = -melf_i386 -nostdlib -O2 -T link.ld
|
||||
|
||||
all: prepare cpu kernel_code drivers libc userspace mem link iso
|
||||
|
||||
prepare:
|
||||
mkdir -p obj/
|
||||
mkdir -p isodir/boot/grub/
|
||||
cp grub.cfg isodir/boot/grub/grub.cfg
|
||||
@mkdir -p obj/
|
||||
@mkdir -p isodir/boot/grub/
|
||||
@echo [MKDIR] obj/
|
||||
@echo [MKDIR] isodir/boot/grub
|
||||
@cp grub.cfg isodir/boot/grub/grub.cfg
|
||||
@echo [CP] grub.cfg isodir/boot/grub.cfg
|
||||
|
||||
cpu:
|
||||
make -C kernel/cpu
|
||||
cp kernel/cpu/*.o obj/
|
||||
@echo [DIR] kernel/cpu
|
||||
@make -sC kernel/cpu
|
||||
@cp kernel/cpu/*.o_asm obj/
|
||||
@echo [CP] kernel/cpu/*.o obj/
|
||||
|
||||
kernel_code:
|
||||
make -C kernel
|
||||
cp kernel/*.o obj/
|
||||
@echo [DIR] kernel/
|
||||
@make -sC kernel
|
||||
@cp kernel/*.o obj/
|
||||
@echo [CP] kernel/*.o obj/
|
||||
|
||||
drivers:
|
||||
make -C kernel/drivers/
|
||||
cp kernel/drivers/*.o obj/
|
||||
@echo [DIR] kernel/drivers/
|
||||
@make -sC kernel/drivers
|
||||
@cp kernel/drivers/*.o obj/
|
||||
@echo [CP] kernel/drivers/*.o obj/
|
||||
|
||||
libc:
|
||||
make -C kernel/libc
|
||||
cp kernel/libc/*.o obj/
|
||||
@echo [DIR] kernel/libc/
|
||||
@make -sC kernel/libc
|
||||
@cp kernel/libc/*.o obj/
|
||||
@echo [CP] kernel/libc/*.o obj/
|
||||
|
||||
userspace:
|
||||
make -C kernel/userspace
|
||||
cp kernel/userspace/*.o obj/
|
||||
@echo [DIR] kernel/userspace/
|
||||
@make -sC kernel/userspace
|
||||
@cp kernel/userspace/*.o obj/
|
||||
@echo [CP] kernel/userspace/*.o obj/
|
||||
|
||||
mem:
|
||||
make -C kernel/mem
|
||||
cp kernel/mem/*.o obj/
|
||||
@echo [DIR] kernel/mem
|
||||
@make -sC kernel/mem
|
||||
@cp kernel/mem/*.o obj/
|
||||
@echo [CP] kernel/mem/*.o obj/
|
||||
|
||||
link:
|
||||
$(LD) $(LFLAGS) -o isodir/boot/vulcanos.bin obj/*.o
|
||||
@$(LD) $(LFLAGS) -o isodir/boot/vulcanos.bin obj/*.o obj/*.o_asm
|
||||
@echo [LD] Linking blob...
|
||||
|
||||
iso:
|
||||
grub-mkrescue isodir -o vulcanos.iso
|
||||
@echo [ISO] Creating ISO file...
|
||||
@grub-mkrescue isodir -o vulcanos.iso > /dev/null 2>&1
|
||||
|
||||
clean:
|
||||
rm -rf obj/ kernel/*.o kernel/cpu/*.o
|
||||
rm -rf kernel/userspace/*.o kernel/mem/*.o
|
||||
rm -rf kernel/drivers/*.o kernel/libc/*.o
|
||||
rm -rf vulcanos.iso bochslog.txt commands isodir
|
||||
@rm -rf obj/ kernel/*.o kernel/cpu/*.o_asm
|
||||
@echo [RM] obj
|
||||
@echo [RM] kernel/*.o
|
||||
@echo [RM] kernel/cpu/*.o_asm
|
||||
@rm -rf kernel/userspace/*.o kernel/mem/*.o
|
||||
@echo [RM] kernel/userspace/*.o
|
||||
@echo [RM] kernel/mem/*.o
|
||||
@rm -rf kernel/drivers/*.o kernel/libc/*.o
|
||||
@echo [RM] kernel/drivers/*.o
|
||||
@echo [RM] kernel/libc/*.o
|
||||
@rm -rf vulcanos.iso bochslog.txt commands isodir
|
||||
@echo [RM] vulcanos.iso
|
||||
@echo [RM] isodir
|
||||
|
||||
bochs:
|
||||
bochs -f bochs_cfg -q
|
||||
|
||||
Reference in New Issue
Block a user