CURRENT_DIR := $(PWD)

DIR_HELLO_WORLD = $(CURRENT_DIR)/hello_world
DIR_TARGET_MATH = $(CURRENT_DIR)/math_simple
DIR_LOADBLE_DRIVER = $(CURRENT_DIR)/loadable_driver
DIR_CXX_EXAMPLE = $(CURRENT_DIR)/cpp
DIR_CRYPTO_EXAMPLE = $(CURRENT_DIR)/crypto
DIR_PTHREAD_EXAMPLE = $(CURRENT_DIR)/pthread
DIR_SPI_DRIVER = $(CURRENT_DIR)/spi_driver
DIR_PHYS_DEV = $(CURRENT_DIR)/phys_dev
DIR_SCRYPTO_EXAMPLE = $(CURRENT_DIR)/scrypto

.PHONY: all
all:
	@make -C $(DIR_HELLO_WORLD) -f Makefile.Single
	@make -C $(DIR_TARGET_MATH) -f Makefile.Single
	@make -C $(DIR_LOADBLE_DRIVER) -f Makefile.Single
	@make -C $(DIR_CXX_EXAMPLE) -f Makefile.Single
	@make -C $(DIR_CRYPTO_EXAMPLE)
	@make -C $(DIR_PTHREAD_EXAMPLE)
	@make -C $(DIR_SPI_DRIVER)
	@make -C $(DIR_PHYS_DEV) -f Makefile.Single
	@make -C $(DIR_SCRYPTO_EXAMPLE)

.PHONY: clean
clean:
	@make clean -C $(DIR_HELLO_WORLD) -f Makefile.Single
	@make clean -C $(DIR_TARGET_MATH) -f Makefile.Single
	@make clean -C $(DIR_LOADBLE_DRIVER) -f Makefile.Single
	@make clean -C $(DIR_CXX_EXAMPLE) -f Makefile.Single
	@make clean -C $(DIR_CRYPTO_EXAMPLE)
	@make clean -C $(DIR_PTHREAD_EXAMPLE)
	@make clean -C $(DIR_SPI_DRIVER)
	@make clean -C $(DIR_PHYS_DEV) -f Makefile.Single
	@make clean -C $(DIR_SCRYPTO_EXAMPLE)
