# $Id: Makefile 1020 2009-09-15 13:20:43Z mike $


# Root directory of CiAO
ROOT_DIR ?= $(realpath ..)
include $(ROOT_DIR)/make/standard.mk


# Compile CiAO sources to static library
SRC_DIR 	:= $(CIAO_DIR)
LIB_FILE 	:= $(LIB_DIR)/libciao.a

CXXFLAGS 	:= -g -O3 -I$(ROOT_DIR)/libcmini $(EXTRACXXFLAGS)
#CXXFLAGS 	:= -g -O1 -fno-inline -I$(ROOT_DIR)/libcmini
#AGXXFLAGS 	:= -r $(CIAO_DIR)/ciao.acp -p../test/ciao/os/krn/SimpleWithCallbacks --keep_acc --no_line --config $(CIAO_DIR)/puma.config
#AGXXFLAGS 	:= -r $(CIAO_DIR)/ciao.acp --keep_acc --no_line --config $(CIAO_DIR)/puma.config
AGXXFLAGS	:= --config $(CIAO_DIR)/puma.config

MODULES 	:= architecture gcc compile archive	doxygen

default: all

# include modules
ifneq "$(MODULES)" ""
    include $(patsubst %,$(MODULES_DIR)/%.mk,$(MODULES))
endif

# generate puma.config
puma.config:
	@$(AGXX_PATH)/ag++ --gen_config --c_compiler $(CXX_PATH)/$(GCC_ARCH)-g++ -I$(CIAO_DIR) -I$(LIBC_DIR) 


# process 'all' targets in every MODULE and generate object files
all: puma.config $(patsubst %,all_%,$(MODULES_ALL)) 

	
# process 'clean' targets in every MODULE and generate object files
clean: $(patsubst %,clean_%,$(MODULES_CLEAN))
	@rm -f puma.config

.PHONY: all clean

