On Tue, Jun 14, 2016 at 03:53:48PM -0600, Eric Blake wrote: > On 06/14/2016 06:26 AM, Stefan Hajnoczi wrote: > > On Thu, Jun 09, 2016 at 05:57:55PM +0100, Daniel P. Berrange wrote: > >> +$(BUILD_DIR)/trace-events-all: $(trace-events-y:%=$(SRC_PATH)/%) > >> + $(call quiet-command,cat $^ > $@) > > > > $^ needs to be a stable ordering across make invocations and across > > machines to avoid thrashing ccache and spuriously renumbering trace > > event IDs. > > > > I guess it is stable but just in case anyone knows of a case where $^ > > would change order without any changes to the actual files (e.g. > > readdir(2) returning things in a different order, make parallel jobs, > > etc)... > > As far as I can tell from 'info make', $^ is the list of prerequisites, > _in prerequisite order_, minus duplicates. So the only way the order > will change is if you edit Makefile, and thus it looks stable to me. Thanks for confirming. Stefan