aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile52
-rw-r--r--src/Makefile10
2 files changed, 28 insertions, 34 deletions
diff --git a/Makefile b/Makefile
index 6adc710..e5d56b6 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,19 @@
MAKE = make
MAKEFLAGS += --no-print-directory
--include Makefile.config
+include Makefile.config
+
+.PHONY: all run clean FORCE
+all: glitch.elf
+
+run: glitch.iso
+ @qemu-system-i386 -cdrom glitch.iso -accel kvm -d cpu_reset -display gtk,zoom-to-fit=on
+
+clean:
+ @${MAKE} ARCH=${ARCH} -C lib clean
+ @${MAKE} ARCH=${ARCH} -C ${ARCH} clean
+ @${MAKE} ARCH=${ARCH} -C devices clean
+ @${MAKE} ARCH=${ARCH} -C src clean
info:
@echo "* Build information *"
@@ -12,6 +24,8 @@ info:
@echo " LD $(shell ${LD} --version | head -n1)"
@echo " ${LDFLAGS}"
+FORCE:
+
.config: Kconfig
@alldefconfig
@@ -20,34 +34,14 @@ Makefile.config: .config
@echo -e '\n# toolchain.mk' >> Makefile.config
@cat $$(sed -nE "s/CONFIG_ARCH_(.+)=y/\1/p" .config)/toolchain.mk >> Makefile.config
-.PHONY: all run clean purge
-all:
- @${MAKE} ARCH=${ARCH} -C lib all
- @${MAKE} ARCH=${ARCH} -C ${ARCH} all
- @${MAKE} ARCH=${ARCH} -C devices all
- @${MAKE} ARCH=${ARCH} -C src all
-
-run: glitch.iso
- qemu-system-i386 -cdrom glitch.iso -cpu pentium3 -d cpu_reset -display gtk,zoom-to-fit=on
-
-clean:
- @${MAKE} ARCH=${ARCH} -C lib clean
- @${MAKE} ARCH=${ARCH} -C ${ARCH} clean
- @${MAKE} ARCH=${ARCH} -C devices clean
- @${MAKE} ARCH=${ARCH} -C src clean
-
-purge: clean
- rm -f lib/libk.a ${ARCH}/arch.a devices/devs.a src/kernel.a
- rm -rf glitch.elf glitch.iso isodir
-
-lib/libk.a:
- ${MAKE} ARCH=${ARCH} -C lib libk.a
-i686/arch.a:
- ${MAKE} ARCH=${ARCH} -C i686 arch.a
-devices/devs.a:
- ${MAKE} ARCH=${ARCH} -C devices devs.a
-src/kernel.a:
- ${MAKE} ARCH=${ARCH} -C src kernel.a
+lib/libk.a: FORCE
+ @${MAKE} -C lib libk.a
+i686/arch.a: FORCE
+ @${MAKE} -C ${ARCH} arch.a
+devices/devs.a: FORCE
+ @${MAKE} -C devices devs.a
+src/kernel.a: FORCE
+ @${MAKE} -C src kernel.a
glitch.elf: ${ARCH}/arch.a src/kernel.a devices/devs.a lib/libk.a
@echo ' LD $@'
diff --git a/src/Makefile b/src/Makefile
index 205c4e3..7b31c3c 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2,13 +2,13 @@ include ../Makefile.config
CCFLAGS += -I. -isystem../grub/include -I../${ARCH} -I../lib -I..
-conf.h: conf.h.in
- @cp conf.h.in conf.h
- @sed -i 's/@VERSION@/$(shell git describe)/' conf.h
- @sed -i 's/@CC@/$(shell ${CC} --version | head -n1)/' conf.h
-
kernel,SRCS := multiboot2.c mmap.c kernel.c mem/vmm.c
kernel,OBJS := conf.h
include ../rules.mk
+conf.h: conf.h.in
+ @cp conf.h.in conf.h
+ @sed -i 's/@VERSION@/$(shell git describe)/' conf.h
+ @sed -i 's/@CC@/$(shell ${CC} --version | head -n1)/' conf.h
+