
import Control.Concurrent
import Control.Monad
import System.Cmd
import System.Directory
import System.Exit

main = do
    createDirectoryIfMissing True "1"
    createDirectoryIfMissing True "2"
    system_ "ghc -c -odir 1 -hidir 1 Main.hs"
    system_ "ghc -c -odir 2 -hidir 2 Main.hs"
    forkIO $ system_ "ghc -o2/Main.exe 2/Main.o -package directory -package process"
    system_ "ghc -o1/Main.exe 1/Main.o -package directory -package process"
    getLine

system_ cmd = do
    x <- system cmd
    when (x /= ExitSuccess) $
        print ("FAILED", cmd)
