aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorFranklin Wei <frankhwei536@gmail.com>2015-02-05 20:49:11 -0500
committerFranklin Wei <frankhwei536@gmail.com>2015-02-05 20:49:11 -0500
commitb1bfd653bf3aa8ca5bc97ccce6bc307679f37b07 (patch)
tree45553463d0f6a13c2d6f2efa6ab669b0cd20ad80 /Makefile
parente065a7048aa98d253cdcc9298c934bb7af7feaa9 (diff)
downloadkappa-b1bfd653bf3aa8ca5bc97ccce6bc307679f37b07.zip
kappa-b1bfd653bf3aa8ca5bc97ccce6bc307679f37b07.tar.gz
kappa-b1bfd653bf3aa8ca5bc97ccce6bc307679f37b07.tar.bz2
kappa-b1bfd653bf3aa8ca5bc97ccce6bc307679f37b07.tar.xz
rework makefile
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile37
1 files changed, 22 insertions, 15 deletions
diff --git a/Makefile b/Makefile
index ccb2f63..33188bf 100644
--- a/Makefile
+++ b/Makefile
@@ -3,33 +3,40 @@ CC = gcc
LD = ld
INCLUDES = -Idrivers/include -Ikernel/include -Ilibc/include
CFLAGS = -std=gnu99 -ffreestanding -fno-stack-protector -nostdlib -Wall -Wextra -m32 $(INCLUDES) -g
+EMULATOR = qemu-system-i386
AS = as
ASFLAGS=-march=i686 --32
+ISODIR = isodir
+
all: kappa.bin
test: iso
- qemu-system-i386 kappa.iso
+ @echo "EMULATOR kappa.iso"
+ @$(EMULATOR) kappa.iso
iso: kappa.bin
- mkdir -p isodir
- mkdir -p isodir/boot
- cp kappa.bin isodir/efi.img
- cp kappa.bin isodir/boot/kappa.bin
- mkdir -p isodir/boot/grub
- cp cdrom/grub.cfg isodir/boot/grub
- grub-mkrescue -o kappa.iso isodir
+ @echo "Building ISO under $(ISODIR)/..."
+ @mkdir -p $(ISODIR)
+ @mkdir -p $(ISODIR)/boot
+ @cp kappa.bin $(ISODIR)/efi.img
+ @cp kappa.bin $(ISODIR)/boot/kappa.bin
+ @mkdir -p $(ISODIR)/boot/grub
+ @cp cdrom/grub.cfg $(ISODIR)/boot/grub
+ @grub-mkrescue -o kappa.iso $(ISODIR) 2> /dev/null
kappa.bin: $(OBJ) $(SOURCES) Makefile
- $(LD) -T kernel/linker.ld -o kappa.bin -melf_i386 $(OBJ)
-
+ @$(LD) -T kernel/linker.ld -o kappa.bin -melf_i386 $(OBJ)
+ @echo "LD $@"
%.o: %.c
- $(CC) $(CFLAGS) -c $< -o $@
+ @$(CC) $(CFLAGS) -c $< -o $@
+ @echo "CC $<"
%.o: %.S
- $(AS) $(ASFLAGS) -c $< -o $@
-
+ @$(AS) $(ASFLAGS) -c $< -o $@
+ @echo "AS $<"
clean:
- rm -f $(OBJ) kappa.iso kappa.bin
- rm -rf isodir
+ @echo "Cleaning build directory..."
+ @rm -f $(OBJ) kappa.iso kappa.bin
+ @rm -rf $(ISODIR)