summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile26
-rw-r--r--snap/snapcraft.yaml20
2 files changed, 43 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index e0032f2..99ddf7e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,24 @@
-planr:
- go build -o planr ./cmd/main.go
+ifeq ($(PREFIX),)
+ PREFIX := /usr/local
+endif
-.PHONY: planr
+ifeq ($(BINDIR),)
+ BINDIR := /bin
+endif
+
+CMD := planr
+
+$(CMD):
+ go build -o $(CMD) ./cmd/main.go
+
+install:
+ mkdir -p $(DESTDIR)$(PREFIX)$(BINDIR)/
+ install -D -m 755 $(CMD) $(DESTDIR)$(PREFIX)$(BINDIR)/
+
+uninstall:
+ rm -rf $(DESTDIR)$(PREFIX)$(BINDIR)/$(CMD)
+
+clean:
+ rm -rf $(CMD)
+
+.PHONY: clean install uninstall $(CMD)
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
new file mode 100644
index 0000000..1e9ff34
--- /dev/null
+++ b/snap/snapcraft.yaml
@@ -0,0 +1,20 @@
+name: planr
+base: core18
+version: '0.0.1'
+summary: An open-source, distributed code grading tool for the classroom
+description: |
+ PlanR aggregates various results from testing frameworks automating grading. It aims to provide simple and modular configuration. The configuration language can provide context and grading information to test cases.
+
+grade: devel
+confinement: classic
+
+parts:
+ planr:
+ plugin: make
+ source: .
+ make-parameters:
+ - PREFIX=/usr
+
+apps:
+ planr:
+ command: usr/bin/planr