Mixed Implicit and Normal Rule error
Closed this issue · 7 comments
Hi there,
First of all, thank you for the amazing makefile. I am trying to learn to use it and adapt it for my project. I get the following error:
Makefile.include:126: *** mixed implicit and normal rules: deprecated syntax
which is generated because of the following line:
$(FIGS)/%.pdf: $(FIGS)/%.svg ## Figures for the manuscript
Not sure how to fix it.
I've never seen that. What does make --version
say?
It says:
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 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.
I think it's complaining about the ## ...
comment. If you remove that comment from that line, does the error go away?
Nope. I tried. It still complains about this line : $(FIGS)/%.pdf: $(FIGS)/%.svg
OK. It will take me a little time to reproduce this, since GNU Make 3.x doesn't seem to tickle this bug.
Bro I also encountered this problem about :$(OBJ_OUT_DIR)/%.o: $(CUR_DIR)/%.c
There's almost certainly a space in a directory name in $(FIGS)
(or in the case of the most recent comment, $(OBJ_OUT_DIR)
). Try renaming component directories so that they don't have spaces in their names.