==== check if a file exists ====
You can use the wildcard function to check if a file exists. For example
uninstall:
ifneq ($(wildcard /usr/local/share/anki/uninstall.sh),)
sudo /usr/local/share/anki/uninstall.sh
endif
will run the uninstall.sh script only if it exists.
Ref:-
* Documentation of the wildcard function - https://www.gnu.org/software/make/manual/html_node/Wildcard-Function.html
* Syntax of the conditional directives such as ifeq, ifneq etc., - https://www.gnu.org/software/make/manual/html_node/Conditional-Syntax.html
* Per https://stackoverflow.com/a/47828799/6305733 , the indentation level of ifneq should be same as that of the target name.
==== invoke a make file ====
make -f foo.mk