
GHC	 = ghc
HCFLAGS  = -O2 -Wall -threaded
SRCDIR   = .
BUILDDIR = dist
HSMAIN   = Main.hs
TARGET   = test
CBITS    =
CUBITS   =

OBJS     = $(CUBITS:%.cu=$(BUILDDIR)/%.o)

all: dirs $(CBITS) $(OBJS)
	$(GHC) --make $(HCFLAGS) -odir $(BUILDDIR) -hidir $(BUILDDIR) -i$(SRCDIR) $(HSMAIN) $(CBITS) $(OBJS) -o $(TARGET)

$(BUILDDIR)/%.o: %.cu
	nvcc -c -O2 $< -o $@

dirs:
	@mkdir -p $(BUILDDIR)/$(SRCDIR)

clean:
	$(RM) -r $(BUILDDIR)
	$(RM) $(TARGET)

