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

Reply via email to