*BSD News Article 9658


Return to BSD News archive

Received: by minnie.vk1xwt.ampr.org with NNTP
	id AA6220 ; Wed, 06 Jan 93 03:10:18 EST
Xref: sserve comp.sys.apollo:13681 comp.unix.bsd:9715
Newsgroups: comp.sys.apollo,comp.unix.bsd
Path: sserve!manuel.anu.edu.au!munnari.oz.au!spool.mu.edu!uwm.edu!cs.utexas.edu!hermes.chpc.utexas.edu!news.utdallas.edu!corpgate!brtph560!brtpa25!psycho
From: psycho@brtpa25.bnr.ca (Paul Jezioranski)
Subject: BSD 4.3 make Problem: pattern substitution 
Message-ID: <1993Jan8.154604.25891@brtph560.bnr.ca>
Sender: news@brtph560.bnr.ca (Usenet News)
Organization: Bell-Northern Research Inc.
Date: Fri, 8 Jan 1993 15:46:04 GMT
Lines: 39

        I have encountered a problem using /bin/make on an Apollo running
Domain SR10.3. The problem deals with pattern substitution. Below is an
example:

#+++++++++++++++++++++++++++
# sample Makefile
#

SRCS1 = source1.c source2.c
SRCS = $(SRCS1) source3.c
OBJS = $(SRCS:.c=.o)

default: $(OBJS)

$(OBJS): $(SRCS)

#
# End of sample Makefile
#---------------------------

        Looking at this makefile, I would assume that the three source files
(source1.c, source2.c, source3.c) would compile and produce object files
(source1.o, source2.o, source3.o). This is not the case with /bin/make.
Instead the error message:

        "Make:  Don't know how to make source1.c source2.c"

appears. Using GNU Make version 3.62, the compilations proceed as expected.
It appears that in the pattern substitution line of the Makefile (i.e. the
line with "OBJS = $(SRCS:.c=.o)"), only source3.c gets converted to source3.o.
The ".c" in the SRCS1 variable do not get converted (i.e. source1.c and
source2.c do NOT get converted to source1.o and source2.o).

-- 
===============================================================================
Paul Jezioranski			|  STANDARD DISCLAIMER -- My opinions 
psycho@bnr.ca				|  are shared by my employer only when
Bell-Northern Research, Inc. RTP, NC	|  they agree with me.