#DPKG FRK

# This provides a template for adding a DPKG cache rule for a new module
#
#  __NEW_MODULE__ => Name of the module to be cached
#  __NEW_RULES__  => Module rule name
#  If a module is linked as a submodule, all the depencency files should be added in the _SMDEP_FILES rule
#  All other dependency files should be added in the  _DEP_FILES rule
#  All the ENV flags should be added in the _DEP_FLAGS rule
#  If module has multiple source path as a submodule, it should be added as prt of _SMDEP_PATHS rule

#Source path of the module
SPATH       := $($(__NEW_MODULE__)_SRC_PATH)

# Add all the dependendency files in the DEP_FILES variable
# SONIC_COMMON_FILES_LIST => It includes common files like .platform, slave.mk, rules/functions etc
DEP_FILES   := $(SONIC_COMMON_FILES_LIST) rules/__NEW_RULES__.mk rules/__NEW_RULES__.dep   

# SONIC_COMMON_BASE_FILES_LIST => It includes base docker files like Dockerfile, Dockerfile.user etc
DEP_FILES   += $(SONIC_COMMON_BASE_FILES_LIST)

# If a module source files are part of sonic-buildimage, add the source files to DEP_FILES variable
#DEP_FILES   += $(shell git ls-files $(SPATH))

# If the module is a submodule, add all the submodule source files into SMDEP_FILES variable
#SMDEP_FILES := $(addprefix $(SPATH)/,$(shell cd $(SPATH) && git ls-files))




# Define the DPKG cache rule for a module
# Set the Cache mode,
# GIT_CONTENT_SHA => Cache SHA is derived from contents of the module dependency files
# GIT_COMMIT_SHA => Cache SHA is derived from the last commit id of a module 
$(__NEW_MODULE__)_CACHE_MODE  := GIT_CONTENT_SHA 

# List all the environment flags that module depends on
# SONIC_COMMON_FLAGS_LIST => It includes the defaults flags like SONIC_DEBUGGING_ON, SONIC_PROFILE_ON etc
$(__NEW_MODULE__)_DEP_FLAGS   := $(SONIC_COMMON_FLAGS_LIST)

# List all the dependency files
$(__NEW_MODULE__)_DEP_FILES   := $(DEP_FILES)

# List all the sub module dependendency files	
#$(__NEW_MODULE__)_SMDEP_FILES := $(SMDEP_FILES)

# List all the sub module paths
#$(__NEW_MODULE__)_SMDEP_PATHS := $(SPATH)