1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21# Copyright 1993 Sun Microsystems, Inc. All rights reserved. 22# Use is subject to license terms. 23# 24# @(#)default.mk.file 1.4 06/12/12 25# 26 27SUFFIXES = .o .c .c~ .cc .cc~ .s .s~ .S .S~ .ln .f .f~ .F .F~ .l .l~ \ 28 .mod .mod~ .sym .def .def~ .p .p~ .r .r~ .y .y~ .h .h~ .sh .sh~ \ 29 .cps .cps~ 30.SUFFIXES: $(SUFFIXES) 31 32# OUTPUT_OPTION should be defined to "-o $@" when 33# the default rules are used for non-local files. 34OUTPUT_OPTION= 35 36# C language section. 37CC=cc 38CFLAGS= 39CPPFLAGS= 40LINT=lint 41LINTFLAGS= 42COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -target $(TARGET_ARCH:-%=%) -c 43LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -target $(TARGET_ARCH:-%=%) 44LINT.c=$(LINT) $(LINTFLAGS) $(CPPFLAGS) $(TARGET_ARCH) 45.c: 46 $(LINK.c) -o $@ $< $(LDLIBS) 47.c.ln: 48 $(LINT.c) $(OUTPUT_OPTION) -i $< 49.c.o: 50 $(COMPILE.c) $(OUTPUT_OPTION) $< 51.c.a: 52 $(COMPILE.c) -o $% $< 53 $(AR) $(ARFLAGS) $@ $% 54 $(RM) $% 55 56# C language section. yacc. 57YACC=yacc 58YFLAGS= 59YACC.y=$(YACC) $(YFLAGS) 60.y: 61 $(YACC.y) $< 62 $(LINK.c) -o $@ y.tab.c $(LDLIBS) 63 $(RM) y.tab.c 64.y.c: 65 $(YACC.y) $< 66 mv y.tab.c $@ 67.y.ln: 68 $(YACC.y) $< 69 $(LINT.c) -o $@ -i y.tab.c 70 $(RM) y.tab.c 71.y.o: 72 $(YACC.y) $< 73 $(COMPILE.c) -o $@ y.tab.c 74 $(RM) y.tab.c 75 76# C language section. lex. 77LEX=lex 78LFLAGS= 79LEX.l=$(LEX) $(LFLAGS) -t 80.l: 81 $(RM) $*.c 82 $(LEX.l) $< > $*.c 83 $(LINK.c) -o $@ $*.c -ll $(LDLIBS) 84 $(RM) $*.c 85.l.c : 86 $(RM) $@ 87 $(LEX.l) $< > $@ 88.l.ln: 89 $(RM) $*.c 90 $(LEX.l) $< > $*.c 91 $(LINT.c) -o $@ -i $*.c 92 $(RM) $*.c 93.l.o: 94 $(RM) $*.c 95 $(LEX.l) $< > $*.c 96 $(COMPILE.c) -o $@ $*.c 97 $(RM) $*.c 98 99# C++ language section. 100CCC=CC 101CCFLAGS= 102COMPILE.cc=$(CCC) $(CCFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c 103LINK.cc=$(CCC) $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) 104.cc: 105 $(LINK.cc) -o $@ $< $(LDLIBS) 106.cc.o: 107 $(COMPILE.cc) $(OUTPUT_OPTION) $< 108.cc.a: 109 $(COMPILE.cc) -o $% $< 110 $(AR) $(ARFLAGS) $@ $% 111 $(RM) $% 112 113# FORTRAN section. 114FC=f77 115FFLAGS= 116COMPILE.f=$(FC) $(FFLAGS) $(TARGET_ARCH) -c 117LINK.f=$(FC) $(FFLAGS) $(LDFLAGS) $(TARGET_ARCH) 118COMPILE.F=$(FC) $(FFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c 119LINK.F=$(FC) $(FFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) 120.f: 121 $(LINK.f) -o $@ $< $(LDLIBS) 122.f.o: 123 $(COMPILE.f) $(OUTPUT_OPTION) $< 124.f.a: 125 $(COMPILE.f) -o $% $< 126 $(AR) $(ARFLAGS) $@ $% 127 $(RM) $% 128.F: 129 $(LINK.F) -o $@ $< $(LDLIBS) 130.F.o: 131 $(COMPILE.F) $(OUTPUT_OPTION) $< 132.F.a: 133 $(COMPILE.F) -o $% $< 134 $(AR) $(ARFLAGS) $@ $% 135 $(RM) $% 136 137# FORTRAN section. ratfor. 138RFLAGS= 139COMPILE.r=$(FC) $(FFLAGS) $(RFLAGS) $(TARGET_ARCH) -c 140LINK.r=$(FC) $(FFLAGS) $(RFLAGS) $(LDFLAGS) $(TARGET_ARCH) 141.r: 142 $(LINK.r) -o $@ $< $(LDLIBS) 143.r.o: 144 $(COMPILE.r) $(OUTPUT_OPTION) $< 145.r.a: 146 $(COMPILE.r) -o $% $< 147 $(AR) $(ARFLAGS) $@ $% 148 $(RM) $% 149 150# Modula-2 section. 151M2C=m2c 152M2FLAGS= 153MODFLAGS= 154DEFFLAGS= 155COMPILE.def=$(M2C) $(M2FLAGS) $(DEFFLAGS) $(TARGET_ARCH) 156COMPILE.mod=$(M2C) $(M2FLAGS) $(MODFLAGS) $(TARGET_ARCH) 157.def.sym: 158 $(COMPILE.def) -o $@ $< 159.mod: 160 $(COMPILE.mod) -o $@ -e $@ $< 161.mod.o: 162 $(COMPILE.mod) -o $@ $< 163.mod.a: 164 $(COMPILE.mod) -o $% $< 165 $(AR) $(ARFLAGS) $@ $% 166 $(RM) $% 167 168# Pascal section. 169PC=pc 170PFLAGS= 171COMPILE.p=$(PC) $(PFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c 172LINK.p=$(PC) $(PFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) 173.p: 174 $(LINK.p) -o $@ $< $(LDLIBS) 175.p.o: 176 $(COMPILE.p) $(OUTPUT_OPTION) $< 177.p.a: 178 $(COMPILE.p) -o $% $< 179 $(AR) $(ARFLAGS) $@ $% 180 $(RM) $% 181 182# Assembly section. 183AS=as 184ASFLAGS= 185COMPILE.s=$(AS) $(ASFLAGS) $(TARGET_MACH) 186COMPILE.S=$(CC) $(ASFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c 187.s.o: 188 $(COMPILE.s) -o $@ $< 189.s.a: 190 $(COMPILE.s) -o $% $< 191 $(AR) $(ARFLAGS) $@ $% 192 $(RM) $% 193.S.o: 194 $(COMPILE.S) -o $@ $< 195.S.a: 196 $(COMPILE.S) -o $% $< 197 $(AR) $(ARFLAGS) $@ $% 198 $(RM) $% 199 200# Shell section. 201.sh: 202 $(RM) $@ 203 cat $< > $@ 204 chmod +x $@ 205 206# NeWS section 207CPS=cps 208CPSFLAGS= 209.cps.h: 210 $(CPS) $(CPSFLAGS) $*.cps 211 212# Miscellaneous section. 213LD=ld 214LDFLAGS= 215LDLIBS= 216MAKE=make 217RM=rm -f 218AR=ar 219ARFLAGS=rv 220GET=/usr/sccs/get 221GFLAGS= 222 223markfile.o: markfile 224 echo "static char _sccsid[] = \"`grep @'(#)' markfile`\";" > markfile.c 225 cc -c markfile.c 226 $(RM) markfile.c 227 228SCCSFLAGS= 229SCCSGETFLAGS=-s 230.SCCS_GET: 231 sccs $(SCCSFLAGS) get $(SCCSGETFLAGS) $@ -G$@ 232