Solaris make bug
François Gouget
fgouget at codeweavers.com
Thu Nov 8 21:46:50 CST 2001
If I build Wine outside of the source tree, the Solaris make gets
confused by our .c.o rule: when the time comes to compile x11drv.o it
does :
LD_LIBRARY_PATH="../../unicode:$LD_LIBRARY_PATH"
../../tools/winebuild/winebuild -fPIC -L../../dlls -o x11drv.spec.c
-spec ../../../src/dlls/x11drv/x11drv.spec
gcc -c -I. -I../../../src/dlls/x11drv -I../../include
-I../../../src/include -g -O2 -Wall -mpreferred-stack-boundary=2 -fPIC
-D__WINE__ -D_REENTRANT -I/usr/X11R6/include -o
../../../src/dlls/x11drv/x11drv.spec.o x11drv.spec.c
Notice the "../../../src/dlls/x11drv/x11drv.spec.o". And of course
when the time comes to link x11drv.o it does not find it of course!
This does not happen if I replace the "$*.o" in .c.o with "$@" like
in the other rules. Any reason why it is different? Otherwise the
attached patch will workaround what looks like a bug in solaris make.
Changelog:
François Gouget <fgouget at codeweavers.com>
* Make.rules.in
Make out-of-source-tree builds work with Solaris make
--
François Gouget
fgouget at codeweavers.com
-------------- next part --------------
Index: Make.rules.in
===================================================================
RCS file: /cvstrees/crossover/wine/Make.rules.in,v
retrieving revision 1.1.1.3
diff -u -r1.1.1.3 Make.rules.in
--- Make.rules.in 2001/07/20 01:41:53 1.1.1.3
+++ Make.rules.in 2001/11/09 02:15:11
@@ -175,13 +175,13 @@
.SUFFIXES: .mc .rc .mc.rc .res .spec .spec.c .glue.c
.c.o:
- $(CC) -c $(ALLCFLAGS) -o $*.o $<
+ $(CC) -c $(ALLCFLAGS) -o $@ $<
.s.o:
- $(AS) -o $*.o $<
+ $(AS) -o $@ $<
.S.o:
- $(CC) -c -o $*.o $<
+ $(CC) -c -o $@ $<
.mc.mc.rc:
$(LDPATH) $(WMC) -i -H /dev/null -o $@ $<
More information about the wine-patches
mailing list