Solaris make bug

François Gouget fgouget at
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 :

../../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.


   François Gouget <fgouget at>


   Make out-of-source-tree builds work with Solaris make

François Gouget
fgouget at
-------------- next part --------------
RCS file: /cvstrees/crossover/wine/,v
retrieving revision
diff -u -r1.1.1.3
---	2001/07/20 01:41:53
+++	2001/11/09 02:15:11
@@ -175,13 +175,13 @@
 .SUFFIXES: .mc .rc .mc.rc .res .spec .spec.c .glue.c
-	$(CC) -c $(ALLCFLAGS) -o $*.o $<
+	$(CC) -c $(ALLCFLAGS) -o $@ $<
-	$(AS) -o $*.o $<  
+	$(AS) -o $@ $<
-	$(CC) -c -o $*.o $<  
+	$(CC) -c -o $@ $<
 	$(LDPATH) $(WMC) -i -H /dev/null -o $@ $<

More information about the wine-patches mailing list