X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=README;h=006b57f62eaeacb6cb0927dcfe67b3968121e15b;hb=c6e0abe539310d9c3a612dd92f59d106aa8674c7;hp=6c9e76b626d1087ce23b8488b1b784ec2f67c06e;hpb=afecfed56c97d5870f82706e84db5473c5f383f4;p=subdirmk.git diff --git a/README b/README index 6c9e76b..006b57f 100644 --- a/README +++ b/README @@ -183,7 +183,7 @@ In more detail, with all the various options laid out: for build source build source This lc &file &^file $(PWD)/&file $(abs_src)/&file - directory any &/file &^/file $(PWD)&/file $(abs_src)/&/file + directory any &/file &^/file $(PWD)/&/file $(abs_src)/&/file several & f g h &^ f g h $(addprefix...) Top lc file &~file @@ -231,14 +231,14 @@ empty string). &~/ => $(top_srcdir)/ In general: - = return subdir without delimiter (not allowed with `,' `;') - , pathname of this subdirectory in source tree - ; pathname of top level of source tree + = return subdir without delimiter (not allowed with `^' `~') + ^ pathname of this subdirectory in source tree + ~ pathname of top level of source tree / terminates the escape (needed if next is not lwsp or space) lwsp starts multi-word processing (see below) So pathname syntax is a subset of: - '&' [ ',' | ';' ] [ lc | '/' ] + '&' [ '^' | '~' ] [ lc | '/' ] && => && for convenience in shell runes \& => & general escaping mechanism @@ -266,11 +266,11 @@ So pathname syntax is a subset of: &# delete everything to end of line (useful if the RHS contains unrecognised & constructions) -&!STUFF +&:changequote STUFF changes the escape sequence from & to literally STUFF STUFF may be any series of of non-whitespace characters, - and is terminated by EOL or lwsp. &!STUFF and the lwsp - are discarded. + and is terminated by EOL or lwsp. The whole line is + discarded. After this, write STUFF instead of &, everywhere. The effect is global and lasts until the next setting. @@ -278,9 +278,9 @@ So pathname syntax is a subset of: it back before using &:include. Notably - STUFFSTUFF => STUFFSTUFF - \STUFF => STUFF - STUFF!& set escape back to & + STUFFSTUFF => STUFFSTUFF + \STUFF => STUFF + STUFF:changequote & => set escape back to & &TARGETS_things Handled specially. If mentioned, declares that this @@ -371,6 +371,13 @@ 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. +If you go back and forth between different versions of your code you +can sometimes find that `make' complains that one of your Subdir.sd.mk +files is missing: typically, if iot was used and therefore a +dependency in some other version of your code. If you run `make +clean' (or `make realclean') these dependencies are suppressed, which +will clear up the problem. + Legal information -----------------