hake: switching include paths and adding additional includes to K1om
authorReto Achermann <reto.achermann@inf.ethz.ch>
Thu, 18 Jun 2015 15:36:07 +0000 (17:36 +0200)
committerReto Achermann <reto.achermann@inf.ethz.ch>
Fri, 19 Jun 2015 10:09:29 +0000 (12:09 +0200)
Moving application specific includes before the standard ones

Adding the x86_64 includes after the k1om to support both headers

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

hake/ArchDefaults.hs
hake/K1om.hs
hake/RuleDefs.hs
hake/symbolic_targets.mk

index 521a21a..49d4ef2 100644 (file)
@@ -143,7 +143,7 @@ options arch archFamily = Options {
 -- C compiler
 --
 cCompiler arch compiler opts phase src obj = 
-    let incls = (optIncludes opts) ++ (extraIncludes opts)
+    let incls = (extraIncludes opts) ++ (optIncludes opts)
         flags = (optFlags opts) 
                 ++ (optDefines opts)
                 ++ [ Str f | f <- extraFlags opts ]
@@ -159,7 +159,7 @@ cCompiler arch compiler opts phase src obj =
 -- the C preprocessor, like C compiler but with -E
 --
 cPreprocessor arch compiler opts phase src obj = 
-    let incls = (optIncludes opts) ++ (extraIncludes opts)
+    let incls = (extraIncludes opts) ++ (optIncludes opts)
         flags = (optFlags opts) 
                 ++ (optDefines opts)
                 ++ [ Str f | f <- extraFlags opts ]
@@ -177,7 +177,7 @@ cPreprocessor arch compiler opts phase src obj =
 -- C++ compiler
 --
 cxxCompiler arch cxxcompiler opts phase src obj = 
-    let incls = (optIncludes opts) ++ (extraIncludes opts)
+    let incls = (extraIncludes opts) ++ (optIncludes opts)
         flags = (optCxxFlags opts) 
                 ++ (optDefines opts)
                 ++ [ Str f | f <- extraCxxFlags opts ]
@@ -194,7 +194,7 @@ cxxCompiler arch cxxcompiler opts phase src obj =
 -- Create C file dependencies
 --
 makeDepend arch compiler opts phase src obj depfile =
-    let incls = (optIncludes opts) ++ (extraIncludes opts)
+    let incls = (extraIncludes opts) ++ (optIncludes opts)
         flags = (optFlags opts) 
                 ++ (optDefines opts)
                 ++ [ Str f | f <- extraFlags opts ]
@@ -214,7 +214,7 @@ makeDepend arch compiler opts phase src obj depfile =
 -- Create C++ file dependencies
 --
 makeCxxDepend arch cxxcompiler opts phase src obj depfile =
-    let incls = (optIncludes opts) ++ (extraIncludes opts)
+    let incls = (extraIncludes opts) ++ (optIncludes opts)
         flags = (optCxxFlags opts) 
                 ++ (optDefines opts)
                 ++ [ Str f | f <- extraCxxFlags opts ]
@@ -235,7 +235,7 @@ makeCxxDepend arch cxxcompiler opts phase src obj depfile =
 --
 cToAssembler :: String -> String -> Options -> String -> String -> String -> String -> [ RuleToken ]
 cToAssembler arch compiler  opts phase src afile objdepfile =
-    let incls = (optIncludes opts) ++ (extraIncludes opts)
+    let incls = (extraIncludes opts) ++ (optIncludes opts)
         flags = (optFlags opts) 
                 ++ (optDefines opts)
                 ++ [ Str f | f <- extraFlags opts ]
@@ -253,7 +253,7 @@ cToAssembler arch compiler  opts phase src afile objdepfile =
 --
 assembler :: String -> String -> Options -> String -> String -> [ RuleToken ]
 assembler arch compiler opts src obj = 
-    let incls = (optIncludes opts) ++ (extraIncludes opts)
+    let incls = (extraIncludes opts) ++ (optIncludes opts)
         flags = (optFlags opts) 
                 ++ (optDefines opts)
                 ++ [ Str f | f <- extraFlags opts ]
index 2be496e..bbe2991 100644 (file)
@@ -84,6 +84,9 @@ ourLdFlags = [ Str "-Wl,-z,max-page-size=0x1000",
 ldFlags = ArchDefaults.ldFlags arch ++ ourLdFlags
 ldCxxFlags = ArchDefaults.ldCxxFlags arch ++ ourLdFlags
 
+kernelOptIncludes = [NoDep SrcTree "src" ("/include/target/x86_64"), 
+                     NoDep SrcTree "src" ("/include/arch/x86_64")] 
+
 options = (ArchDefaults.options arch archFamily) { 
             optFlags = cFlags,
             optCxxFlags = cxxFlags,
@@ -91,7 +94,11 @@ options = (ArchDefaults.options arch archFamily) {
             optLdFlags = ldFlags,
             optLdCxxFlags = ldCxxFlags,
             optInterconnectDrivers = ["lmp", "ump", "multihop"],
-            optFlounderBackends = ["lmp", "ump", "multihop"]
+            optFlounderBackends = ["lmp", "ump", "multihop"],
+            optIncludes = ArchDefaults.cStdIncs arch archFamily
+                          ++
+                          [NoDep SrcTree "src" ("/include/target/x86_64"), 
+                           NoDep SrcTree "src" ("/include/arch/x86_64")]
           }
 
 --
index 6c48993..9f658cf 100644 (file)
@@ -117,6 +117,11 @@ archFamily arch = optArchFamily (options arch)
 --
 -------------------------------------------------------------------------
 
+kernelOptIncludes :: String -> [ RuleToken ]
+kernelOptIncludes arch
+    | arch == "k1om"  = K1om.kernelOptIncludes
+    | otherwise = [ ]
+
 kernelIncludes arch = [ NoDep BuildTree arch f | f <- [
                     "/include" ]]
                  ++
@@ -129,6 +134,7 @@ kernelIncludes arch = [ NoDep BuildTree arch f | f <- [
                     Config.libcInc,
                     "/include/c",
                     "/include/target" ./. archFamily arch]]
+                 ++ kernelOptIncludes arch
 
 kernelOptions arch = Options {
             optArch = arch,
index bc2d803..c1ffed4 100644 (file)
@@ -27,7 +27,7 @@ ARM_OBJCOPY?=arm-linux-gnueabi-objcopy
 K1OM_OBJCOPY?=k1om-mpss-linux-objcopy
 
 # upload Xeon Phi images to nfs share (leave blank to cancel)
-BARRELFISH_NFS_DIR ?="emmentaler.ethz.ch:/mnt/local/nfs/barrelfish/xeon_phi"
+BARRELFISH_NFS_DIR ?="emmentaler1.ethz.ch:/mnt/local/nfs/barrelfish/xeon_phi"
 
 # All binaries of the RCCE LU benchmark
 BIN_RCCE_LU= \