kernel/Makefile

91 lines
1.3 KiB
Makefile
Raw Normal View History

2017-11-04 06:51:56 +00:00
include config.mk
2017-11-04 06:09:14 +00:00
2017-11-08 09:38:55 +00:00
export AR = $(CCPREFIX)ar
export AS = $(CCPREFIX)as
export CC = $(CCPREFIX)gcc
2017-11-04 07:43:03 +00:00
export INCLUDE = $(shell pwd)/include
2017-11-08 11:21:03 +00:00
export KERNEL = $(shell pwd)/kernelmq
2017-11-04 07:43:03 +00:00
export LIBK = $(shell pwd)/libk/libk.a
2017-11-08 09:38:55 +00:00
export LIBARCH = $(shell pwd)/arch/$(ARCH)/libarch.a
export LINKER = $(shell pwd)/arch/$(ARCH)/linker.ld
2017-11-05 18:24:19 +00:00
export MODULES = $(addprefix $(shell pwd)/modules/, dummy1.bin dummy2.bin)
2017-11-04 07:43:03 +00:00
2017-11-08 11:11:31 +00:00
ifeq (none, $(ARCH))
run: test
else
2017-11-01 09:20:44 +00:00
run: run-iso
2017-11-08 11:11:31 +00:00
endif
2017-11-01 05:03:52 +00:00
2017-11-08 11:06:18 +00:00
all: all-kernel
2017-11-08 09:38:55 +00:00
clean: clean-kernel clean-iso clean-libk clean-arch clean-test clean-modules
2017-11-01 09:20:44 +00:00
2017-11-04 08:04:22 +00:00
test: run-test
2017-11-04 08:13:22 +00:00
##########
# Kernel #
##########
2017-11-08 09:38:55 +00:00
all-kernel: all-arch all-libk
$(CC) -T $(LINKER) -o $(KERNEL) -ffreestanding -nostdlib -lgcc $(LIBARCH) $(LIBK)
2017-11-01 04:43:42 +00:00
2017-11-01 09:20:44 +00:00
clean-kernel:
2017-11-08 09:38:55 +00:00
rm -f $(KERNEL)
########
# arch #
########
all-arch:
make all -C arch
clean-arch:
2017-11-08 08:58:02 +00:00
make clean -C arch
2017-11-01 09:20:44 +00:00
2017-11-04 08:13:22 +00:00
#######
# ISO #
#######
2017-11-04 08:04:22 +00:00
run-iso: all-iso
2017-11-04 07:43:03 +00:00
make run -C iso
2017-11-01 09:20:44 +00:00
2017-11-05 10:03:08 +00:00
all-iso: all-kernel all-modules
2017-11-04 07:43:03 +00:00
make all -C iso
2017-11-01 09:20:44 +00:00
clean-iso:
2017-11-02 03:38:06 +00:00
make clean -C iso
2017-11-04 06:04:04 +00:00
2017-11-04 08:13:22 +00:00
########
# libk #
########
2017-11-04 06:04:04 +00:00
all-libk:
make all -C libk
clean-libk:
make clean -C libk
2017-11-04 07:33:31 +00:00
2017-11-04 08:13:22 +00:00
#########
# Tests #
#########
2017-11-04 07:33:31 +00:00
2017-11-04 08:13:22 +00:00
run-test: all-test
make run -C test
2017-11-04 08:04:22 +00:00
all-test: all-libk
2017-11-04 08:13:22 +00:00
make all -C test
2017-11-04 08:04:22 +00:00
2017-11-04 07:33:31 +00:00
clean-test:
2017-11-04 08:13:22 +00:00
make clean -C test
2017-11-05 09:56:53 +00:00
###########
# Modules #
###########
all-modules:
make all -C modules
clean-modules:
make clean -C modules