As a first categorization (one I just made up), you can put commands
into three groups:
1) Commands that read/status things (ls, top, du, df)
2) Text-processing commands (wc, sed, awk)
3) Commands that do things (gcc, chmod, mkdir)
If you run them without any arguments, all commands in 1) output
whatever they read, while commands in 2) just block on stdin. In
contrast, commands in 3) just display some usage/help info. It seems
to me tup falls into the third category, though historically make
would put the build system into the first.
Also tup used to have more separate commands, though they've been
consolidated or put into the list of secondary commands (in the man
page).
Plus, you can always alias it to 'tu' or something :)
-Mike
.PHONY: all
all:
@tup upd
And then continue typing "make" as before :)
If typing two words for each rebuild is cumbersome for you,
how about typing nothing?
After 'tup config autoupdate 1; tup monitor',
tup will automatically do the rebuild when input files are modified.
(Just in case you overlooked this feature.)
I don't use autoupdate much myself, so it could be buggy. One issue I
am aware of is if you modify a file when the monitor is running, then
start the monitor, the autoupdate won't kick off. So you either have
to touch a file, or run 'tup upd' manually in that case until it gets
fixed.
-Mike