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 2003 Sun Microsystems, Inc. All rights reserved. 22# Use is subject to license terms. 23# 24# @(#)make.rules.file 1.22 06/12/12 25# 26 27SUFFIXES = .o .c .c~ .cc .cc~ .y .y~ .l .l~ .s .s~ .sh .sh~ .S .S~ .i .ln \ 28 .h .h~ .f .f~ .for .for~ .F .F~ .f90 .f90~ .ftn .ftn~ .mod .mod~ \ 29 .sym .def .def~ .p .p~ .r .r~ .cps .cps~ .C .C~ .Y .Y~ .L .L~ \ 30 .java .java~ .class 31 32.SUFFIXES: $(SUFFIXES) 33 34# OUTPUT_OPTION should be defined to "-o $@" when 35# the default rules are used for non-local files. 36OUTPUT_OPTION= 37 38# C language section. 39CC=cc 40CFLAGS= 41CPPFLAGS= 42LINT=lint 43LINTFLAGS= 44COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -c 45LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) 46LINT.c=$(LINT) $(LINTFLAGS) $(CPPFLAGS) 47.c: 48 $(LINK.c) -o $@ $< $(LDLIBS) 49.c~: 50 $(GET) $(GFLAGS) -p $< > $*.c 51 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $*.c 52.c.o: 53 $(COMPILE.c) $(OUTPUT_OPTION) $< 54.c~.o: 55 $(GET) $(GFLAGS) -p $< > $*.c 56 $(CC) $(CFLAGS) -c $*.c 57.c.i: 58 $(CC) $(CFLAGS) $(CPPFLAGS) -P $< 59.c~.i: 60 $(GET) $(GFLAGS) -p $< > $*.c 61 $(CC) $(CFLAGS) $(CPPFLAGS) -P $*.c 62.c.ln: 63 $(LINT.c) $(OUTPUT_OPTION) -c $< 64.c~.ln: 65 $(GET) $(GFLAGS) -p $< > $*.c 66 $(LINT.c) $(OUTPUT_OPTION) -c $*.c 67.c.a: 68 $(COMPILE.c) -o $% $< 69 $(AR) $(ARFLAGS) $@ $% 70 $(RM) $% 71.c~.a: 72 $(GET) $(GFLAGS) -p $< > $*.c 73 $(COMPILE.c) -o $% $*.c 74 $(AR) $(ARFLAGS) $@ $% 75 $(RM) $% 76 77# C language section. yacc. 78YACC=yacc 79YFLAGS= 80YACC.y=$(YACC) $(YFLAGS) 81.y: 82 $(YACC.y) $< 83 $(LINK.c) -o $@ y.tab.c $(LDLIBS) 84 $(RM) y.tab.c 85.y~: 86 $(GET) $(GFLAGS) -p $< > $*.y 87 $(YACC) $(YFLAGS) $*.y 88 $(COMPILE.c) -o $@ y.tab.c 89 $(RM) y.tab.c 90 91.y.c: 92 $(YACC.y) $< 93 mv y.tab.c $@ 94.y~.c: 95 $(GET) $(GFLAGS) -p $< > $*.y 96 $(YACC) $(YFLAGS) $*.y 97 mv y.tab.c $@ 98.y.ln: 99 $(YACC.y) $< 100 $(LINT.c) -o $@ -i y.tab.c 101 $(RM) y.tab.c 102.y~.ln: 103 $(GET) $(GFLAGS) -p $< > $*.y 104 $(YACC.y) $*.y 105 $(LINT.c) -o $@ -i y.tab.c 106 $(RM) y.tab.c 107.y.o: 108 $(YACC.y) $< 109 $(COMPILE.c) -o $@ y.tab.c 110 $(RM) y.tab.c 111.y~.o: 112 $(GET) $(GFLAGS) -p $< > $*.y 113 $(YACC) $(YFLAGS) $*.y 114 $(CC) $(CFLAGS) -c y.tab.c 115 rm -f y.tab.c 116 mv y.tab.o $@ 117 118# C language section. lex. 119LEX=lex 120LFLAGS= 121LEX.l=$(LEX) $(LFLAGS) -t 122.l: 123 $(RM) $*.c 124 $(LEX.l) $< > $*.c 125 $(LINK.c) -o $@ $*.c -ll $(LDLIBS) 126 $(RM) $*.c 127.l~: 128 $(GET) $(GFLAGS) -p $< > $*.l 129 $(LEX) $(LFLAGS) $*.l 130 $(CC) $(CFLAGS) -c lex.yy.c 131 rm -f lex.yy.c 132 mv lex.yy.c $@ 133 134.l.c : 135 $(RM) $@ 136 $(LEX.l) $< > $@ 137.l~.c: 138 $(GET) $(GFLAGS) -p $< > $*.l 139 $(LEX) $(LFLAGS) $*.l 140 mv lex.yy.c $@ 141.l.ln: 142 $(RM) $*.c 143 $(LEX.l) $< > $*.c 144 $(LINT.c) -o $@ -i $*.c 145 $(RM) $*.c 146.l~.ln: 147 $(GET) $(GFLAGS) -p $< > $*.l 148 $(RM) $*.c 149 $(LEX.l) $*.l > $*.c 150 $(LINT.c) -o $@ -i $*.c 151 $(RM) $*.c 152.l.o: 153 $(RM) $*.c 154 $(LEX.l) $< > $*.c 155 $(COMPILE.c) -o $@ $*.c 156 $(RM) $*.c 157.l~.o: 158 $(GET) $(GFLAGS) -p $< > $*.l 159 $(LEX) $(LFLAGS) $*.l 160 $(CC) $(CFLAGS) -c lex.yy.c 161 rm -f lex.yy.c 162 mv lex.yy.c $@ 163 164# C++ language section. 165CCC=CC 166CCFLAGS= 167COMPILE.cc=$(CCC) $(CCFLAGS) $(CPPFLAGS) -c 168LINK.cc=$(CCC) $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS) 169COMPILE.C=$(CCC) $(CCFLAGS) $(CPPFLAGS) -c 170LINK.C=$(CCC) $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS) 171.cc: 172 $(LINK.cc) -o $@ $< $(LDLIBS) 173.cc~: 174 $(GET) $(GFLAGS) -p $< > $*.cc 175 $(LINK.cc) -o $@ $*.cc $(LDLIBS) 176.cc.o: 177 $(COMPILE.cc) $(OUTPUT_OPTION) $< 178.cc~.o: 179 $(GET) $(GFLAGS) -p $< > $*.cc 180 $(COMPILE.cc) $(OUTPUT_OPTION) $*.cc 181.cc.i: 182 $(CCC) $(CCFLAGS) $(CPPFLAGS) -P $< 183.cc~.i: 184 $(GET) $(GFLAGS) -p $< > $*.cc 185 $(CCC) $(CCFLAGS) $(CPPFLAGS) -P $*.cc 186.cc.a: 187 $(COMPILE.cc) -o $% $< 188 $(AR) $(ARFLAGS) $@ $% 189 $(RM) $% 190.cc~.a: 191 $(GET) $(GFLAGS) -p $< > $*.cc 192 $(COMPILE.cc) -o $% $*.cc 193 $(AR) $(ARFLAGS) $@ $% 194 $(RM) $% 195 196.C: 197 $(LINK.C) -o $@ $< $(LDLIBS) 198.C~: 199 $(GET) $(GFLAGS) -p $< > $*.C 200 $(LINK.C) -o $@ $*.C $(LDLIBS) 201.C.o: 202 $(COMPILE.C) $(OUTPUT_OPTION) $< 203.C~.o: 204 $(GET) $(GFLAGS) -p $< > $*.C 205 $(COMPILE.C) $(OUTPUT_OPTION) $*.C 206.C.i: 207 $(CCC) $(CCFLAGS) $(CPPFLAGS) -P $< 208.C~.i: 209 $(GET) $(GFLAGS) -p $< > $*.C 210 $(CCC) $(CCFLAGS) $(CPPFLAGS) -P $*.C 211.C.a: 212 $(COMPILE.C) -o $% $< 213 $(AR) $(ARFLAGS) $@ $% 214 $(RM) $% 215.C~.a: 216 $(GET) $(GFLAGS) -p $< > $*.C 217 $(COMPILE.C) -o $% $*.C 218 $(AR) $(ARFLAGS) $@ $% 219 $(RM) $% 220 221# FORTRAN section. 222FC=f77 223FFLAGS= 224COMPILE.f=$(FC) $(FFLAGS) -c 225LINK.f=$(FC) $(FFLAGS) $(LDFLAGS) 226COMPILE.F=$(FC) $(FFLAGS) $(CPPFLAGS) -c 227LINK.F=$(FC) $(FFLAGS) $(CPPFLAGS) $(LDFLAGS) 228.f: 229 $(LINK.f) -o $@ $< $(LDLIBS) 230.f~: 231 $(GET) $(GFLAGS) -p $< > $*.f 232 $(FC) $(FFLAGS) $(LDFLAGS) -o $@ $*.f 233.f.o: 234 $(COMPILE.f) $(OUTPUT_OPTION) $< 235.f~.o: 236 $(GET) $(GFLAGS) -p $< > $*.f 237 $(FC) $(FFLAGS) -c $*.f 238.f.a: 239 $(COMPILE.f) -o $% $< 240 $(AR) $(ARFLAGS) $@ $% 241 $(RM) $% 242.f~.a: 243 $(GET) $(GFLAGS) -p $< > $*.f 244 $(COMPILE.f) -o $% $*.f 245 $(AR) $(ARFLAGS) $@ $% 246 $(RM) $% 247.for: 248 $(LINK.f) -o $@ $< $(LDLIBS) 249.for~: 250 $(GET) $(GFLAGS) -p $< > $*.for 251 $(FC) $(FFLAGS) $(LDFLAGS) -o $@ $*.for 252.for.o: 253 $(COMPILE.f) $(OUTPUT_OPTION) $< 254.for~.o: 255 $(GET) $(GFLAGS) -p $< > $*.for 256 $(FC) $(FFLAGS) -c $*.for 257.for.a: 258 $(COMPILE.f) -o $% $< 259 $(AR) $(ARFLAGS) $@ $% 260 $(RM) $% 261.for~.a: 262 $(GET) $(GFLAGS) -p $< > $*.for 263 $(COMPILE.f) -o $% $*.for 264 $(AR) $(ARFLAGS) $@ $% 265 $(RM) $% 266.F: 267 $(LINK.F) -o $@ $< $(LDLIBS) 268.F~: 269 $(GET) $(GFLAGS) -p $< > $*.F 270 $(FC) $(FFLAGS) $(LDFLAGS) -o $@ $*.F 271.F.o: 272 $(COMPILE.F) $(OUTPUT_OPTION) $< 273.F~.o: 274 $(GET) $(GFLAGS) -p $< > $*.F 275 $(FC) $(FFLAGS) -c $*.F 276.F.a: 277 $(COMPILE.F) -o $% $< 278 $(AR) $(ARFLAGS) $@ $% 279 $(RM) $% 280.F~.a: 281 $(GET) $(GFLAGS) -p $< > $*.F 282 $(COMPILE.F) -o $% $*.F 283 $(AR) $(ARFLAGS) $@ $% 284 $(RM) $% 285 286# FORTRAN section. ratfor. 287RFLAGS= 288COMPILE.r=$(FC) $(FFLAGS) $(RFLAGS) -c 289LINK.r=$(FC) $(FFLAGS) $(RFLAGS) $(LDFLAGS) 290.r: 291 $(LINK.r) -o $@ $< $(LDLIBS) 292.r~: 293 $(GET) $(GFLAGS) -p $< > $*.r 294 $(LINK.r) -o $@ $*.r $(LDLIBS) 295.r.o: 296 $(COMPILE.r) $(OUTPUT_OPTION) $< 297.r~.o: 298 $(GET) $(GFLAGS) -p $< > $*.r 299 $(COMPILE.r) $(OUTPUT_OPTION) $*.r 300.r.a: 301 $(COMPILE.r) -o $% $< 302 $(AR) $(ARFLAGS) $@ $% 303 $(RM) $% 304.r~.a: 305 $(GET) $(GFLAGS) -p $< > $*.r 306 $(COMPILE.r) -o $% $*.r 307 $(AR) $(ARFLAGS) $@ $% 308 $(RM) $% 309 310# FORTRAN 90 section. 311F90C=f90 312F90FLAGS= 313COMPILE.f90=$(F90C) $(F90FLAGS) -c 314LINK.f90=$(F90C) $(F90FLAGS) $(LDFLAGS) 315COMPILE.ftn=$(F90C) $(F90FLAGS) -c 316LINK.ftn=$(F90C) $(F90FLAGS) $(LDFLAGS) 317.f90: 318 $(LINK.f90) -o $@ $< $(LDLIBS) 319.f90~: 320 $(GET) $(GFLAGS) -p $< > $*.f90 321 $(LINK.f90) -o $@ $*.f90 $(LDLIBS) 322.f90.o: 323 $(COMPILE.f90) $(OUTPUT_OPTION) $< 324.f90~.o: 325 $(GET) $(GFLAGS) -p $< > $*.f90 326 $(COMPILE.f90) $(OUTPUT_OPTION) $*.f90 327.f90.a: 328 $(COMPILE.f90) -o $% $< 329 $(AR) $(ARFLAGS) $@ $% 330 $(RM) $% 331.f90~.a: 332 $(GET) $(GFLAGS) -p $< > $*.f90 333 $(COMPILE.f90) -o $% $*.f90 334 $(AR) $(ARFLAGS) $@ $% 335 $(RM) $% 336.ftn: 337 $(LINK.ftn) -o $@ $< $(LDLIBS) 338.ftn~: 339 $(GET) $(GFLAGS) -p $< > $*.ftn 340 $(LINK.ftn) -o $@ $*.ftn $(LDLIBS) 341.ftn.o: 342 $(COMPILE.ftn) $(OUTPUT_OPTION) $< 343.ftn~.o: 344 $(GET) $(GFLAGS) -p $< > $*.ftn 345 $(COMPILE.ftn) $(OUTPUT_OPTION) $*.ftn 346.ftn.a: 347 $(COMPILE.ftn) -o $% $< 348 $(AR) $(ARFLAGS) $@ $% 349 $(RM) $% 350.ftn~.a: 351 $(GET) $(GFLAGS) -p $< > $*.ftn 352 $(COMPILE.ftn) -o $% $*.ftn 353 $(AR) $(ARFLAGS) $@ $% 354 $(RM) $% 355 356# Modula-2 section. 357M2C=m2c 358M2FLAGS= 359MODFLAGS= 360DEFFLAGS= 361COMPILE.def=$(M2C) $(M2FLAGS) $(DEFFLAGS) 362COMPILE.mod=$(M2C) $(M2FLAGS) $(MODFLAGS) 363.def.sym: 364 $(COMPILE.def) -o $@ $< 365.def~.sym: 366 $(GET) $(GFLAGS) -p $< > $*.def 367 $(COMPILE.def) -o $@ $*.def 368.mod: 369 $(COMPILE.mod) -o $@ -e $@ $< 370.mod~: 371 $(GET) $(GFLAGS) -p $< > $*.mod 372 $(COMPILE.mod) -o $@ -e $@ $*.mod 373.mod.o: 374 $(COMPILE.mod) -o $@ $< 375.mod~.o: 376 $(GET) $(GFLAGS) -p $< > $*.mod 377 $(COMPILE.mod) -o $@ $*.mod 378.mod.a: 379 $(COMPILE.mod) -o $% $< 380 $(AR) $(ARFLAGS) $@ $% 381 $(RM) $% 382.mod~.a: 383 $(GET) $(GFLAGS) -p $< > $*.mod 384 $(COMPILE.mod) -o $% $*.mod 385 $(AR) $(ARFLAGS) $@ $% 386 $(RM) $% 387 388# Pascal section. 389PC=pc 390PFLAGS= 391COMPILE.p=$(PC) $(PFLAGS) $(CPPFLAGS) -c 392LINK.p=$(PC) $(PFLAGS) $(CPPFLAGS) $(LDFLAGS) 393.p: 394 $(LINK.p) -o $@ $< $(LDLIBS) 395.p~: 396 $(GET) $(GFLAGS) -p $< > $*.p 397 $(LINK.p) -o $@ $*.p $(LDLIBS) 398.p.o: 399 $(COMPILE.p) $(OUTPUT_OPTION) $< 400.p~.o: 401 $(GET) $(GFLAGS) -p $< > $*.p 402 $(COMPILE.p) $(OUTPUT_OPTION) $*.p 403.p.a: 404 $(COMPILE.p) -o $% $< 405 $(AR) $(ARFLAGS) $@ $% 406 $(RM) $% 407.p~.a: 408 $(GET) $(GFLAGS) -p $< > $*.p 409 $(COMPILE.p) -o $% $*.p 410 $(AR) $(ARFLAGS) $@ $% 411 $(RM) $% 412 413# Assembly section. 414AS=as 415ASFLAGS= 416COMPILE.s=$(AS) $(ASFLAGS) 417COMPILE.S=$(CC) $(ASFLAGS) $(CPPFLAGS) -c 418.s.o: 419 $(COMPILE.s) -o $@ $< 420.s~.o: 421 $(GET) $(GFLAGS) -p $< > $*.s 422 $(COMPILE.s) -o $@ $*.s 423.s.a: 424 $(COMPILE.s) -o $% $< 425 $(AR) $(ARFLAGS) $@ $% 426 $(RM) $% 427.s~.a: 428 $(GET) $(GFLAGS) -p $< > $*.s 429 $(COMPILE.s) -o $% $*.s 430 $(AR) $(ARFLAGS) $@ $% 431 $(RM) $% 432.S.o: 433 $(COMPILE.S) -o $@ $< 434.S~.o: 435 $(GET) $(GFLAGS) -p $< > $*.S 436 $(COMPILE.S) -o $@ $*.S 437.S.a: 438 $(COMPILE.S) -o $% $< 439 $(AR) $(ARFLAGS) $@ $% 440 $(RM) $% 441.S~.a: 442 $(GET) $(GFLAGS) -p $< > $*.S 443 $(COMPILE.S) -o $% $*.S 444 $(AR) $(ARFLAGS) $@ $% 445 $(RM) $% 446 447# Shell section. 448.sh: 449 $(RM) $@ 450 cat $< > $@ 451 chmod +x $@ 452.sh~: 453 $(GET) $(GFLAGS) -p $< > $*.sh 454 cp $*.sh $@ 455 chmod a+x $@ 456 457# NeWS section 458CPS=cps 459CPSFLAGS= 460.cps.h: 461 $(CPS) $(CPSFLAGS) $*.cps 462.cps~.h: 463 $(GET) $(GFLAGS) -p $< > $*.cps 464 $(CPS) $(CPSFLAGS) $*.cps 465 466# JAVA section 467JAVAC=javac 468JAVACFLAGS= 469.java.class: 470 $(JAVAC) $(JAVACFLAGS) $< 471.java~.class: 472 $(GET) $(GFLAGS) -p $< > $*.java 473 $(JAVAC) $(JAVACFLAGS) $< 474 475# Miscellaneous section. 476LD=ld 477LDFLAGS= 478LDLIBS= 479MAKE=make 480RM=rm -f 481AR=ar 482ARFLAGS=rv 483GET=get 484GFLAGS= 485 486markfile.o: markfile 487 echo "static char _sccsid[] = \"`grep @'(#)' markfile`\";" > markfile.c 488 cc -c markfile.c 489 $(RM) markfile.c 490 491SCCSFLAGS= 492SCCSGETFLAGS=-s 493.SCCS_GET: 494 sccs $(SCCSFLAGS) get $(SCCSGETFLAGS) $@ -G$@ 495 496.SCCS_GET_POSIX: 497 sccs $(SCCSFLAGS) get $(SCCSGETFLAGS) $@ 498 499.GET_POSIX: 500 $(GET) $(GFLAGS) s.$@ 501