On 12-07-24 12:52 PM, Mark Hatle wrote:
On 7/24/12 11:39 AM, Yao Zhao wrote:
On 12-07-24 11:47 AM, Phil Blundell wrote:
On Tue, 2012-07-24 at 11:45 -0400, Yao Zhao wrote:
In the Makefile, libbz2.so.0 is installed before bzip2, but the
installation is "make -j xxx install". Then this could happen.
Well, yes, but you could fix that by adding an appropriate dependency.
Right?
I relooked at the Makefile again:
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p || test -f $$p1; \
then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
-e
'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
.....
install-binPROGRAMS: install-libLTLIBRARIES
install-exec-am: install-binPROGRAMS install-binSCRIPTS \
install-libLTLIBRARIES
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
My first thought is that install-libLTLIBRARIES is a dependency of
install-binPROGRAMS, but there are 2 install-binPROGRAMS targets, how it
works?
In the second one, as long as there are no white space below the line,
it's just a \n. Then it adds the item to the dependency list.. So
effectively
install-binPROGRAMS: $(bin_PROGRAMS) install-libLTLIBRARIES
(if there is a tab or other white space it should generate a warning
or error about multiple definitions of install-binPROGRAMS, and in
that case, the last definition wins.)
Thanks Mark!
So I didn't understand wrongly about the dependency,
install-libLTLIBRARIES is install-binPROGRAMS's dependency.
according to make document, -j jobs specifies the number of
jobs(commands) to run simultaneously. My understanding is the commands
for each target is the jobs or command the doc talks about, am I right?
In this case, will "make -j xx" even didn't care the dependency? or make
did care but they are paralleled to executed.
thanks,
yao
--Mark
thanks,
yao
p.
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core