Subject: Help with vic-2.7a31 Makefile construct under NetBSD 1.0
To: None <netbsd-users@NetBSD.ORG>
From: Greg Earle <earle@isolar.tujunga.ca.us>
List: netbsd-users
Date: 04/23/1997 20:52:31
I'm trying to build the 2.7alpha31 source release of Van's Audio Tool (VAT),
the de-facto audio application on the MBONE.
I'm running into a problem with the Makefile that I've never seen before.
I'm using NetBSD/SPARC 1.0 (still) on a Sun SPARCstation 2.
Specifically, the make dies with
netbsd4me:1:297 % sudo make
"Makefile", line 216: Unassociated shell command "base=$(@:.o=); rm -f"
"Makefile", line 228: Unassociated shell command "base=$(@:.o=); rm -f"
Fatal errors encountered -- cannot continue
Here's the snippet of the Makefile containing the offending expressions:
#
# pass-1 embedded tcl files
#
$(TCL_LIB:.tcl=.o): tcl2c++
base=$(@:.o=) ; rm -f $@ $$base.cc ; \
./tcl2c++ 1 $$base.tcl > $$base.cc ; \
$(C++) -o $@ -c $(CFLAGS) $$base.cc ; rm -f $$base.cc
tk.o: tk.tcl
tk.tcl: $(TK_LIBRARY_FILES)
cat $(TK_LIBRARY_FILES) | sed '/^[ ]*source[ ]/d' > tk.tcl
#
# pass-2 embedded tcl files
#
$(TCL_VIC:.tcl=.o) ui-vdd.o ui-h261_play.o: tcl2c++
base=$(@:.o=) ; rm -f $@ $$base.cc ; \
./tcl2c++ 2 $$base.tcl > $$base.cc ; \
$(C++) -o $@ -c $(CFLAGS) $$base.cc ; rm -f $$base.cc
There's a note in the documentation that says
The default BSD/OS make doesn't like vic's Makefile. Just use gmake
(which is probably installed).
I assume this is probably the case here; i.e. I'm assuming that BSD/OS's "make"
is also based on Pmake, and this Makefile apparently wants a GNU "make" (I
assume "gmake" == GNU "make"). Is this correct? If so, is there any way
around this problem? Is there a Pmake-compatible construct to do what
this Makefile snippet is trying to do? I have no qualms about hacking the
Makefile; I really don't want to go through the hassle of trying to grab/build
GNU "make" just to be able to run one Makefile!
Thanks for any advice/assistance.
- Greg