Feat: lab 3 w/o adv 2
This commit is contained in:
9
Makefile
9
Makefile
@@ -10,6 +10,7 @@ QEMUFLAGS += -M raspi3b -display none -serial null
|
||||
|
||||
CC := $(GNU)-gcc
|
||||
CCFLAGS += -Wall -Wextra -O0 \
|
||||
-mcpu=cortex-a53+nofp+nosimd \
|
||||
-nostdinc -nostdlib -nostartfiles -nodefaultlibs \
|
||||
-Wno-unused-parameter -Wno-unused-value -Wno-main -g
|
||||
LD := $(GNU)-ld
|
||||
@@ -55,7 +56,7 @@ all: $(CPIO)
|
||||
build: $(IMG)
|
||||
|
||||
$(CPIO): $(shell find $(ROOTFS_DIR)) userprog
|
||||
cp userprog.img $(ROOTFS_DIR)/userprog
|
||||
cp userprog/userprog $(ROOTFS_DIR)/userprog
|
||||
cd $(ROOTFS_DIR) && find . | cpio -o -H newc > ../$@
|
||||
|
||||
$(IMG): $(ELF)
|
||||
@@ -74,9 +75,9 @@ $(ELF): $(LD_SCRIPT) $(TARGET_OBJS) $(OBJS)
|
||||
|
||||
clean:
|
||||
-rm $(OBJS) $(CPIO) $(ROOTFS_DIR)/userprog
|
||||
$(MAKE) $(MAKEFLAGS) -C userprog clean
|
||||
$(MAKE) $(MAKEFLAGS) clean_target TARGET_DIR=kernel TARGET=kernel8
|
||||
$(MAKE) $(MAKEFLAGS) clean_target TARGET_DIR=bootloader TARGET=bootloader
|
||||
$(MAKE) $(MAKEFLAGS) clean_target TARGET_DIR=userprog TARGET=userprog
|
||||
|
||||
clean_target:
|
||||
-rm $(TARGET_OBJS) $(ELF) $(IMG)
|
||||
@@ -90,10 +91,10 @@ kernel: $(CPIO)
|
||||
|
||||
bootloader: $(CPIO)
|
||||
$(MAKE) $(MAKEFLAGS) build TARGET_DIR=bootloader TARGET=bootloader
|
||||
$(QEMU) -kernel bootloader.img $(QEMUFLAGS)
|
||||
$(QEMU) -kernel bootloader.img $(QEMUFLAGS) -serial stdio
|
||||
|
||||
userprog:
|
||||
$(MAKE) $(MAKEFLAGS) build TARGET_DIR=userprog TARGET=userprog
|
||||
$(MAKE) $(MAKEFLAGS) -C userprog
|
||||
|
||||
debug: $(CPIO)
|
||||
$(MAKE) $(MAKEFLAGS) build TARGET_DIR=kernel TARGET=kernel8
|
||||
|
||||
Reference in New Issue
Block a user