summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile36
1 files changed, 36 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..869ee4f
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,36 @@
+
+define newline
+
+
+endef
+
+shell-quote = '$(subst $(newline),'\$(newline)',$(subst ','\'',$(1)))'
+
+
+ifdef nixpkgs
+ override nixpkgs := $(call shell-quote,$(nixpkgs))
+else
+ nixpkgs = 'import <stockholm>'
+endif
+
+.PHONY: _default
+_default: ghci
+
+.PHONY: clean
+clean:
+ @find * -type f \( -name \*.o -o -name \*.hi \) -exec rm -v \{\} \;
+
+.PHONY: ghci
+ghci: shell.nix
+ nix-shell --arg nixpkgs $(nixpkgs) --command 'exec ghci -Wall -fobject-code'
+
+.PHONY: install
+install:
+ $(error to install run "make result && nix-env -i ./result")
+
+.PHONY: result
+result: shell.nix
+ nix-build --arg nixpkgs $(nixpkgs) ./shell.nix
+
+shell.nix: $(wildcard *.cabal)
+ cabal2nix --shell . > $@