Expand to prerequisites newer than the target.

Section: Automatic variables

$? newer prerequisites

makefile
makefile
libfoo.a: foo.o bar.o
	ar rcs $@ $?
Explanation

Useful for archive updates.

Learn the surrounding workflow

Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.

Related commands

Same sheet · prioritizing Automatic variables
$@ target name
Expand to the current target file.
OpenIn sheetmakefilesame section
$< first prerequisite
Expand to the first prerequisite.
OpenIn sheetmakefilesame section
$^ all prerequisites
Expand to all prerequisites without duplicates.
OpenIn sheetmakefilesame section
$* stem in pattern rules
Use the matched stem from the target pattern.
OpenIn sheetmakefilesame section
dir and notdir with automatic vars
Extract target directory or file name.
OpenIn sheetmakefilesame section
Update archive with newer objects
Use `$?` to add only changed prerequisites.
OpenIn sheetmakefile1 tag match