Subject: Re: bsd.*.mk: ".cpp" not recognized as C++?
To: Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>
From: Frederick Bruckman <fb@enteract.com>
List: tech-toolchain
Date: 11/13/1999 06:16:31
On Sat, 13 Nov 1999, Frederick Bruckman wrote:
> On Sat, 13 Nov 1999, Hauke Fath wrote:
>
> > while trying to build IBM's open-source Java compiler "jikes" on NetBSD, I
> > found that BSD make does not recognize the wintel style C++ file extension
> > "*.cpp" for a C++ source file. While I would not debate that .C looks much
> > nicer ;) there are a lot of C++ sources with wintel origin out there.
The info file for "gcc" lists both `.cxx' and `.cpp' as valid C++
suffixes, so we probably should recognize them both.
> > Would we want to add this, or is there any easy way of teaching the make
> > system about equivalences ("treat .cpp like .C)?
>
> As easy as this (follows). Alternatively, you could add ``.SUFFIXES: .cpp'',
> followed by the rules, anywhere in the "jikes" Makefile.
> Index: sys.mk
> ===================================================================
> RCS file: /cvsroot/sharesrc/share/mk/sys.mk,v
> retrieving revision 1.54
> diff -c -r1.54 sys.mk
> *** sys.mk 1999/03/10 14:06:14 1.54
> --- sys.mk 1999/11/13 11:53:56
> ***************
> *** 3,9 ****
>
> unix?= We run NetBSD.
>
> ! .SUFFIXES: .out .a .ln .o .s .S .c .cc .C .F .f .r .y .l .cl .p .h .sh .m4
>
> .LIBS: .a
>
> --- 3,9 ----
>
> unix?= We run NetBSD.
>
> ! .SUFFIXES: .out .a .ln .o .s .S .c .cc .cpp .C .F .f .r .y .l .cl .p .h .sh .m4
>
> .LIBS: .a
>
> ***************
> *** 106,111 ****
> --- 106,120 ----
> .cc.o:
> ${COMPILE.cc} ${.IMPSRC}
> .cc.a:
> + ${COMPILE.cc} ${.IMPSRC}
> + ${AR} ${ARFLAGS} $@ $*.o
> + rm -f $*.o
> +
> + .cpp:
> + ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
> + .cpp.o:
> + ${COMPILE.cc} ${.IMPSRC}
> + .cpp.a:
> ${COMPILE.cc} ${.IMPSRC}
> ${AR} ${ARFLAGS} $@ $*.o
> rm -f $*.o
>
>
>
>