make -v return:
GNU Make 4.2.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Em um diretório, um arquivo: makefile
ifneq ($(jobserver),T)
$(error This makefile only works with a Make program that supports $$(eval))
endif
invocar make por tipo make
makefile:2: *** This makefile only works with a Make program that supports $(eval). Stop.
até eu tento
ifneq ($(eval),T)
$(error This makefile only works with a Make program that supports $$(eval))
endif
ainda volta
makefile:2: *** This makefile only works with a Make program that supports $(eval). Stop.
Eu sigo o tutorial da internet, esses makefile testam um recurso/função no make está disponível ou não. Não deve dar erro.
Você está perdendo o uso de
eval
que define a variável antes do teste:Se
eval
estiver disponível, a primeira linha será definidaeval_available
comoT
; se não for, não vai. A segunda linha verifica seeval_available
foi definido comoT
.