.EXPORT_ALL_VARIABLES:

TARGET ?= mso_feat

# Defines
# ------------------------------------------------------------------------------
MSO_FEAT_KMOD_DIR ?= $(BUILD_DIR)/../../../modules/broadcom/mso_feat/src/mod
O_CPUARCH := $(shell sed -n 's/CONFIG_\(ARM\|ARM64\)=y/\_\L\1/p' $(LINUX_DIR)/.config)
O_VERSION := $(shell echo \
	$(shell sed -n 's/^VERSION = \([0-9]*\).*/\_\1/p;s/.*PATCHLEVEL = \([0-9]*\).*/\1/p' $(LINUX_DIR)/Makefile) \
	| sed -n 's/ /./p')

# Flags
# ------------------------------------------------------------------------------
$(TARGET)_OFLAG = $(OPTIMIZE_FLAGS)
$(TARGET)_CFLAGS = $(COMPILER_FLAGS)
$(TARGET)_LDFLAGS =
$(TARGET)_LDLIBS =

# Sources
# ------------------------------------------------------------------------------
SRC = process.c
SRC_FILES = $(foreach file,$(SRC),$(notdir $(wildcard $(file))))
ifneq ($(SRC_FILES),$(SRC))
SRC =
endif

ifneq ($(strip $(SRC)),)
include se_recode.mk

$(SRC): $(SRC_D)
endif

# Commands
# ------------------------------------------------------------------------------
all: clean prepare config build stage release install

untar: untar_

patch: patch_

prepare: untar patch

config: config_

build: build_
	@$(STRIP) $(TARGET)
	@mv $(TARGET) $(TARGET)$(O_CPUARCH)$(O_VERSION)
ifneq ($(strip $(SRC)),)
	@rm $(SRC_G)
endif

stage: stage_

release:
	@echo "Release $(TARGET)."
	$(INSTALL) -D -m 0644 $(TARGET)$(O_CPUARCH)$(O_VERSION) $(RELEASE_DIR)

install:
	@echo "Install $(TARGET)."
	mkdir -p $(INSTALL_DIR)/bin
	$(INSTALL) -D -m 0755 $(TARGET)$(O_CPUARCH)$(O_VERSION) $(INSTALL_DIR)/bin/$(TARGET_NO_SUFFIX)

clean: clean_
	@rm -f $(TARGET)$(O_CPUARCH)$(O_VERSION)

distclean: distclean_

# Common Makefile
# ------------------------------------------------------------------------------
COMMON_MAKEFILES_DIR ?= ./makefiles
include $(COMMON_MAKEFILES_DIR)/make.app
