Atmosphere/mesosphere/Makefile

59 lines
1.8 KiB
Makefile

ATMOSPHERE_BUILD_CONFIGS :=
all: release
define ATMOSPHERE_ADD_TARGET
ATMOSPHERE_BUILD_CONFIGS += $(strip $1)
$(strip $1): mesosphere$(strip $2).bin
mesosphere$(strip $2).bin: kernel/kernel$(strip $2).bin kernel_ldr/kernel_ldr$(strip $2).bin
@python build_mesosphere.py kernel_ldr/kernel_ldr$(strip $2).bin kernel/kernel$(strip $2).bin mesosphere$(strip $2).bin $(4)
@echo "Built mesosphere$(strip $2).bin..."
kernel/kernel$(strip $2).bin: check_libmeso$(strip $1)
@$$(MAKE) -C kernel $(strip $1) $(3)
kernel_ldr/kernel_ldr$(strip $2).bin: check_libmeso$(strip $1)
@$$(MAKE) -C kernel_ldr $(strip $1) $(3)
check_libmeso$(strip $1):
@$$(MAKE) -C ../libraries/libmesosphere $(strip $1) $(3)
clean-$(strip $1):
@$$(MAKE) -C ../libraries/libmesosphere clean-$(strip $1) $(3)
@$$(MAKE) -C kernel clean-$(strip $1) $(3)
@$$(MAKE) -C kernel_ldr clean-$(strip $1) $(3)
@rm -f mesosphere$(strip $2).bin
endef
$(eval $(call ATMOSPHERE_ADD_TARGET, release, ,,))
$(eval $(call ATMOSPHERE_ADD_TARGET, debug, _debug,,))
$(eval $(call ATMOSPHERE_ADD_TARGET, audit, _audit,,))
$(eval $(call ATMOSPHERE_ADD_TARGET, qemu_virt_release, _qemu_virt, \
ATMOSPHERE_BOARD="qemu-virt" \
ATMOSPHERE_CPU="arm-cortex-a57" \
, ../tests/TestSvc/TestSvc.kip \
))
$(eval $(call ATMOSPHERE_ADD_TARGET, qemu_virt_debug, _qemu_virt_debug, \
ATMOSPHERE_BOARD="qemu-virt" \
ATMOSPHERE_CPU="arm-cortex-a57" \
, ../tests/TestSvc/TestSvc.kip \
))
$(eval $(call ATMOSPHERE_ADD_TARGET, qemu_virt_audit, _qemu_virt_audit, \
ATMOSPHERE_BOARD="qemu-virt" \
ATMOSPHERE_CPU="arm-cortex-a57" \
, ../tests/TestSvc/TestSvc.kip \
))
clean:
@$(MAKE) -C ../libraries/libmesosphere clean
@$(MAKE) -C kernel clean
@$(MAKE) -C kernel_ldr clean
@rm -f mesosphere*.bin
.PHONY: all clean $(foreach config,$(ATMOSPHERE_BUILD_CONFIGS),$(config) clean-$(config))