@@ -44,34 +44,30 @@ main = do
4444 let srcDir = outputDir </> "src"
4545 createDirectory srcDir
4646
47− let buildDir = outputDir </> "build"
48− createDirectory buildDir
49−
50− let makefile = outputDir </> "Makefile"
51− writeFile makefile makefileText
52−
5347 let passingDir = baseDir </> "examples" </> "passing"
5448 passingTestCases <- sort . filter (".purs" `isSuffixOf`) <$> getDirectoryContents passingDir
5549
50+ -- Auto-generate Makefile
51+ setCurrentDirectory outputDir
52+ callProcess "../.cabal-sandbox/bin/pcc" []
53+
5654 let tests = filter (`notElem` skipped) passingTestCases
5755
5856 -- Run the tests
5957 --
6058 forM_ tests $ \inputFile -> do
6159 --
62− -- Compile PureScript file
60+ -- Compile/build
6361 --
6462 putStrLn $ "Compiling test " ++ inputFile ++ " ..."
6563 setCurrentDirectory outputDir
6664 copyFile (passingDir </> inputFile) (srcDir </> inputFile)
67− callProcess "make" ["clean", "main"]
65+ callProcess "make" ["clean"]
66+ callProcess "make" ["debug"]
6867 --
69− -- Build and run C++ files
68+ -- Run C++ files
7069 --
71− setCurrentDirectory buildDir
72− callProcess "cmake" ["../output"]
73− callProcess "make" []
74− callProcess (buildDir </> "Main") []
70+ callProcess ("output" </> "bin" </> "main") []
7571
7672 removeFile (srcDir </> inputFile)
7773
@@ -116,22 +112,6 @@ fetchPackages = do
116112 callProcess "git" $ ["clone"] ++ (if null branch then [] else ["--branch", branch]) ++ [repo ++ (fst package) ++ ".git"]
117113 setCurrentDirectory baseDir
118114
119−-------------------------------------------------------------------------------
120−makefileText :: String
121−-------------------------------------------------------------------------------
122−makefileText = intercalate "\n" lines'
123− where lines' = [ "PCC := '../.cabal-sandbox/bin/pcc'"
124− , "MODULE_DIR='packages'"
125− , "SOURCE_DIR='src'"
126− , "MODULES := $(shell find $(MODULE_DIR) -name '*.purs' | grep -v \\/test\\/ | grep -v \\/example\\/ | grep -v \\/examples\\/)"
127− , "SOURCES := $(shell find $(SOURCE_DIR) -name '*.purs')"
128− , "all: main"
129− , "main:"
130− , "\t$(PCC) $(MODULES) $(SOURCES)"
131− , "clean:"
132− , "\t@rm -rf output/*"
133− ]
134−
135115-------------------------------------------------------------------------------
136116skipped :: [String]
137117-------------------------------------------------------------------------------