help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Targets not being built


From: Edgar
Subject: Re: Targets not being built
Date: Thu, 17 Nov 2011 13:53:23 -0600
User-agent: Thunderbird 2.0.0.24 (Windows/20100228)

Paul Smith wrote:
On Wed, 2011-11-16 at 23:44 -0600, Edgar wrote:
Does anyone know what I am doing wrong?

Since you don't show us the values of the variables you're using in the
example it's impossible to say.

But a few things: first, the rule you provide is for files that match
%.hpp but your output shows a file "key_handler.h" which won't match
that pattern.

Second, the output shows clearly that make did NOT find an implicit rule
to build the installed file, which also implies your pattern rules are
wrong: you can see the ones make matched against and yours is not there.

Finally, by the documentation if make finds a target with no recipe or
prerequisites, make assumes it to be up to date; see "Rules Without
Commands or Prerequisites":

        If a rule has no prerequisites or commands, and the target of
        the rule is a nonexistent file, then `make' imagines this target
        to have been updated whenever its rule is run.  This implies
        that all targets depending on this one will always have their
        commands run.

Maybe that's what's happening?  Again without a fully self-contained
example we can't say for sure.

Sorry, I misquoted the rule for building headers - here they all are :

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

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

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

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

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

So the cases for *.h and *.hpp in the c:\mingw\include\Eagle and the c:\mingw\include\Eagle\GuiCode directories should all be covered right?

Here is the install target :
install : $(OUTPUTLIB) $(OUTPUTDLL) $(OUTPUTDEF) $(INSTALLEDHEADERS) | $(INSTALLLIBDIR) $(INSTALLBINDIR)
   $(ECHO) $(INSTALLEDHEADERS)
   $(ECHO) INSTALLINCLUDEDIR = $(INSTALLINCLUDEDIR)
   $(COPY) $(OUTPUTLIB) $(INSTALLLIBDIR)
   $(COPY) $(OUTPUTDLL) $(INSTALLBINDIR)

And here is the output of make install :

c:\ctwoplus\progcode\allegro\Eagle>make install
C:\mingw\include\Eagle.hpp C:\mingw\include\Eagle\key_handler.h C:\mingw\include\Eagle\timer_handler.h C:\mingw\include\Eagle\AllegroSetup.hpp C:\mingw\include\Eagle\TileMap.hpp C:\mingw\include\Eagle\Color.hpp C:\mingw\include\Eagle\EagleCredits.hpp C:\mingw\include\Eagle\Sound.hpp C:\mingw\include\Eagle\Blitting.hpp C:\mingw\include\Eagle\GuiCode.hpp C:\mingw\include\Eagle\TextDisplay.hpp C:\min gw\include\Eagle\Clipboard.hpp C:\mingw\include\Eagle\Blending.hpp C:\mingw\include\Eagle\MultiArray.hpp C:\mingw\include\Eagle\StringWork.hpp C:\mingw\include\Eagle\Math.hpp C:\mingw\include\Eagle\TextEntryWidget.hpp C:\mingw\include\Eagle\Drawing.hpp C:\mingw\include\Eagle\Logging.hpp C:\mingw\include\Eagle\InputHandler.hpp C:\mingw\include\Eagle\Resource.hpp C:\mingw\include\Eagle\Area.hpp C:\m ingw\include\Eagle\BitmapHandler.hpp C:\mingw\include\Eagle\Error.hpp C:\mingw\include\Eagle\FileWork.hpp C:\mingw\include\Eagle\AllegroUtilities.hpp C:\mingw\include\Eagle\ResourceRegistry.hpp C:\mingw\include\Eagle\GfxModeHandler.hpp C:\mingw\include\Eagle\BitmapUtility.hpp C:\mingw\include\Eagle\MouseHandler.hpp C:\mingw\include\Eagle\GuiCode\WidgetBase.hpp C:\mingw\include\Eagle\GuiCode\TextIn put.hpp C:\mingw\include\Eagle\GuiCode\RadioButtonWidget.hpp C:\mingw\include\Eagle\GuiCode\ListBox.hpp C:\mingw\include\Eagle\GuiCode\TextWidget.hpp C:\mingw\include\Eagle\GuiCode\IconButton.hpp C:\mingw\include\Eagle\GuiCode\GfxModeDialog.hpp C:\mingw\include\Eagle\GuiCode\ScrollBarWidget.hpp C:\mingw\include\Eagle\GuiCode\TabGroup.hpp C:\mingw\include\Eagle\GuiCode\Camera.hpp C:\mingw\include\E agle\GuiCode\BitmapViewer.hpp C:\mingw\include\Eagle\GuiCode\ScrollButtonWidget.hpp C:\mingw\include\Eagle\GuiCode\Animation.hpp C:\mingw\include\Eagle\GuiCode\TitleBar.hpp C:\mingw\include\Eagle\GuiCode\WidgetMessage.hpp C:\mingw\include\Eagle\GuiCode\ButtonBaseWidget.hpp C:\mingw\include\Eagle\GuiCode\DropDownList.hpp C:\mingw\include\Eagle\GuiCode\UtilityWidgets.hpp C:\mingw\include\Eagle\GuiCo de\WidgetHandler.hpp C:\mingw\include\Eagle\GuiCode\WidgetColorset.hpp C:\mingw\include\Eagle\GuiCode\FileSelectorDialog.hpp C:\mingw\include\Eagle\GuiCode\ButtonWidget.hpp C:\mingw\include\Eagle\GuiCode\MenuWidget.hpp C:\mingw\include\Eagle\GuiCode\SliderWidget.hpp
INSTALLINCLUDEDIR = C:\mingw\include
copy /Y testbuild\lib\libeagle_r.dll.a C:\mingw\lib
       1 file(s) copied.
copy /Y testbuild\lib\eagle_r.dll C:\mingw\bin
       1 file(s) copied.

c:\ctwoplus\progcode\allegro\Eagle>


The problem is that none of the headers listed in $(INSTALLEDHEADERS) exist yet, and they aren't being remade with my implicit rules listed above.

So I don't know what is wrong.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]