chiark / gitweb /
Ian Jackson [Wed, 11 Dec 2019 13:24:47 +0000 (13:24 +0000)]
README: v2: Introduce &:changequote
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 8 Dec 2019 23:12:25 +0000 (23:12 +0000)]
&TARGETS*: make autogenerated targets .PHONY
Suggested-by: Mark Wooding <mdw@distorted.org.uk>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 8 Dec 2019 18:06:50 +0000 (18:06 +0000)]
docs: Minor fix to README
Reported-by: Mark Wooding <mdw@distorted.org.uk>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 8 Dec 2019 18:06:37 +0000 (18:06 +0000)]
docs: Minor fixes to regen.mk.in comment
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 24 Nov 2019 22:45:07 +0000 (22:45 +0000)]
subdirmk: clean.sd.mk: Delete .*~ too (eg .gitignore~)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 24 Nov 2019 22:44:36 +0000 (22:44 +0000)]
subdirmk: cdeps.sd.mk: Honour &CDEPS_OBJECTS
This makes this facility more flexible.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 23 Nov 2019 18:42:31 +0000 (18:42 +0000)]
subdirmk: Fix bug in regen.mk.in
Apparently, if you just write `;', make knows that the command can't
have done anything. It therefore concludes tha the target file cannot
have been updated and doesn't bother rereading it.
The result is that you end up using last run's makefiles.
Writing @: fixes this.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 17 Nov 2019 01:26:26 +0000 (01:26 +0000)]
subdirmk: Change stub force target to `run-main.mk'
This produces significantly better error messages:
[some error from actual makefiles]
make[1]: Leaving directory '/home/ian/wherever'
Makefile:6: recipe for target 'run-main.mk' failed
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 17 Nov 2019 01:21:51 +0000 (01:21 +0000)]
subdirmk: Fix bug when target in subdir exists
If you try to make a file that exists, the % rule doesn't seem to
match. But providing the dependency for all of $(MAKCMDGOALS)
works.
We have to mention `all' explicitly because it might not appear in
$(MAKECMDGOALS).
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 20:23:27 +0000 (20:23 +0000)]
Docs: Fix some leftover ; and ,
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 19:45:50 +0000 (19:45 +0000)]
subdirmk: Docs, go back to ^ and ~
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 19:40:59 +0000 (19:40 +0000)]
subdirmk: Go back to ^ and ~
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 19:36:39 +0000 (19:36 +0000)]
subdirmk: Implement new syntax
But I plan to go back to ^ and ~
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 15:43:14 +0000 (15:43 +0000)]
docs: Discuss variable settings and inclusion order
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 15:42:19 +0000 (15:42 +0000)]
subdirmk: Actually clear right variable
"subdirmk: main.mk: clear SUBDIRMK_MAKEFILES MAKEFILE_TEMPLATES"
cleared MAKEFILES by mistake (this was a rebase transposition error -
this commit originally came before "subdirmk: Rename MAKEFILES
variable".
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 14:54:48 +0000 (14:54 +0000)]
docs: Abolish all absolute pathname syntaxes
These are rare and make things much more confusing.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 14:26:12 +0000 (14:26 +0000)]
docs: Improve docs.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 14:25:51 +0000 (14:25 +0000)]
docs: Fill in an empty cell with a copy instead
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 14:15:48 +0000 (14:15 +0000)]
docs: Transpose columns in path syntax reference
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 14:13:44 +0000 (14:13 +0000)]
docs: Change . to require rather than imply @
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 14:03:18 +0000 (14:03 +0000)]
docs: Further corresponding new syntax
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 13:56:19 +0000 (13:56 +0000)]
docs: wip new syntax
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 13:33:26 +0000 (13:33 +0000)]
docs: Swap rows in syntax table
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 13:33:19 +0000 (13:33 +0000)]
docs: New plan for directory references, further
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 13:30:44 +0000 (13:30 +0000)]
docs: New plan for directory references, new
Not yet implemented. About to simplify this...
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 12:59:30 +0000 (12:59 +0000)]
docs: New plan for directory references
Not yet implemented. About to simplify this...
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 12:39:00 +0000 (12:39 +0000)]
docs: Summarise directory reference syntaxes, permute
Just permute the columns which seems to be clearer.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 12:36:23 +0000 (12:36 +0000)]
docs: Summarise directory reference syntaxes
This reveals it to be a bit of a mess.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 02:06:16 +0000 (02:06 +0000)]
Clarify incremental paragraph
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 02:05:11 +0000 (02:05 +0000)]
Clarify race lossage paragraph
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 02:03:45 +0000 (02:03 +0000)]
Some hints in docs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 00:00:11 +0000 (00:00 +0000)]
subdirmk: main.mk: clear SUBDIRMK_MAKEFILES MAKEFILE_TEMPLATES
Otherwise, if we reenter main.mk (for exmaple, there are some reasons
why one might want to $(MAKE) a particular target), and someone
foolishly said `export', we inherit SUBDIRMK_MAKEFILES from our
previous self and end up reading everything twice. That causes things
not to work very well.
While we're here, clear MAKEFILE_TEMPLATES too.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 00:20:07 +0000 (00:20 +0000)]
subdirmk: Rename MAKEFILES variable
This is very magic to make and the behaviour is very undesirable.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 00:13:24 +0000 (00:13 +0000)]
subdirmk: Honour CONFIG_STATUS_OUTPUTS
Principally to support autoheader.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 14 Nov 2019 00:00:02 +0000 (00:00 +0000)]
subdirmk: Make \& work (!)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 23:03:55 +0000 (23:03 +0000)]
Two minor docs fixes
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:58:03 +0000 (22:58 +0000)]
Drop AC_PROG_INSTALL and remove build-aux/install-sh from example
This is just deadweight. It's rather poor practice too.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:56:45 +0000 (22:56 +0000)]
test regeneration after a -included .in file changes
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:47:24 +0000 (22:47 +0000)]
test regeneration after a &:-included file (ie a .sd.mk) changes
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:47:13 +0000 (22:47 +0000)]
Tests: use set -x
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:38:36 +0000 (22:38 +0000)]
Fix docs typo
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:38:23 +0000 (22:38 +0000)]
tests/check: New test script, quite basic
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:31:43 +0000 (22:31 +0000)]
Transpose directories
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:26:50 +0000 (22:26 +0000)]
Documentation for regen.mk
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:26:34 +0000 (22:26 +0000)]
realclean: Use @_SUBDIRMK_MAKEFILES@
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:25:46 +0000 (22:25 +0000)]
Drop Perdir.sd.mk from explicit MAKEFILE_TEMPLATES
generate does this itself now.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:14:48 +0000 (22:14 +0000)]
Documentation for usual.mk.in
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:12:10 +0000 (22:12 +0000)]
Documentation for clean.sd.mk and cdeps.sd.mk
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:11:47 +0000 (22:11 +0000)]
Move knowledge of DEPFILES into cdeps.sd.mk
No overall functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:04:32 +0000 (22:04 +0000)]
Introduce CDEPS_CFLAGS so without cdeps.sd.mk you don't get .*.d
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:03:57 +0000 (22:03 +0000)]
New &# feature
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 22:02:55 +0000 (22:02 +0000)]
More docs updates
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 21:42:10 +0000 (21:42 +0000)]
Merge branch 'master' of https://git.distorted.org.uk/~markw/subdirmk
Mark Wooding [Wed, 13 Nov 2019 19:17:40 +0000 (19:17 +0000)]
subdirmk/*: Some simple whitespace cleanups
Zap trailing whitespace, and spaces-followed-by-tabs. This commit is
empty in `git show -b'.
Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
Mark Wooding [Wed, 13 Nov 2019 19:24:41 +0000 (19:24 +0000)]
subdirmk/generate: Make `FORCE-ALWAYS-RUN' be `.PHONY'
Otherwise `touch FORCE-ALWAYS-RUN' stops your build from working, which
seems a shame, even though nobody should ever want to do this.
Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
Mark Wooding [Wed, 13 Nov 2019 19:08:46 +0000 (19:08 +0000)]
subdirmk/usual.mk.in: Fix `VPATH' setting
This file isn't processed through `generate', so `&' doesn't mean
anything special.
Use `$(top_srcdir)' here because we can rely on that being established
by `main.mk'.
Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
Mark Wooding [Wed, 13 Nov 2019 19:00:23 +0000 (19:00 +0000)]
subdirmk/regen.mk.in: Trim `$(srcdir)/' prefix from output makefile names
This doesn't make a difference if you're doing in-tree builds, of course.
Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
Mark Wooding [Wed, 13 Nov 2019 18:42:18 +0000 (18:42 +0000)]
subdirmk/generate: Supply default target if none given in command line
If you just run `make' then `$(MAKECMDGOALS)' is empty, so we get the
default target of `main.mk'. Nothing is set up by `usual.mk', so we
end up with `$(srcdir)/configure' established by `regen.mk'.
Instead, propagate `all' to the `main.mk' makefile. Maybe this should
be configurable, though I don't think that'll be very useful in real
life.
Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
Mark Wooding [Wed, 13 Nov 2019 18:48:42 +0000 (18:48 +0000)]
subdirmk/autogen.sh: Remove myself as copyright holder
I had nothing to do with this. My original proof-of-concept suggested
that developers use `autoreconf' to bootstrap the working tree.
Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
Ian Jackson [Wed, 13 Nov 2019 18:08:18 +0000 (18:08 +0000)]
more docs changes
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 18:05:11 +0000 (18:05 +0000)]
more docs fixes
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 18:00:18 +0000 (18:00 +0000)]
more docs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 17:56:08 +0000 (17:56 +0000)]
minor docs change
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 17:55:46 +0000 (17:55 +0000)]
abbreviate some copyright notices
No change to legal effect.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 17:55:02 +0000 (17:55 +0000)]
add copyright and licence notices to other files
In many cases I copied bits from mdw's originals, so they are all
potentially mdw's.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 17:53:55 +0000 (17:53 +0000)]
add copyright and licence notices to example .[ch] files
Checked with mdw on irc that this was his intent.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 17:51:58 +0000 (17:51 +0000)]
add legal information including clear copyright grant
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 17:51:30 +0000 (17:51 +0000)]
.gitignore: adjust some comments
Ian Jackson [Wed, 13 Nov 2019 17:50:56 +0000 (17:50 +0000)]
introduce some boilerplate files
Ian Jackson [Wed, 13 Nov 2019 17:20:22 +0000 (17:20 +0000)]
fix stub Makefile to use MAKECMDGOALS
otherwise if you give multiple goals it would reenter main.mk
Ian Jackson [Wed, 13 Nov 2019 17:20:12 +0000 (17:20 +0000)]
actually reject missing .sd.mk files when appropriate
Ian Jackson [Wed, 13 Nov 2019 17:17:28 +0000 (17:17 +0000)]
deps .*.d
Ian Jackson [Wed, 13 Nov 2019 16:52:49 +0000 (16:52 +0000)]
docs
Ian Jackson [Wed, 13 Nov 2019 16:52:43 +0000 (16:52 +0000)]
add missing ignore
Ian Jackson [Wed, 13 Nov 2019 16:52:29 +0000 (16:52 +0000)]
better generation of MAKEFILE_TEMPLATES (dedupe)
Ian Jackson [Wed, 13 Nov 2019 16:52:12 +0000 (16:52 +0000)]
do not demand \W after CAPS and lc
Ian Jackson [Wed, 13 Nov 2019 16:51:53 +0000 (16:51 +0000)]
make TARGETS make :: rules
Ian Jackson [Wed, 13 Nov 2019 16:12:20 +0000 (16:12 +0000)]
change filenames
Ian Jackson [Wed, 13 Nov 2019 15:27:02 +0000 (15:27 +0000)]
wip docs
Ian Jackson [Wed, 13 Nov 2019 15:26:43 +0000 (15:26 +0000)]
always run regenerate from config.status
it is too hard to figure out when to do this, and it is fast
Ian Jackson [Wed, 13 Nov 2019 15:20:56 +0000 (15:20 +0000)]
wip docs, before rename .mk.in
Ian Jackson [Wed, 13 Nov 2019 15:16:43 +0000 (15:16 +0000)]
make Perdir.mk.in optional
Ian Jackson [Wed, 13 Nov 2019 15:16:23 +0000 (15:16 +0000)]
further refactor filter_subdir_mk, replace loop with calls, nfc
Ian Jackson [Wed, 13 Nov 2019 15:15:41 +0000 (15:15 +0000)]
further refactor filter_subdir_mk, moving $srcdir, nfc
Ian Jackson [Wed, 13 Nov 2019 15:14:55 +0000 (15:14 +0000)]
refactor filter_subdir_mk, breaking out $pi, nfc
Ian Jackson [Wed, 13 Nov 2019 15:05:27 +0000 (15:05 +0000)]
wip docs
Ian Jackson [Wed, 13 Nov 2019 15:05:22 +0000 (15:05 +0000)]
sort regen
Ian Jackson [Wed, 13 Nov 2019 15:05:14 +0000 (15:05 +0000)]
various stuff into submakefiles
Ian Jackson [Wed, 13 Nov 2019 14:48:15 +0000 (14:48 +0000)]
wip docs
Ian Jackson [Wed, 13 Nov 2019 13:48:52 +0000 (13:48 +0000)]
move much into usual.mk.in
Ian Jackson [Wed, 13 Nov 2019 13:48:34 +0000 (13:48 +0000)]
check right thing in config_targets
Ian Jackson [Wed, 13 Nov 2019 13:48:21 +0000 (13:48 +0000)]
&:include feature
Ian Jackson [Wed, 13 Nov 2019 13:47:48 +0000 (13:47 +0000)]
$enoent_ok and GEN filehandle (nfc)
Ian Jackson [Wed, 13 Nov 2019 13:47:16 +0000 (13:47 +0000)]
buffering_output feature (nfc)
Ian Jackson [Wed, 13 Nov 2019 13:26:00 +0000 (13:26 +0000)]
break out process_input_mk (nfc)
Ian Jackson [Wed, 13 Nov 2019 13:13:19 +0000 (13:13 +0000)]
run config.status with selective tags, better, docs
Ian Jackson [Wed, 13 Nov 2019 13:04:43 +0000 (13:04 +0000)]
run config.status with selective tags
Ian Jackson [Wed, 13 Nov 2019 12:54:19 +0000 (12:54 +0000)]
WIP attempt to run config.status with selective tags
Does not work right now...
Ian Jackson [Wed, 13 Nov 2019 01:30:35 +0000 (01:30 +0000)]
clarify comment
Ian Jackson [Wed, 13 Nov 2019 01:24:52 +0000 (01:24 +0000)]
fix out of tree builds