#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
# Copyright 2003 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
SUFFIXES = .o .c .c~ .cc .cc~ .y .y~ .l .l~ .s .s~ .sh .sh~ .S .S~ .i .ln \
.h .h~ .f .f~ .for .for~ .F .F~ .f90 .f90~ .ftn .ftn~ .mod .mod~ \
.sym .def .def~ .p .p~ .r .r~ .cps .cps~ .C .C~ .Y .Y~ .L .L~ \
.java .java~ .class
.SUFFIXES: $(SUFFIXES)
# OUTPUT_OPTION should be defined to "-o $@" when
# the default rules are used for non-local files.
OUTPUT_OPTION=
# C language section.
CC=cc
CFLAGS=
CPPFLAGS=
LINT=lint
LINTFLAGS=
COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -c
LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
LINT.c=$(LINT) $(LINTFLAGS) $(CPPFLAGS)
.c:
$(LINK.c) -o $@ $< $(LDLIBS)
.c~:
$(GET) $(GFLAGS) -p $< > $*.c
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $*.c
.c.o:
$(COMPILE.c) $(OUTPUT_OPTION) $<
.c~.o:
$(GET) $(GFLAGS) -p $< > $*.c
$(CC) $(CFLAGS) -c $*.c
.c.i:
$(CC) $(CFLAGS) $(CPPFLAGS) -P $<
.c~.i:
$(GET) $(GFLAGS) -p $< > $*.c
$(CC) $(CFLAGS) $(CPPFLAGS) -P $*.c
$(LINT.c) $(OUTPUT_OPTION) -c $<
.c~.ln:
$(GET) $(GFLAGS) -p $< > $*.c
$(LINT.c) $(OUTPUT_OPTION) -c $*.c
.c.a:
$(COMPILE.c) -o $% $<
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.c~.a:
$(GET) $(GFLAGS) -p $< > $*.c
$(COMPILE.c) -o $% $*.c
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
# C language section. yacc.
YACC=yacc
YFLAGS=
YACC.y=$(YACC) $(YFLAGS)
.y:
$(YACC.y) $<
$(RM) y.tab.c
.y~:
$(GET) $(GFLAGS) -p $< > $*.y
$(YACC) $(YFLAGS) $*.y
$(RM) y.tab.c
.y.c:
$(YACC.y) $<
mv y.tab.c $@
.y~.c:
$(GET) $(GFLAGS) -p $< > $*.y
$(YACC) $(YFLAGS) $*.y
mv y.tab.c $@
$(YACC.y) $<
$(RM) y.tab.c
.y~.ln:
$(GET) $(GFLAGS) -p $< > $*.y
$(YACC.y) $*.y
$(RM) y.tab.c
.y.o:
$(YACC.y) $<
$(RM) y.tab.c
.y~.o:
$(GET) $(GFLAGS) -p $< > $*.y
$(YACC) $(YFLAGS) $*.y
$(CC) $(CFLAGS) -c y.tab.c
rm -f y.tab.c
mv y.tab.o $@
# C language section. lex.
LEX=lex
LFLAGS=
LEX.l=$(LEX) $(LFLAGS) -t
.l:
$(RM) $*.c
$(LEX.l) $< > $*.c
$(LINK.c) -o $@ $*.c -ll $(LDLIBS)
$(RM) $*.c
.l~:
$(GET) $(GFLAGS) -p $< > $*.l
$(LEX) $(LFLAGS) $*.l
$(CC) $(CFLAGS) -c lex.yy.c
rm -f lex.yy.c
mv lex.yy.c $@
.l.c :
$(RM) $@
$(LEX.l) $< > $@
.l~.c:
$(GET) $(GFLAGS) -p $< > $*.l
$(LEX) $(LFLAGS) $*.l
mv lex.yy.c $@
$(RM) $*.c
$(LEX.l) $< > $*.c
$(LINT.c) -o $@ -i $*.c
$(RM) $*.c
.l~.ln:
$(GET) $(GFLAGS) -p $< > $*.l
$(RM) $*.c
$(LEX.l) $*.l > $*.c
$(LINT.c) -o $@ -i $*.c
$(RM) $*.c
.l.o:
$(RM) $*.c
$(LEX.l) $< > $*.c
$(COMPILE.c) -o $@ $*.c
$(RM) $*.c
.l~.o:
$(GET) $(GFLAGS) -p $< > $*.l
$(LEX) $(LFLAGS) $*.l
$(CC) $(CFLAGS) -c lex.yy.c
rm -f lex.yy.c
mv lex.yy.c $@
# C++ language section.
CCC=CC
CCFLAGS=
COMPILE.cc=$(CCC) $(CCFLAGS) $(CPPFLAGS) -c
LINK.cc=$(CCC) $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS)
COMPILE.C=$(CCC) $(CCFLAGS) $(CPPFLAGS) -c
LINK.C=$(CCC) $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS)
.cc:
$(LINK.cc) -o $@ $< $(LDLIBS)
.cc~:
$(GET) $(GFLAGS) -p $< > $*.cc
$(LINK.cc) -o $@ $*.cc $(LDLIBS)
$(COMPILE.cc) $(OUTPUT_OPTION) $<
.cc~.o:
$(GET) $(GFLAGS) -p $< > $*.cc
$(COMPILE.cc) $(OUTPUT_OPTION) $*.cc
$(CCC) $(CCFLAGS) $(CPPFLAGS) -P $<
.cc~.i:
$(GET) $(GFLAGS) -p $< > $*.cc
$(CCC) $(CCFLAGS) $(CPPFLAGS) -P $*.cc
$(COMPILE.cc) -o $% $<
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.cc~.a:
$(GET) $(GFLAGS) -p $< > $*.cc
$(COMPILE.cc) -o $% $*.cc
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.C:
$(LINK.C) -o $@ $< $(LDLIBS)
.C~:
$(GET) $(GFLAGS) -p $< > $*.C
$(LINK.C) -o $@ $*.C $(LDLIBS)
.C.o:
$(COMPILE.C) $(OUTPUT_OPTION) $<
.C~.o:
$(GET) $(GFLAGS) -p $< > $*.C
$(COMPILE.C) $(OUTPUT_OPTION) $*.C
.C.i:
$(CCC) $(CCFLAGS) $(CPPFLAGS) -P $<
.C~.i:
$(GET) $(GFLAGS) -p $< > $*.C
$(CCC) $(CCFLAGS) $(CPPFLAGS) -P $*.C
.C.a:
$(COMPILE.C) -o $% $<
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.C~.a:
$(GET) $(GFLAGS) -p $< > $*.C
$(COMPILE.C) -o $% $*.C
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
# FORTRAN section.
FC=f77
FFLAGS=
COMPILE.f=$(FC) $(FFLAGS) -c
LINK.f=$(FC) $(FFLAGS) $(LDFLAGS)
COMPILE.F=$(FC) $(FFLAGS) $(CPPFLAGS) -c
LINK.F=$(FC) $(FFLAGS) $(CPPFLAGS) $(LDFLAGS)
.f:
$(LINK.f) -o $@ $< $(LDLIBS)
.f~:
$(GET) $(GFLAGS) -p $< > $*.f
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $*.f
.f.o:
$(COMPILE.f) $(OUTPUT_OPTION) $<
.f~.o:
$(GET) $(GFLAGS) -p $< > $*.f
$(FC) $(FFLAGS) -c $*.f
.f.a:
$(COMPILE.f) -o $% $<
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.f~.a:
$(GET) $(GFLAGS) -p $< > $*.f
$(COMPILE.f) -o $% $*.f
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.for:
$(LINK.f) -o $@ $< $(LDLIBS)
.for~:
$(GET) $(GFLAGS) -p $< > $*.for
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $*.for
$(COMPILE.f) $(OUTPUT_OPTION) $<
.for~.o:
$(GET) $(GFLAGS) -p $< > $*.for
$(FC) $(FFLAGS) -c $*.for
$(COMPILE.f) -o $% $<
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.for~.a:
$(GET) $(GFLAGS) -p $< > $*.for
$(COMPILE.f) -o $% $*.for
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.F:
$(LINK.F) -o $@ $< $(LDLIBS)
.F~:
$(GET) $(GFLAGS) -p $< > $*.F
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $*.F
.F.o:
$(COMPILE.F) $(OUTPUT_OPTION) $<
.F~.o:
$(GET) $(GFLAGS) -p $< > $*.F
$(FC) $(FFLAGS) -c $*.F
.F.a:
$(COMPILE.F) -o $% $<
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.F~.a:
$(GET) $(GFLAGS) -p $< > $*.F
$(COMPILE.F) -o $% $*.F
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
# FORTRAN section. ratfor.
RFLAGS=
COMPILE.r=$(FC) $(FFLAGS) $(RFLAGS) -c
LINK.r=$(FC) $(FFLAGS) $(RFLAGS) $(LDFLAGS)
.r:
$(LINK.r) -o $@ $< $(LDLIBS)
.r~:
$(GET) $(GFLAGS) -p $< > $*.r
$(LINK.r) -o $@ $*.r $(LDLIBS)
.r.o:
$(COMPILE.r) $(OUTPUT_OPTION) $<
.r~.o:
$(GET) $(GFLAGS) -p $< > $*.r
$(COMPILE.r) $(OUTPUT_OPTION) $*.r
.r.a:
$(COMPILE.r) -o $% $<
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.r~.a:
$(GET) $(GFLAGS) -p $< > $*.r
$(COMPILE.r) -o $% $*.r
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
# FORTRAN 90 section.
F90C=f90
F90FLAGS=
COMPILE.f90=$(F90C) $(F90FLAGS) -c
LINK.f90=$(F90C) $(F90FLAGS) $(LDFLAGS)
COMPILE.ftn=$(F90C) $(F90FLAGS) -c
LINK.ftn=$(F90C) $(F90FLAGS) $(LDFLAGS)
.f90:
$(LINK.f90) -o $@ $< $(LDLIBS)
.f90~:
$(GET) $(GFLAGS) -p $< > $*.f90
$(LINK.f90) -o $@ $*.f90 $(LDLIBS)
$(COMPILE.f90) $(OUTPUT_OPTION) $<
.f90~.o:
$(GET) $(GFLAGS) -p $< > $*.f90
$(COMPILE.f90) $(OUTPUT_OPTION) $*.f90
$(COMPILE.f90) -o $% $<
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.f90~.a:
$(GET) $(GFLAGS) -p $< > $*.f90
$(COMPILE.f90) -o $% $*.f90
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.ftn:
$(LINK.ftn) -o $@ $< $(LDLIBS)
.ftn~:
$(GET) $(GFLAGS) -p $< > $*.ftn
$(LINK.ftn) -o $@ $*.ftn $(LDLIBS)
$(COMPILE.ftn) $(OUTPUT_OPTION) $<
.ftn~.o:
$(GET) $(GFLAGS) -p $< > $*.ftn
$(COMPILE.ftn) $(OUTPUT_OPTION) $*.ftn
$(COMPILE.ftn) -o $% $<
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.ftn~.a:
$(GET) $(GFLAGS) -p $< > $*.ftn
$(COMPILE.ftn) -o $% $*.ftn
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
# Modula-2 section.
M2C=m2c
M2FLAGS=
MODFLAGS=
DEFFLAGS=
COMPILE.def=$(M2C) $(M2FLAGS) $(DEFFLAGS)
COMPILE.mod=$(M2C) $(M2FLAGS) $(MODFLAGS)
$(COMPILE.def) -o $@ $<
.def~.sym:
$(GET) $(GFLAGS) -p $< > $*.def
$(COMPILE.def) -o $@ $*.def
.mod:
$(COMPILE.mod) -o $@ -e $@ $<
.mod~:
$(GET) $(GFLAGS) -p $< > $*.mod
$(COMPILE.mod) -o $@ -e $@ $*.mod
$(COMPILE.mod) -o $@ $<
.mod~.o:
$(GET) $(GFLAGS) -p $< > $*.mod
$(COMPILE.mod) -o $@ $*.mod
$(COMPILE.mod) -o $% $<
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.mod~.a:
$(GET) $(GFLAGS) -p $< > $*.mod
$(COMPILE.mod) -o $% $*.mod
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
# Pascal section.
PC=pc
PFLAGS=
COMPILE.p=$(PC) $(PFLAGS) $(CPPFLAGS) -c
LINK.p=$(PC) $(PFLAGS) $(CPPFLAGS) $(LDFLAGS)
.p:
$(LINK.p) -o $@ $< $(LDLIBS)
.p~:
$(GET) $(GFLAGS) -p $< > $*.p
$(LINK.p) -o $@ $*.p $(LDLIBS)
.p.o:
$(COMPILE.p) $(OUTPUT_OPTION) $<
.p~.o:
$(GET) $(GFLAGS) -p $< > $*.p
$(COMPILE.p) $(OUTPUT_OPTION) $*.p
.p.a:
$(COMPILE.p) -o $% $<
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.p~.a:
$(GET) $(GFLAGS) -p $< > $*.p
$(COMPILE.p) -o $% $*.p
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
# Assembly section.
AS=as
ASFLAGS=
COMPILE.s=$(AS) $(ASFLAGS)
COMPILE.S=$(CC) $(ASFLAGS) $(CPPFLAGS) -c
.s.o:
$(COMPILE.s) -o $@ $<
.s~.o:
$(GET) $(GFLAGS) -p $< > $*.s
$(COMPILE.s) -o $@ $*.s
.s.a:
$(COMPILE.s) -o $% $<
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.s~.a:
$(GET) $(GFLAGS) -p $< > $*.s
$(COMPILE.s) -o $% $*.s
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.S.o:
$(COMPILE.S) -o $@ $<
.S~.o:
$(GET) $(GFLAGS) -p $< > $*.S
$(COMPILE.S) -o $@ $*.S
.S.a:
$(COMPILE.S) -o $% $<
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
.S~.a:
$(GET) $(GFLAGS) -p $< > $*.S
$(COMPILE.S) -o $% $*.S
$(AR) $(ARFLAGS) $@ $%
$(RM) $%
# Shell section.
.sh:
$(RM) $@
cat $< > $@
chmod +x $@
.sh~:
$(GET) $(GFLAGS) -p $< > $*.sh
cp $*.sh $@
chmod a+x $@
# NeWS section
CPS=cps
CPSFLAGS=
$(CPS) $(CPSFLAGS) $*.cps
.cps~.h:
$(GET) $(GFLAGS) -p $< > $*.cps
$(CPS) $(CPSFLAGS) $*.cps
# JAVA section
JAVAC=javac
JAVACFLAGS=
$(JAVAC) $(JAVACFLAGS) $<
.java~.class:
$(GET) $(GFLAGS) -p $< > $*.java
$(JAVAC) $(JAVACFLAGS) $<
# Miscellaneous section.
LD=ld
LDFLAGS=
LDLIBS=
MAKE=make
RM=rm -f
AR=ar
ARFLAGS=rv
GET=get
GFLAGS=
markfile.o: markfile
echo "static char _sccsid[] = \"`grep @'(#)' markfile`\";" > markfile.c
cc -c markfile.c
$(RM) markfile.c
SCCSFLAGS=
SCCSGETFLAGS=-s
.SCCS_GET:
sccs $(SCCSFLAGS) get $(SCCSGETFLAGS) $@ -G$@
.SCCS_GET_POSIX:
sccs $(SCCSFLAGS) get $(SCCSGETFLAGS) $@
.GET_POSIX:
$(GET) $(GFLAGS) s.$@