This src directory must contain the following two files:
Project.tmpl
Imakefile
#include "Package.rules"
SRC_DIR = SourceDir
BUILD_DIR = BuildDir
DIST_DIR = DistDir
VPATH = $(SRC_DIR)$(REL_DIR)
WARN = $(WARN_ON)
DEBUG = $(DEBUG_ON)
DRV_DIST_INC = $(DIST_DIR)/include/chorus/drv
DRV_DIST_BIN = $(DIST_DIR)/bin/drv
INCLUDES = -I$(NUCLEUS_DIR)/include/chorus \
-I$(NUCLEUS_DIR)/include/stdc \
-I$(DIST_DIR)/include/chorus \
-I$(DIST_DIR)/include/chorus/drv/private \
-I$(SRC_DIR)$(REL_DIR)
CPU_LIB = $(NUCLEUS_DIR)/lib/cpu/cpu.s.a
EBD_LIB = $(NUCLEUS_DIR)/lib/embedded/libebd.s.a
DRV_LIBS = $(CPU_LIB) $(EBD_LIB)
The DRV_DIST_INC and DRV_DIST_BIN variables define paths where includes and binaries will be exported. This Project.tmpl file can be modified to add new variables or modify existing ones, for example to add a new include path or add a new library (DRV_LIBS).
#define IHaveSubdirs SUBDIRS = keybrd
This Imakefile lists all of the sub-directories for each driver class and needs updapting to cater for your own drivers.