bash: Fix errstr
[akaros.git] / tools / Makefrag
index 6d494fd..5b430ea 100644 (file)
@@ -1,26 +1,30 @@
 # Helper for writing application Makefiles
 #
-# Those apps should include this directly and be located three directories down
-# from the AKAROS_ROOT.
+# Those apps should include this directly.
 #
 # Other than providing defaults for things like AKAROS_ROOT, the main thing
 # this does is set the cross compiler.  You can override some things with a
 # Makelocal.
 #
-# Exports CROSS_COMPILE, ARCH, KBUILD_VERBOSE, Q, MAKEFLAGS, BUILDDIR,
-# AKAROS_ROOT, MAKE_JOBS FIRST_KFS_PATH, KFS_ROOT
+# The calling environment must have AKAROS_ROOT and AKAROS_XCC_ROOT set.
+#
+# Exports CROSS_COMPILE, ARCH, KBUILD_VERBOSE, Q, MAKEFLAGS, AKAROS_ROOT,
+# AKAROS_XCC_ROOT, AKAROS_PREFIX, AKAROS_SYSROOT, MAKE_JOBS, FIRST_KFS_PATH,
+# KFS_ROOT
 
-# Do not:
-# o  use make's built-in rules and variables
-#    (this increases performance and avoids hard-to-debug behaviour);
-# o  print "Entering directory ...";
-MAKEFLAGS += -rR --no-print-directory
+# Do not print "Entering directory ...";
+MAKEFLAGS += --no-print-directory
 
 # Overrides
 -include Makelocal
-BUILDDIR ?= $(shell pwd)
-AKAROS_ROOT ?= $(BUILDDIR)/../../..
-MAKE_JOBS ?= 4
+
+ifndef AKAROS_ROOT
+    $(error AKAROS_ROOT is empty!  You must set it!)
+endif
+ifndef AKAROS_XCC_ROOT
+    $(error AKAROS_XCC_ROOT is empty!  You must set it!)
+endif
+
 FIRST_KFS_PATH ?= $(AKAROS_ROOT)/kern/kfs
 KFS_ROOT = $(FIRST_KFS_PATH)
 
@@ -64,3 +68,7 @@ ifeq ($(CROSS_COMPILE),)
     endif
     CROSS_COMPILE := $(ARCH)-ucb-akaros-
 endif
+
+# strip the trailing - from CROSS_COMPILE
+AKAROS_PREFIX = $(shell x=$(CROSS_COMPILE); echo $${x%?})
+AKAROS_SYSROOT = $(AKAROS_XCC_ROOT)/$(AKAROS_PREFIX)/sysroot/