aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorTristan Riehs <tristan.riehs@inria.fr>2026-08-04 20:40:44 +0200
committerTristan Riehs <tristan.riehs@inria.fr>2026-08-04 20:41:40 +0200
commit920aed36f81bcce40c9f1c5bcda906a13e4fb5e4 (patch)
treea62068cc334de9933140a2c9b5cbea70eef064ae /Makefile
parent5d6e434c896000c49a6953919acdcbaca8dfb86e (diff)
Start rewriting the build system
Good old makefiles should do the job.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile44
1 files changed, 44 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..776e988
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,44 @@
+PREFIX ?= /usr/local
+PROG ?= calculer
+CFLAGS ?= -O0 -g3
+LDFLAGS ?=
+LIBS ?=
+
+
+CALCULER_VERSION := 1.0
+
+__CFLAGS := -std=c99 \
+ -Wall \
+ -DCALCULER_VERSION=\"$(CALCULER_VERSION)\" \
+ $(shell pkg-config --cflags readline)
+__LDFLAGS :=
+__LIBS := $(shell pkg-config --libs readline)
+
+all: $(PROG)
+
+$(PROG): src/calc_data.o src/calculer.o src/disp.o src/input.o
+ $(CC) -o $@ $^ $(__LDFLAGS) $(__LIBS) $(LDFLAGS) $(LIBS)
+
+src/calc_data.o: src/calc_data.c src/calc_data.h
+src/calculer.o: src/calculer.c src/disp.h
+src/disp.o: src/disp.c src/disp.h
+.c.o:
+ $(CC) $(__CFLAGS) $(CFLAGS) -o $@ -c $<
+
+install: $(PROG)
+ mkdir -p $(PREFIX)/bin
+ install --mode=0755 $(PROG) $(PREFIX)/bin/
+
+uninstall:
+ rm -rf $(PREFIX)/bin/$(PROG)
+
+clean:
+ rm -rf $(PROG) *.tar.gz src/*.o
+
+dist:
+ git archive \
+ --output="calculer-$(CALCULER_VERSION).tar.gz" \
+ --prefix="calculer-$(CALCULER_VERSION)/" \
+ HEAD
+
+.PHONY: all clean dist install uninstall