[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
make3-82/linux-2.6.28 Dependencies recipe running (THIS IS A BUG)
From: |
John Breitenbach |
Subject: |
make3-82/linux-2.6.28 Dependencies recipe running (THIS IS A BUG) |
Date: |
Thu, 02 Sep 2010 17:15:43 -0400 |
User-agent: |
Thunderbird 2.0.0.21 (X11/20090310) |
I've encountered a problem with building the linux kernel v2.6.28 with
make-3.82. This
has been building fine with version 3.81 for some time. And while
attempting to diagnose
the problem, I added "-p" to the make command line encountered the "THIS
IS A BUG" message.
This is running on a 32-bit RedHat EL5 system. Number of parallel jobs
has no effect.
The original error message from building the kernel is as follows:
make[2]: *** No rule to make target `firmware/edgeport/boot.fw', needed
by `__fw_modbuild'. Stop.
make[2]: *** Waiting for unfinished jobs....
Here's part of firmware/Makefile from linux v2.6.28. It contains two
rules to build a .fw file, and
there IS a .SECONDEXPANSION: earlier in this Makefile:
# .HEX is also Intel HEX, but where the offset and length in each record
# is actually meaningful, because the firmware has to be loaded in a certain
# order rather than as a single binary blob. Thus, we convert them into our
# more compact binary representation of ihex records (<linux/ihex.h>)
$(obj)/%.fw: $(obj)/%.HEX $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %)
$(call cmd,ihex2fw)
# .H16 is our own modified form of Intel HEX, with 16-bit length for
records.
$(obj)/%.fw: $(obj)/%.H16 $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %)
$(call cmd,h16tofw)
$(firmware-dirs):
$(call cmd,mkdir)
There is an order-only dependency to create the necessary subdirectory.
And while this Makefile contains
a rule to make subdirectories, the "firmware-dirs" variable contains TWO
trailing "/" in each of its elements.
Here's a couple more lines from firmware/Makefile which sets the
firmware-dirs variable.
# Directories which we _might_ need to create, so we have a rule for them.
firmware-dirs := $(sort $(patsubst %,$(objtree)/$(obj)/%/,$(dir
$(fw-external-y) $(fw-shipped-all))))
If I remove the extra slash right before the comma, the build succeeds,
and the error
message does not appear. I also have found that if the firmware/edgport
directory exists,
the entire build succeeds.
I know I'm not giving you guys much to work with - perhaps you can spot
the error in ensuring
the presence of the output directory. Or perhaps I can get some
advice finding the cause of the
"THIS IS A BUG" message.
John
- make3-82/linux-2.6.28 Dependencies recipe running (THIS IS A BUG),
John Breitenbach <=