PRJ_ROOT := $(shell pwd)
OBJ_PATH := $(PRJ_ROOT)/obj
BIN_PATH := $(PRJ_ROOT)/bin

TARGETS := nvram_utils
ifdef CONFIG_RALINKAPP_USER_NVRAMD
TARGETS += nvramd
endif
TARGETS_CLEAN := $(addsuffix .clean, $(TARGETS))
TARGETS_ROMFS := $(addsuffix .romfs, $(TARGETS))

CFLAGS += -Wall -Werror

.PHONY: all clean gen_dirs romfs $(TARGETS) $(TARGETS_CLEAN) $(TARGETS_ROMFS)

all: gen_dirs $(TARGETS)

gen_dirs:
	$(shell mkdir -p $(OBJ_PATH))
	$(shell mkdir -p $(BIN_PATH))

$(TARGETS):
	$(MAKE) -C $@ CC='$(CC)' ROMFSINST='$(ROMFSINST)' OBJ_PATH='$(OBJ_PATH)' BIN_PATH='$(BIN_PATH)' PRJ_ROOT='$(PRJ_ROOT)'

romfs: $(TARGETS_ROMFS)

$(TARGETS_ROMFS): %.romfs:
	$(MAKE) -C $* OBJ_PATH='$(OBJ_PATH)' BIN_PATH='$(BIN_PATH)' romfs

clean: $(TARGETS_CLEAN)

$(TARGETS_CLEAN): %.clean:
	$(MAKE) -C $* OBJ_PATH='$(OBJ_PATH)' BIN_PATH='$(BIN_PATH)' clean

$(info =============================================)
$(info CC=$(CC) )
$(info ROMFSINST=$(ROMFSINST) )
$(info PRJ_ROOT=$(PRJ_ROOT) )
$(info BIN_PATH=$(BIN_PATH) )
$(info =============================================)

