Subject: Q: What is wrong with "make" ?
To: None <netbsd-help@NetBSD.ORG>
From: Andreas Brusinsky <brusinsk@ibdr.inf.tu-dresden.de>
List: netbsd-help
Date: 05/23/1997 20:48:58
I got enlightment and the files dont make.

There is a Imakefile with a bit advanced syntax i.e
(where the ******** are) :
.
.

SHOBJDIR = ./shobj

SHOBJS = $(SHOBJDIR)/load.o $(SHOBJDIR)/rend.o $(SHOBJDIR)/misc.o \
        $(SHOBJDIR)/colors.o
SHCFLAGS = -fPIC

SharedLibraryTarget($(LIBNAME),$(LIBREV),$(SHOBJS),.,.)
InstallSharedLibrary($(LIBNAME),$(LIBREV),$(SHLIBDIR))

#*********
$(SHOBJDIR)/%.o: %.c
        $(CC) $(CFLAGS) $(SHCFLAGS) -o $@ -c $<
#*********
.
.
xmkmf produces a makefile out of this but "make" responds with:

make: don't know how to make ./shobj/load.o. Stop

here is the related part of the Makefile:

SHOBJDIR = ./shobj

SHOBJS = $(SHOBJDIR)/load.o $(SHOBJDIR)/rend.o $(SHOBJDIR)/misc.o       
$(SHOBJDIR)/co
lors.o

SHCFLAGS = -fPIC

all:: lib$(LIBNAME).so.$(LIBREV)

lib$(LIBNAME).so.$(LIBREV):  $(SHOBJS)
        $(RM) $@~
        (cd .; $(LD) -o ./$@~ $(SHLIBLDFLAGS) $(SHOBJS))
        $(RM) $@
        $(MV) $@~ $@
        $(RM) lib$(LIBNAME).so
        $(LN) $@ lib$(LIBNAME).so

clean::
        $(RM) lib$(LIBNAME).so.$(LIBREV) lib$(LIBNAME).so

install:: lib$(LIBNAME).so.$(LIBREV)
        -@if [ -d $(DESTDIR)$(SHLIBDIR) ]; then set +x; \
        else (set -x; $(MKDIRHIER) $(DESTDIR)$(SHLIBDIR)); fi
        $(INSTALL) -c $(INSTLIBFLAGS) lib$(LIBNAME).so.$(LIBREV) $(DESTDIR)$(SHLIBDIR)
        $(RM) $(DESTDIR)$(SHLIBDIR)/lib$(LIBNAME).so
        $(LN) lib$(LIBNAME).so.$(LIBREV) $(DESTDIR)$(SHLIBDIR)/lib$(LIBNAME).so

#********
$(SHOBJDIR)/%.o: %.c
        $(CC) $(CFLAGS) $(SHCFLAGS) -o $@ -c $<
#********
.
. 

Thanks for help

        Bye   Brusi

            by           ab2@inf.tu-dresden.de

          \____