From 172580f2d7fb712f40e036c1417718b443e4adb9 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 14 Nov 2019 02:03:45 +0000 Subject: [PATCH 1/1] Some hints in docs Signed-off-by: Ian Jackson --- README | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README b/README index e5ef4b4..0ab3b50 100644 --- a/README +++ b/README @@ -275,6 +275,28 @@ have: &:include subdirmk/cdeps.sd.mk &:include subdirmk/clean.sd.mk +Hints +----- + +You can convert your project incrementally. Start with the top-level +Makefile.in and rename it to Subdir.sd.mk, and add the appropriate +stuff to configure.ac, and fix everything up. Leave the existing +$(MAKE) -C for your existing subdirectories alone. Then you can +convert individual subdirectories, or classes of subdirectories. + +Aside from this, be very wary of any invocation of $(MAKE) anywhere. +This is a frequent source of concurrency bugs in recursive make build +systems. When combined with nonrecursive make there is no +separate-directory barrier stopping the different invocations ending +up trying to make the same targets at the same time, which causes +hideous racy lossage. There are ways to get this to work reliably but +it is advanced stuff. + +If you make syntax errors, or certain kinds of other errors, in your +makefiles, you may find that just `make' is broken now and cannot get +far enough to regenerate a working set of makefiles. If this happens +just rerun ./config.status by hand. + Legal information ----------------- -- 2.30.2