Forked from SCUCCS-CST-SRA-group / LoOS
Source project has a limited visibility.
Makefile 1.03 KiB
include scripts/main.mk
include scripts/own.mk
PARTS = core lolibc driver fs mm
all: build
build: kernel.bin
kernel: make_dir archive link
kernel.bin: kernel
	$(OBJCOPY) -O binary $(BUILD)/kernel $(BUILD)/kernel.bin
	cp $(BUILD)/kernel.bin $(HOME)/kernel.bin
	cp ${BUILD}/kernel.bin ./kernel.bin
user: archive
	@$(MAKE) -f $(SRC)/user/Makefile all \
		MK=$(SCRIPTS)/main.mk --no-print-directory
run: build
	make -C tools/ clean
	make -C tools/
	@echo $(UBOOTCMD) $(COPYCMD)
	cp tools/kernel.img $(QEMUDIR)/2k1000/2kfs.img
	cd $(QEMUDIR); ./runqemu
debug: build
	make -C tools/ clean
	make -C tools/
	@echo $(UBOOTCMD) $(COPYCMD)
	cp tools/kernel.img $(QEMUDIR)/2k1000/2kfs.img
	cd $(QEMUDIR); ./runqemu-dbg
make_dir:
	@mkdir -p $(BUILD)
$(PARTS): %:
	@$(MAKE) -f $(SCRIPTS)/archive.mk archive \
		DIR=$(SRC)/$* NAME=$* MK=$(SCRIPTS)/main.mk \
		--no-print-directory
archive: $(PARTS)
link: archive
	$(LD) $(LDFLAGS) -o $(BUILD)/kernel $(foreach part, $(PARTS), $(BUILD)/$(part).a)
clean:
	rm -rf $(BUILD)
	find src/ -name '*.o' | xargs rm -f