diff --git a/GNUmakefile b/GNUmakefile
deleted file mode 100644
index d98fb013ff0417f3c6b19f6739c9577d4b2e3b92..0000000000000000000000000000000000000000
--- a/GNUmakefile
+++ /dev/null
@@ -1,24 +0,0 @@
-LP_SRC = $(shell find . -type f -name "*.lp")
-LP_OBJ = $(LP_SRC:%.lp=%.lpo)
-
-all: $(LP_OBJ)
-
-$(LP_OBJ)&: $(LP_SRC)
-	lambdapi check --gen-obj $^
-
-install: $(LP_OBJ) lambdapi.pkg
-	lambdapi install lambdapi.pkg $(LP_OBJ) $(LP_SRC)
-
-.PHONY: uninstall
-uninstall:
-	lambdapi uninstall lambdapi.pkg
-
-.PHONY: clean
-clean:
-	$(RM) -r $(LP_OBJ)
-
-tests:
-	@echo "Checking [core] prelude"
-	lambdapi prelude/core/*.lp
-	@echo "Checking [cert] prelude"
-	lambdapi prelude/cert_f/*.lp
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..e19ff77590969f12db8f3d7b7d79b229cdc4c992
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,22 @@
+LP = lambdapi
+LP_SRC != find . -type f -name "*.lp"
+LP_OBJ = ${LP_SRC:S/.lp$/.lpo/}
+
+.SUFFIXES: .lpo .lp
+
+all: ${LP_OBJ}
+
+.lp.lpo:
+	${LP} check --gen-obj $<
+
+.PHONY: install
+install: ${LP_OBJ} lambdapi.pkg
+	${LP} install lambdapi.pkg ${LP_OBJ} ${LP_SRC}
+
+.PHONY: uninstall
+uninstall:
+	${LP} uninstall lambdapi.pkg
+
+.PHONY: clean
+clean:
+	rm ${LP_OBJ}