summaryrefslogtreecommitdiffstats
path: root/build/deps.mk
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2024-04-29 15:30:39 -0400
committerTavian Barnes <tavianator@tavianator.com>2024-04-29 16:25:46 -0400
commit37caa3d71fd8bb4d0d9204e4a2f5cac234fa25fd (patch)
treeaf4dd493b89a17dfdce2957dac90f068decf1667 /build/deps.mk
parentb8ed989642b9f0f6c1301bcff6f1498935cbd81c (diff)
downloadbfs-37caa3d71fd8bb4d0d9204e4a2f5cac234fa25fd.tar.xz
build: Replace `make config` with a `./configure` script
This lets us do more traditional out-of-tree builds like $ ../path/to/bfs/configure $ make The .mk files are moved from ./config to ./build, mostly so that ./configure will auto-complete easily.
Diffstat (limited to 'build/deps.mk')
-rw-r--r--build/deps.mk18
1 files changed, 18 insertions, 0 deletions
diff --git a/build/deps.mk b/build/deps.mk
new file mode 100644
index 0000000..e8dd9fb
--- /dev/null
+++ b/build/deps.mk
@@ -0,0 +1,18 @@
+# Copyright © Tavian Barnes <tavianator@tavianator.com>
+# SPDX-License-Identifier: 0BSD
+
+# Makefile that generates gen/deps.mk
+
+include build/prelude.mk
+include gen/vars.mk
+include gen/flags.mk
+include build/exports.mk
+
+gen/deps.mk::
+ ${MSG} "[ GEN] $@"
+ printf '# %s\n' "$@" >$@
+ if build/cc.sh -MD -MP -MF /dev/null build/empty.c; then \
+ printf 'DEPFLAGS := -MD -MP\n'; \
+ fi >>$@ 2>$@.log
+ ${VCAT} $@
+ printf -- '-include %s\n' ${OBJS:.o=.d} >>$@