# Stack
#
MOD_NAME = dev_log
MOD_TYPE = lib

ifeq ("$(ENABLE_LOG)", "y")
	MOD_DEPS = cli utils
	MOD_DEFS = -DENABLE_LOG
	USE_LINT = yes
	srcs = bcm_dev_log.c bcm_dev_log_task.c
	ifeq ("$(FEATURE_LOG)", "y")
		MOD_DEFS += -DTRIGGER_LOGGER_FEATURE
	endif

	ifeq ("$(DEV_LOG_DEBUG)", "y")
		MOD_DEFS += -DDEV_LOG_DEBUG
	endif
	
	ifeq ("$(ENABLE_CLI)", "y")
		srcs += bcm_dev_log_cli.c
	endif
	
	ifeq ("$(TOOLCHAIN)", "gcc")
		EXTRA_CFLAGS  += -Wno-format-security
	endif
	
	ifeq ("$(SUBSYSTEM)", "host")
       ifeq ("$(OS_KERNEL)", "linux")
           ifeq ("$(RELEASE_BUILD)", "y")
               EXTRA_INCLUDES += -I$(TOP_DIR)/host_reference/dev_log_linux
           else
               EXTRA_INCLUDES += -I$(TOP_DIR)/host/dev_log_linux
           endif
       endif
	endif
	
    ifeq ("$(OS)", "posix")
        ENABLE_LOG_SYSLOG ?= y
        ifeq ("$(ENABLE_LOG_SYSLOG)", "y")
            MOD_DEFS += -DDEV_LOG_SYSLOG
        endif                      
    endif
endif
