|
From: Yao Qi <qiy...@cn...> - 2005-11-11 10:30:51
|
When I update files in VEX/ direcotry and rebuild Valgrind by 'make', it
seems that libvex.a could not be rebuilt automatically except run 'make
libvex.a' in VEX directory.
Now, all the TOOLs are dependent on VEX/libvex.a and coregrind/valgrind
is not, so when run 'make' in top directory of source code tree, the
updated files in VEX could not be compiled ,VEX/libvex.a could not be
updated, and finally all the TOOLs will not re-link VEX/libvex.a. So
everytime when I modify files in VEX directory, I should 'make libvex.a'
in VEX to build libvex.a and 'make' in lackey/, for example, to link
this new VEX/libvex.a to lackey or someother TOOLs.
The depedency of coregrind/valgrind on libvex.a may be added to remove this
problem. I am not so sure of compilation dependency, and anyone here
could confirm or deny this, thanks in advance!
This problem is solved on my box until I apply this patch, and I list it
below for your reference. Any comments are greatly appreciated!
Index: coregrind/Makefile.am
===================================================================
--- coregrind/Makefile.am (revision 5077)
+++ coregrind/Makefile.am (working copy)
@@ -232,6 +232,9 @@
libvex_guest_offsets.h:
$(MAKE) -C @VEX_DIR@ pub/libvex_guest_offsets.h
+valgrind: @VEX_DIR@/libvex.a
+ $(MAKE) -C @VEX_DIR@ libvex.a
+
VGPRELOAD_CORE_SOURCES_COMMON = vg_preloaded.c
vgpreload_core_x86_linux_so_SOURCES =
$(VGPRELOAD_CORE_SOURCES_COMMON)
--
Regards, Yao
------------
Yao Qi
|