miniroon

Simplistic macaroon-based authorization for Unix systems
git clone https://ccx.te2000.cz/git/miniroon
Log | Files | Refs | README

commit 01ae915757ea8d389874e7b2aa248c99a8363ee9
parent ce7260449861cf453199c66c940bbe0f4ce69f60
Author: Jan Pobrislo <ccx@te2000.cz>
Date:   Mon, 12 May 2025 00:43:43 +0000

Tweak build scripts to be directory agnostic

Diffstat:
MMakefile | 11+++++++++++
Mbuild_scripts/codedeps.awk | 5+++--
Msrc/Makefile | 2+-
Msrc/build.mk | 10+++++-----
4 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/Makefile b/Makefile @@ -1,6 +1,17 @@ PYTHON_EXE?=python3 cache?=. build_scripts:=./build_scripts +src_dir:=src +build_dir:=src/build +test_dir:=./test + +default: pycodestyle +.PHONY: default + +#include src/build.mk +tools: + $(MAKE) -C src tools +.PHONY: tools # re-evaluate each time because there's no sensible way to check # whether the python interpreter changed diff --git a/build_scripts/codedeps.awk b/build_scripts/codedeps.awk @@ -15,6 +15,7 @@ BEGIN { function depname(s) { sub(/"$/, "", s) sub(/^"/, "", s) + sub(/^\.\//, "$(src_dir)/", s) return s } @@ -25,7 +26,7 @@ function deparray(fname) { function objfile(fname) { sub(/\.c$/, ".o", fname) - return "build/" fname + return "$(build_dir)/" fname } END { @@ -42,7 +43,7 @@ END { if(f == srcname) { continue } - printf "include build/%s.deps.mk\n", f + printf "include $(build_dir)/%s.deps.mk\n", f append = 1 } if(append) { diff --git a/src/Makefile b/src/Makefile @@ -1,6 +1,6 @@ build_scripts:=../build_scripts src_dir:=. -build_dir:=./build +build_dir:=build test_dir:=../test all: tools diff --git a/src/build.mk b/src/build.mk @@ -22,17 +22,17 @@ test: $(build_dir)/miniroon-test ## pattern rules: -%_perfhash.c %_perfhash.h: %_perfhash.txt $(build_scripts)/genhash - $(build_scripts)/genhash '$*_perfhash' '$<' +$(src_dir)/%_perfhash.c $(src_dir)/%_perfhash.h: $(src_dir)/%_perfhash.txt $(build_scripts)/genhash + cd '$(src_dir)' && '$(abspath $(build_scripts))/genhash' '$*_perfhash' '$<' -$(build_dir)/%.c.i: %.c $(build_scripts)/cc $(build_dir)/.exists - $(build_scripts)/cc -E -C -o '$@' '$*.c' +$(build_dir)/%.c.i: $(src_dir)/%.c $(build_scripts)/cc $(build_dir)/.exists + cd '$(src_dir)' && '$(abspath $(build_scripts))/cc' -E -C -o '$(abspath $@)' './$*.c' $(build_dir)/%.o: $(build_dir)/%.c.i $(build_scripts)/cc $(build_scripts)/cc -fpreprocessed -c -o '$@' '$(build_dir)/$*.c.i' $(build_dir)/%.c.deps.mk: $(build_dir)/%.c.i $(build_scripts)/codedeps.awk - awk -v srcname='$*.c' -v target='$(build_dir)/$*.c.i' -f $(build_scripts)/codedeps.awk '$(build_dir)/$*.c.i' >'$@.new' + awk -v srcname='$*.c' -v target='$*.c.i' -f $(build_scripts)/codedeps.awk '$(build_dir)/$*.c.i' >'$@.new' mv '$@.new' '$@' %/.exists: