linux - make: nothing can be done for all -
i'm trying run make
using makefile below command line. receive following error make: nothing can done all
. contents of makefile given below.
generated_files = \ dw.js/dw-2.0.js \ www/static/css/datawrapper.css \ www/static/css/chart.base.css all: $(generated_files) clean: rm -f -- $(generated_files) dw.js/dw-2.0.js: dw.js/src/*.js cd dw.js grunt assets: www/static/css/datawrapper.css www/static/css/chart.base.css # www/static/js/dw-2.0.js: dw.js/dw-2.0.js # @cp dw.js/dw-2.0.js www/static/js/ # www/static/js/dw-2.0.min.js: dw.js/dw-2.0.js # @php -r "require 'vendor/autoload.php'; file_put_contents('www/static/js/dw-2.0.min.js', \jshrink\minifier::minify(file_get_contents('dw.js/dw-2.0.js')));" messages: scripts/update-messages.sh www/static/css/datawrapper.css: assets/styles/datawrapper/* assets/styles/datawrapper/**/* node_modules/.bin/lessc assets/styles/datawrapper/main.less > $@ www/static/css/chart.base.css: assets/styles/chart.base/* node_modules/.bin/lessc assets/styles/chart.base/main.less > $@`
what happening files you're attempting generate exist. why prevent make command building you're files? it's because of way make
interprets makefiles.
let's @ generic makefile rule below , interpret manually.
target: prerequistes actions
make target
check , compare time-stamp of file target
timestamps of prerequisite files. if of prerequisites have more recent time-stamp target (i.e. 1 of prereqs "younger"), actions
executed.
so, if prerequisites
have been made , have same timestamp has target
, make
write message make: nothing can done target
so, can 2 things. best thing ensure files you're trying generate not exist. solution run make -b target
cause make
to make targets
Comments
Post a Comment