Make Problems
Satpal Chander
schander@acm.org
Tue Aug 31 23:49:00 GMT 1999
<snip>
> include ../make.$(COMPILER)
>
> CCC = $(CPPCOMPILER)
>
> SOURCES.cc = \
> VRMLVisitor.cc \
> SGGTVisitor.cc \
> TransformNode.cc \
> RootNode.cc \
> GroupNode.cc \
> LODNode.cc \
> MaterialNode.cc \
> DirectionalLightNode.cc \
> PointLightNode.cc \
> SpotLightNode.cc \
> GeometryBoxNode.cc \
> GeometryConeNode.cc \
> GeometryCylinderNode.cc \
> GeometrySphereNode.cc \
> GeometryFileNode.cc \
> Vec3.cc \
> RotationVec.cc
>
> SOURCES = $(SOURCES.cc)
>
> OBJECTS.cc = $(SOURCES.cc:.cc=.o)
>
> OBJECTS = $(OBJECTS.cc)
>
> CFLAGS = -DDEBUG=1 -I../inc
> -I/usr/local/gcc2.95/include
> CCFLAGS = $(CFLAGS)
>
> LISGGT_SO = ../lib/libSGGT.so
- - - - - - - >~~~~~~~~~~~~~~~~~ (.so extension is for unix shared library)
Sorry I wanted to make a .a library with AR
> LISGGT_A = ../lib/libSGGT.a
Therefore I replaced the following section:
> # Standard targets.
>
> all: $(LISGGT_SO)
>
> $(LISGGT_SO): $(OBJECTS)
> @echo ">>>"
> @echo ">>> Making library $@
> @echo ">>>"
> $(RM) $@
> $(LD) $(SHARED_LDFLAGS) -o $@ $(OBJECTS)
------------^^^^^^^^^^^^^^^^^ (Cygwin ld does not support that type of
shared library
(you need to create a DLL instead
Again sorry I want to make .a library
> .cc.o:
> @echo ">>>"
> @echo ">>> Compiling $<"
> @echo ">>>"
> $(COMPILE.cc) $(PIC) $<
With:
all: $(LISGGT_A)
$(LISGGT_A): $(OBJECTS)
@echo ">>>"
@echo ">>> Making library $@
@echo ">>>"
$(RM) $@
$(AR) $(STATIC_LDFLAGS) -o $@ $(OBJECTS) #where STATIC_LDFLAGS=rc
.cc.o:
@echo ">>>"
@echo ">>> Compiling $<"
@echo ">>>"
$(COMPILE.cc) $(PIC) $<
<snip>
> depend:
> makedepend $(CPPFLAGS) -w30 -I$(COMP_INC) $(SOURCES)
> # DO NOT DELETE THIS LINE -- make depend depends on it.
>Please scan the mailing list and read the FAQ about Cygwin shared
libraries. And scan the mailing list about DLL files.
I know this is possible to make a .a library, as I have done it with another
simpler makefile.
But I don't see how my making a .so or .a library has anything to do with
the fact that it doesn't know howto make a .o file
e.g.
file://MAYA/.../sandro $ make --unix
cd src;make all
make[1]: *** No rule to make target `VRMLVisitor.o', needed by
`../lib/libSGGT.a'. Stop.
make: *** [all] Error 2
Make version 3.75
This must be a problem with make as it works on un*x machines.
Any Ideas ?
Thank You
Satpal Chander
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
More information about the Cygwin
mailing list