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