At this time, if I go into any dll source directory and do (lets take dlls/winmm) : [syl@wine winmm]$ make clean then make will generate this error when building the tests:
make[1]: Entering directory `/home/wine/dlls/winmm/tests' gcc -c -I. -I. -I../../../include -I../../../include -D_REENTRANT -fPIC -Wall -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o wave.o wave.c gcc -c -I. -I. -I../../../include -I../../../include -D_REENTRANT -fPIC -Wall -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o testlist.o testlist.c make[1]: *** No rule to make target `../../../dlls/libwinmm.def', needed by `winmm_test.exe.spec.c'. Stop. make[1]: Leaving directory `/home/wine/dlls/winmm/tests' make: *** [tests] Error 2
The only way to compile is to go into the dll directory and run : make winmm.spec.def (changing the name winmm properly)
Has someone else seen this problem ?
===== Sylvain Petreolle (spetreolle_at_users_dot_sourceforge_dot_net) ICQ #170597259 Say NO to software patents Dites NON aux brevets logiciels
"What if tomorrow the War could be over ?" Morpheus, in "Reloaded".
___________________________________________________________ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com
On Sun, 26 Oct 2003 23:34:47 +0100 (CET), you wrote:
make[1]: *** No rule to make target `../../../dlls/libwinmm.def', needed by `winmm_test.exe.spec.c'. Stop. make[1]: Leaving directory `/home/wine/dlls/winmm/tests' make: *** [tests] Error 2
The only way to compile is to go into the dll directory and run : make winmm.spec.def (changing the name winmm properly)
Has someone else seen this problem ?
Yes and other strange errors in dlls/*/tests. "make clean" in the root, folowed by .configure ...etc. fixed it.
(using ccache takes a lot of pain of a full recompile away)
Rein.
Sylvain Petreolle spetreolle@yahoo.fr writes:
[syl@wine winmm]$ make clean then make will generate this error [...]
With a 10-day old checkout (Oct 17) make works without any problem for me.
Feri.
Sylvain Petreolle spetreolle@yahoo.fr writes:
The only way to compile is to go into the dll directory and run : make winmm.spec.def (changing the name winmm properly)
Has someone else seen this problem ?
That's normal, the import libs dependencies are only in the top-level dlls makefile. Fixing that would require even more makefile recursion and slow everything down, so it's not worth it. After a make clean you need to run make in the dlls directory at least once.
I noticed that the Makefile in tests directory actually already tries to regenerate it. But instead, it fails,because it uses this path :
tests -> ../../.. -> dlls -> generation of lib${IMPORTS}.def (IMPORTLIBS in Makefile)
where it could do, much simpler (and without slowdown) :
tests -> .. -> generation of $(TESTDLL:%.dll=%).def
That's normal, the import libs dependencies are only in the top-level dlls makefile. Fixing that would require even more makefile recursion and slow everything down, so it's not worth it. After a make clean you need to run make in the dlls directory at least once.
===== Sylvain Petreolle (spetreolle_at_users_dot_sourceforge_dot_net) ICQ #170597259 Say NO to software patents Dites NON aux brevets logiciels
"What if tomorrow the War could be over ?" Morpheus, in "Reloaded".
___________________________________________________________ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com
Sylvain Petreolle spetreolle@yahoo.fr writes:
I noticed that the Makefile in tests directory actually already tries to regenerate it. But instead, it fails,because it uses this path :
tests -> ../../.. -> dlls -> generation of lib${IMPORTS}.def (IMPORTLIBS in Makefile)
where it could do, much simpler (and without slowdown) :
tests -> .. -> generation of $(TESTDLL:%.dll=%).def
No, we really need the libxxx.def file in the dlls directory. Your solution may seem to work in that specific case because the symlink in dlls still exists, but it's not the correct dependency.