From 920aed36f81bcce40c9f1c5bcda906a13e4fb5e4 Mon Sep 17 00:00:00 2001 From: Tristan Riehs Date: Tue, 4 Aug 2026 20:40:44 +0200 Subject: Start rewriting the build system Good old makefiles should do the job. --- Makefile | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 Makefile (limited to 'Makefile') 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 -- cgit v1.2.3