Skip to content

Commit

Permalink
libsmartcols/src/Makemodule.am: ensure filter-scanner/paser.c file is…
Browse files Browse the repository at this point in the history
… newer than the .h file

In released tarball, for filter-scanner/parser, the .h and the .c
file has the same mtime. The 'make' tool thinks .h is newer than
the .c file, thus deciding to remake it. This will not only cause
unnecessary rebuild, but also parallel make error. For example,
after 'make', when running 'make install', the libmount.la and findmnt
are both rebuilt and findmnt building will somethings error out complaining
'libmount.so: no such file or directory' or 'libmount.so: file format
not recognized'.

Touch the generated .c file to ensure it's newer than the .h file.
In this way, in new released tarballs in the future, there will
be no unnecessary remake.

fixes #3061

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
  • Loading branch information
ChenQi1989 committed May 25, 2024
1 parent 9f15d2d commit bf751e8
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions libsmartcols/src/Makemodule.am
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ $(SCOLS_YACC_STEMP): $(SCOLS_YACC_BASENAME).y
@rm -f $(SCOLS_YACC_STEMP).tmp
@touch -f $(SCOLS_YACC_STEMP).tmp
$(AM_V_YACC) $(BISON) $< --output=${basename $@}.c --defines=${basename $@}.h
@touch -f ${basename $@}.c
@mv -f $(SCOLS_YACC_STEMP).tmp $@

$(SCOLS_YACC_BASENAME).c $(SCOLS_YACC_BASENAME).h: $(SCOLS_YACC_STEMP)
Expand All @@ -69,6 +70,7 @@ $(SCOLS_LEX_STEMP): $(SCOLS_LEX_BASENAME).l
@rm -f $(SCOLS_LEX_STEMP).tmp
@touch -f $(SCOLS_LEX_STEMP).tmp
$(AM_V_GEN) $(FLEX) --header-file=${basename $@}.h --outfile=${basename $@}.c $<
@touch -f ${basename $@}.c
@mv -f $(SCOLS_LEX_STEMP).tmp $@

$(SCOLS_LEX_BASENAME).c $(SCOLS_LEX_BASENAME).h: $(SCOLS_LEX_STEMP)
Expand Down

0 comments on commit bf751e8

Please sign in to comment.