...
DBD defines the database definition made for and baked into your app.
<app_name>_DBD defines the database definitions that get baked into your app. This is additive, so use +=.
USR_INCLUDES defines the include directories to search for the header files that your app needs, like include directories for libraries you want to bake in. For some reason, -I (dash eye) is not automatically prepended, so you need to preface the directory with -I, e.g. -I$(MY_LIB_INCLUDE). Also, since you are adding include directories, you need to use +=.
USR_LIBS defines the libraries that are baked into your application. This is additive, so use +=.
<lib>_DIR defines the directory in which the library (.a or .so) will be found.
USR_LIBS $(PROD_IOC)_DBD defines the libraries database definitions that are get baked into your applicationapp. This is additive, so use +=.
<app_name>$(PROD_IOC)_SRCS I'm not sure what this is.
<app_name>$(PROD_IOC)_SRCS_DEFAULT defines the source files for your application. This is additive, so use +=.
<app_name>$(PROD_IOC)_LIBS defines the EPICS modules (not libraries) that are baked into your application.
...