Hi,
Neither Fortran/Ratfor (.f, .F, .r) nor Pascal (.p) compiler exists in the
base system.
Are there any reasons for that make(1) code to still be in the makefiles? POSIX?
I'm also curious about:
- The comment in bsd.lib.mk:
"# prefer .S to a .c, add .po, remove stuff not used in the BSD libraries."
- C++ software in the source tree don't use the mk files, right?
So, why C++ suffixes and targets in the *.mk?
- Why the objective C (.m) and m4(1) (.m4) stuff?
- What is the suffix .cl in sys.mk?
Thanks.
And sorry for the noise if this don't matter and for the related questions
(I know tech@ is not for questions).
Diff (not tested)...
Index: bsd.README
===================================================================
RCS file: /cvs/src/share/mk/bsd.README,v
retrieving revision 1.46
diff -u -r1.46 bsd.README
--- bsd.README 24 Sep 2011 07:26:01 -0000 1.46
+++ bsd.README 9 Dec 2011 17:31:21 -0000
@@ -460,7 +460,7 @@
MAN The manual pages to be installed (use a .1 - .9 suffix).
SRCS List of source files to build the library. Suffix types
- .s, .c, and .f are supported. Note, .s files are preferred
+ .s and .c are supported. Note, .s files are preferred
to .c files of the same name. (This is not the default for
versions of make.)
Index: bsd.lib.mk
===================================================================
RCS file: /cvs/src/share/mk/bsd.lib.mk,v
retrieving revision 1.61
diff -u -r1.61 bsd.lib.mk
--- bsd.lib.mk 16 Jul 2011 23:34:21 -0000 1.61
+++ bsd.lib.mk 9 Dec 2011 17:31:21 -0000
@@ -25,7 +25,7 @@
# .so used for PIC object files. .ln used for lint output files.
# .m for objective c files.
.SUFFIXES:
-.SUFFIXES: .out .o .go .po .so .S .s .c .cc .C .cxx .f .y .l .ln .m4 .m
+.SUFFIXES: .out .o .go .po .so .S .s .c .cc .C .cxx .y .l .ln .m4 .m
.c.o:
@echo "${COMPILE.c} ${.IMPSRC} -o ${.TARGET}"
@@ -75,31 +75,6 @@
.cc.so .C.so .cxx.so:
@echo "${COMPILE.cc} ${PICFLAG} -DPIC ${.IMPSRC} -o ${.TARGET}"
@${COMPILE.cc} ${PICFLAG} -DPIC ${.IMPSRC} -o ${.TARGET}.o
- @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
- @rm -f ${.TARGET}.o
-
-# Fortran 77
-.f.o:
- @echo "${COMPILE.f} ${.IMPSRC} -o ${.TARGET}"
- @${COMPILE.f} ${.IMPSRC} -o ${.TARGET}.o
- @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
- @rm -f ${.TARGET}.o
-
-.f.go:
- @echo "${COMPILE.f} -g ${.IMPSRC} -o ${.TARGET}"
- @${COMPILE.f} -g ${.IMPSRC} -o ${.TARGET}.o
- @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
- @rm -f ${.TARGET}.o
-
-.f.po:
- @echo "${COMPILE.f} -p ${.IMPSRC} -o ${.TARGET}"
- @${COMPILE.f} -p ${.IMPSRC} -o ${.TARGET}.o
- @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
- @rm -f ${.TARGET}.o
-
-.f.so:
- @echo "${COMPILE.f} ${PICFLAG} -DPIC ${.IMPSRC} -o ${.TARGET}"
- @${COMPILE.f} ${PICFLAG} -DPIC ${.IMPSRC} -o ${.TARGET}.o
@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
@rm -f ${.TARGET}.o
Index: sys.mk
===================================================================
RCS file: /cvs/src/share/mk/sys.mk,v
retrieving revision 1.61
diff -u -r1.61 sys.mk
--- sys.mk 18 Jul 2011 07:07:52 -0000 1.61
+++ sys.mk 9 Dec 2011 17:31:21 -0000
@@ -14,7 +14,7 @@
OSREV= $(OSMAJOR).$(OSMINOR)
OSrev= $(OSMAJOR)$(OSMINOR)
-.SUFFIXES: .out .a .ln .o .c .cc .C .cxx .F .f .r .y .l .s .S .cl .p .h .sh .m4
+.SUFFIXES: .out .a .ln .o .c .cc .C .cxx .y .l .s .S .cl .h .sh .m4
.LIBS: .a
@@ -48,16 +48,6 @@
CPP?= cpp
CPPFLAGS?=
-FC?= f77
-FFLAGS?= -O2
-RFLAGS?=
-COMPILE.f?= ${FC} ${FFLAGS} -c
-LINK.f?= ${FC} ${FFLAGS} ${LDFLAGS}
-COMPILE.F?= ${FC} ${FFLAGS} ${CPPFLAGS} -c
-LINK.F?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
-COMPILE.r?= ${FC} ${FFLAGS} ${RFLAGS} -c
-LINK.r?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
-
LEX?= lex
LFLAGS?=
LEX.l?= ${LEX} ${LFLAGS}
@@ -70,11 +60,6 @@
MAKE?= make
-PC?= pc
-PFLAGS?=
-COMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c
-LINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
-
SHELL?= sh
YACC?= yacc
@@ -122,44 +107,6 @@
${COMPILE.cc} ${.IMPSRC}
.cxx.a:
${COMPILE.cc} ${.IMPSRC}
- ${AR} ${ARFLAGS} $@ $*.o
- rm -f $*.o
-
-# Fortran/Ratfor
-.f:
- ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
-.f.o:
- ${COMPILE.f} ${.IMPSRC}
-.f.a:
- ${COMPILE.f} ${.IMPSRC}
- ${AR} ${ARFLAGS} $@ $*.o
- rm -f $*.o
-
-.F:
- ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
-.F.o:
- ${COMPILE.F} ${.IMPSRC}
-.F.a:
- ${COMPILE.F} ${.IMPSRC}
- ${AR} ${ARFLAGS} $@ $*.o
- rm -f $*.o
-
-.r:
- ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
-.r.o:
- ${COMPILE.r} ${.IMPSRC}
-.r.a:
- ${COMPILE.r} ${.IMPSRC}
- ${AR} ${ARFLAGS} $@ $*.o
- rm -f $*.o
-
-# Pascal
-.p:
- ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
-.p.o:
- ${COMPILE.p} ${.IMPSRC}
-.p.a:
- ${COMPILE.p} ${.IMPSRC}
${AR} ${ARFLAGS} $@ $*.o
rm -f $*.o