I'm using some tool to extract data from one file into another, but it takes the tool minutes to start, and a lot of files are to be operated on. I could use one target rule that calls the tool and runs a tool-specific batch script, but at times I'd like to operate on single files also, and even more importantly, I don't want all files to be extracted, if only one of the source files changes.
I suggest the following approach:
all : top.ts ;
%.ts : %.src
@echo Making $@
@touch $@
%.v : %.src
@echo Making $@
<run tool and extract single file $@ from $*.src>
@echo " and creating $*.ts"
@touch $*.ts
@echo " and creating top.ts"
@touch top.ts
top.ts : een.ts twee.ts drie.ts
@echo $? were newer than $@
<run tool and extract files $(patsubst %.ts%.v,$?) batched using $(patsubst %.ts,%.src,$?)>
@echo Making $@
@touch $@
Now if you'd try to make een.v and top.ts afterwards, only twee.v and drie.v will be re-extracted.
Hope this helps, and any easier alternatives to, or bugs in this solution are appreciated.
Regards,
Simon.
_______________________________________________ Help-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-make
