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 
  27 SUFFIXES = .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.
  36 OUTPUT_OPTION=
  37 
  38 #       C language section.
  39 CC=cc
  40 CFLAGS=
  41 CPPFLAGS=
  42 LINT=lint
  43 LINTFLAGS=
  44 COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -c
  45 LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) 
  46 LINT.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.
  78 YACC=yacc
  79 YFLAGS=
  80 YACC.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.
 119 LEX=lex
 120 LFLAGS=
 121 LEX.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.
 165 CCC=CC
 166 CCFLAGS=
 167 COMPILE.cc=$(CCC) $(CCFLAGS) $(CPPFLAGS)  -c
 168 LINK.cc=$(CCC) $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS) 
 169 COMPILE.C=$(CCC) $(CCFLAGS) $(CPPFLAGS)  -c
 170 LINK.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.
 222 FC=f77
 223 FFLAGS=
 224 COMPILE.f=$(FC) $(FFLAGS)  -c
 225 LINK.f=$(FC) $(FFLAGS) $(LDFLAGS) 
 226 COMPILE.F=$(FC) $(FFLAGS) $(CPPFLAGS)  -c
 227 LINK.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.
 287 RFLAGS=
 288 COMPILE.r=$(FC) $(FFLAGS) $(RFLAGS)  -c
 289 LINK.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.
 311 F90C=f90
 312 F90FLAGS=
 313 COMPILE.f90=$(F90C) $(F90FLAGS) -c
 314 LINK.f90=$(F90C) $(F90FLAGS) $(LDFLAGS)
 315 COMPILE.ftn=$(F90C) $(F90FLAGS) -c
 316 LINK.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.
 357 M2C=m2c
 358 M2FLAGS=
 359 MODFLAGS=
 360 DEFFLAGS=
 361 COMPILE.def=$(M2C) $(M2FLAGS) $(DEFFLAGS) 
 362 COMPILE.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.
 389 PC=pc
 390 PFLAGS=
 391 COMPILE.p=$(PC) $(PFLAGS) $(CPPFLAGS)  -c
 392 LINK.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.
 414 AS=as
 415 ASFLAGS=
 416 COMPILE.s=$(AS) $(ASFLAGS) 
 417 COMPILE.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
 458 CPS=cps
 459 CPSFLAGS=
 460 .cps.h:
 461         $(CPS) $(CPSFLAGS) $*.cps
 462 .cps~.h:
 463         $(GET) $(GFLAGS) -p $< > $*.cps
 464         $(CPS) $(CPSFLAGS) $*.cps
 465 
 466 #       JAVA section
 467 JAVAC=javac
 468 JAVACFLAGS=
 469 .java.class:
 470         $(JAVAC) $(JAVACFLAGS) $<
 471 .java~.class:
 472         $(GET) $(GFLAGS) -p $< > $*.java
 473         $(JAVAC) $(JAVACFLAGS) $<
 474 
 475 #       Miscellaneous section.
 476 LD=ld
 477 LDFLAGS=
 478 LDLIBS=
 479 MAKE=make
 480 RM=rm -f
 481 AR=ar
 482 ARFLAGS=rv
 483 GET=get
 484 GFLAGS=
 485 
 486 markfile.o:     markfile
 487         echo "static char _sccsid[] = \"`grep @'(#)' markfile`\";" > markfile.c
 488         cc -c markfile.c
 489         $(RM) markfile.c
 490 
 491 SCCSFLAGS=
 492 SCCSGETFLAGS=-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.$@