I have an 'install' rule that depends on a list of headers as a prerequisite, but the headers are never installed. They don't exist, so shouldn't make look for a rule to rebuild them - ie, copy them from the project's include directory to the install include directory?

INSTALLEDHEADERS is a list of the header files at their destination directory. As an example, C:\mingw\include\Eagle\key_handler.h is one of the headers listed in $(INSTALLHEADERS), but the rule I have for installing it is never run!

Here is the install target line and the implicit rule I wrote to install the header :

install : $(OUTPUTLIB) $(INSTALLEDHEADERS) | $(INSTALLBINDIR)
# recipe omitted for the install target

$(INSTALLEDHEADERS) : | $(INSTALLINCLUDEDIR)

$(INSTALLINCLUDEDIR)$(SLASH)Eagle$(SLASH)%.hpp : include$(SLASH)Eagle$(SLASH)%.hpp
   $(COPY) $< $@

$(INSTALLINCLUDEDIR) :
-$(MKDIR) $(subst /,$(SLASH),$(INSTALLINCLUDEDIR))$(SLASH)Eagle$(SLASH)GuiCode

The $(INSTALLINCLUDEDIR) target is never run, the header is never copied, and yet when I run make install -d, the output below says c:\mingw\include\Eagle\key_handler.h must be remade, and that it was remade successfully even though it was never copied from include\Eagle\ to c:\mingw\include\Eagle

Considering target file `C:\mingw\include\Eagle\key_handler.h'.
File `C:\mingw\include\Eagle\key_handler.h' does not exist.
Looking for an implicit rule for `C:\mingw\include\Eagle\key_handler.h'.
Trying pattern rule with stem `key_handler.h'.
Trying implicit prerequisite `C:\mingw\include\Eagle\key_handler.h,v'.
Trying pattern rule with stem `key_handler.h'.
Trying implicit prerequisite `C:\mingw\include\Eagle\RCS/key_handler.h,v'.
Trying pattern rule with stem `key_handler.h'.
Trying implicit prerequisite `C:\mingw\include\Eagle\RCS/key_handler.h'.
Trying pattern rule with stem `key_handler.h'.
Trying implicit prerequisite `C:\mingw\include\Eagle\s.key_handler.h'.
Trying pattern rule with stem `key_handler.h'.
Trying implicit prerequisite `C:\mingw\include\Eagle\SCCS/s.key_handler.h'.
No implicit rule found for `C:\mingw\include\Eagle\key_handler.h'.
Pruning file `C:\mingw\include'.
Finished prerequisites of target file `C:\mingw\include\Eagle\key_handler.h'.
Must remake target `C:\mingw\include\Eagle\key_handler.h'.
Successfully remade target file `C:\mingw\include\Eagle\key_handler.h'.


Does anyone know what I am doing wrong?


_______________________________________________
Help-make mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-make

Reply via email to