On 06/06/2016 16:15, Eduardo Habkost wrote: >> > No, the second time you'll get the expansion of >> > >> > DOCKER_SRC_COPY := docker-src.$(CUR_TIME) > And why it isn't enough to simply write the above line in the > Makefile without any eval trick?
Because 1) initially the idea was to delay the $(mkdir) too 2) Too many $(shell) end up slowing down make. >>> > > Why did you use this trick instead of just relying on ":=" to >>> > > expand the shell command only once? >> > >> > I think initially the $(mkdir) was in DOCKER_SRC_COPY too. Also, too >> > many $(shell) end up slowing down make. > And how exactly does the eval trick helps avoiding slowing down > make, that wouldn't happen if using just: > DOCKER_SRC_COPY = docker-src.$(CUR_TIME) > ? If you define CUR_TIME with "=", the DOCKER_SRC_COPY value changes every second. If you define CUR_TIME with ":=", again you have a useless $(shell). In this particular case I agree that it's probably premature optimization. Thanks, Paolo