aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--Makefile27
2 files changed, 13 insertions, 19 deletions
diff --git a/.gitignore b/.gitignore
index 95c0847..9b1c8b1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1 @@
-/forge
-/source.tar.gz
-*.c.BAK
-*.o
+/dist
diff --git a/Makefile b/Makefile
index 2dc95f5..4a049fa 100644
--- a/Makefile
+++ b/Makefile
@@ -7,29 +7,26 @@
# some other build system).
#
-.PHONY: clean
+.PHONY: clean all
CFLAGS = -Wall -Wextra -pedantic -std=c99 -D_GNU_SOURCE
-VERSION = $(shell git describe --tags --always --dirty)
SOURCE_FILES = $(shell git ls-files)
-EMBED = git2d/git2d hookc/hookc $(wildcard LICENSE*) $(wildcard forged/static/*) $(wildcard forged/templates/*)
-EMBED_ = $(EMBED:%=forged/internal/embed/%)
-forge: $(EMBED_) $(SOURCE_FILES)
- CGO_ENABLED=0 go build -o forge -ldflags '-extldflags "-f no-PIC -static" -X "go.lindenii.runxiyu.org/forge/forged/internal/unsorted.version=$(VERSION)"' -tags 'osusergo netgo static_build' ./forged
+all: dist/forged dist/git2d dist/hookc
-hookc/hookc:
+dist/forged: $(SOURCE_FILES)
+ mkdir -p dist
+ CGO_ENABLED=0 go build -o dist/forged -ldflags '-extldflags "-f no-PIC -static"' -tags 'osusergo netgo static_build' ./forged
-git2d/git2d: $(wildcard git2d/*.c)
- $(CC) $(CFLAGS) -o git2d/git2d $^ $(shell pkg-config --cflags --libs libgit2) -lpthread
+dist/git2d: $(wildcard git2d/*.c)
+ mkdir -p dist
+ $(CC) $(CFLAGS) -o dist/git2d $^ $(shell pkg-config --cflags --libs libgit2) -lpthread
+
+dist/hookc: $(wildcard hookc/*.c)
+ mkdir -p dist
+ $(CC) $(CFLAGS) -o dist/hookc $^
clean:
rm -rf forge hookc/hookc git2d/git2d */*.o
-forged/internal/embed/%: %
- @mkdir -p $(shell dirname $@)
- @cp $^ $@
-
-forged/internal/embed/.gitignore:
- @touch $@