-# -- See comments in ghc/compiler/main/SysTools.lhs
-
-
-PROJECT_DIR := ghc
-GHC_DRIVER_DIR := $(PROJECT_DIR)/driver
-GHC_UTILS_DIR := $(PROJECT_DIR)/utils
-
-GHC_TOUCHY_DIR = $(GHC_UTILS_DIR)/touchy
-
-GHC_UNLIT_DIR = $(GHC_UTILS_DIR)/unlit
-GHC_UNLIT = unlit$(EXE_SUFFIX)
+# xxx_DIR_REL a directory relative to $(GHC_TOP)
+# xxx_DIR a directory (including $(GHC_TOP))
+
+GHC_INCLUDE_DIR_REL = includes
+GHC_COMPILER_DIR_REL = compiler
+GHC_RUNTIME_DIR_REL = rts
+GHC_UTILS_DIR_REL = utils
+GHC_DRIVER_DIR_REL = driver
+GHC_LIB_DIR_REL = lib
+
+GHC_UNLIT_DIR_REL = $(GHC_UTILS_DIR_REL)/unlit
+GHC_HSTAGS_DIR_REL = $(GHC_UTILS_DIR_REL)/hasktags
+GHC_TOUCHY_DIR_REL = $(GHC_UTILS_DIR_REL)/touchy
+GHC_PKG_DIR_REL = $(GHC_UTILS_DIR_REL)/ghc-pkg
+GHC_GENPRIMOP_DIR_REL = $(GHC_UTILS_DIR_REL)/genprimopcode
+GHC_GENAPPLY_DIR_REL = $(GHC_UTILS_DIR_REL)/genapply
+GHC_MANGLER_DIR_REL = $(GHC_DRIVER_DIR_REL)/mangler
+GHC_SPLIT_DIR_REL = $(GHC_DRIVER_DIR_REL)/split
+GHC_SYSMAN_DIR_REL = $(GHC_RUNTIME_DIR_REL)/parallel
+GHC_LIB_COMPAT_DIR_REL = $(GHC_LIB_DIR_REL)/compat
+
+GHC_INCLUDE_DIR = $(GHC_TOP)/$(GHC_INCLUDE_DIR_REL)
+GHC_COMPILER_DIR = $(GHC_TOP)/$(GHC_COMPILER_DIR_REL)
+GHC_RUNTIME_DIR = $(GHC_TOP)/$(GHC_RUNTIME_DIR_REL)
+GHC_UTILS_DIR = $(GHC_TOP)/$(GHC_UTILS_DIR_REL)
+GHC_DRIVER_DIR = $(GHC_TOP)/$(GHC_DRIVER_DIR_REL)
+GHC_PKG_DIR = $(GHC_TOP)/$(GHC_PKG_DIR_REL)
+GHC_GENPRIMOP_DIR = $(GHC_TOP)/$(GHC_GENPRIMOP_DIR_REL)
+GHC_GENAPPLY_DIR = $(GHC_TOP)/$(GHC_GENAPPLY_DIR_REL)
+GHC_MANGLER_DIR = $(GHC_TOP)/$(GHC_MANGLER_DIR_REL)
+GHC_SPLIT_DIR = $(GHC_TOP)/$(GHC_SPLIT_DIR_REL)
+GHC_LIB_COMPAT_DIR = $(GHC_TOP)/$(GHC_LIB_COMPAT_DIR_REL)