This src directory must contain the following two files:
#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.