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 
  22 #
  23 # Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 # Copyright 2019 Peter Tribble.
  26 #
  27 # include global definitions
  28 include ../../../Makefile.master
  29 
  30 HDRS=  \
  31 avintr.h \
  32 bootconf.h \
  33 dkmpio.h                \
  34 fdreg.h                 fdvar.h \
  35 obpdefs.h               \
  36 promif.h                promimpl.h \
  37 ser_async.h             ser_zscc.h \
  38 socalio.h               socalreg.h \
  39 socal_cq_defs.h         socalmap.h              socalvar.h \
  40 zsdev.h
  41 
  42 SCSIADHDRS= \
  43 fascmd.h        fasdma.h \
  44 fasreg.h        fasvar.h        ifpio.h         sfvar.h
  45 
  46 SCSITARGHDRS= \
  47 
  48 ROOTDIR=        $(ROOT)/usr/include/sys
  49 ROOTDIRS=       $(ROOTDIR) \
  50                 $(ROOTDIR)/audio \
  51                 $(ROOTDIR)/scsi/adapters \
  52                 $(ROOTDIR)/scsi/targets
  53 
  54 ROOTHDRS= $(HDRS:%=$(ROOTDIR)/%)
  55 ROOTFCHDRS= $(FCHDRS:%=$(ROOTDIR)/fc4/%)
  56 ROOTSCSIADHDRS= $(SCSIADHDRS:%=$(ROOTDIR)/scsi/adapters/%)
  57 ROOTSCSITARGHDRS= $(SCSITARGHDRS:%=$(ROOTDIR)/scsi/targets/%)
  58 
  59 
  60 # install rules
  61 $(ROOTDIR)/%: %
  62         $(INS.file)
  63 
  64 $(ROOTDIR)/audio/%: audio/%
  65         $(INS.file)
  66 
  67 $(ROOTDIR)/scsi/adapters/%: scsi/adapters/%
  68         $(INS.file)
  69 
  70 $(ROOTDIR)/scsi/targets/%: scsi/targets/%
  71         $(INS.file)
  72 
  73 # check files really don't exist
  74 
  75 audio/%.check:          audio/%.h
  76         $(DOT_H_CHECK)
  77 
  78 scsi/adapters/%.check:  scsi/adapters/%.h
  79         $(DOT_H_CHECK)
  80 
  81 scsi/targets/%.check:   scsi/targets/%.h
  82         $(DOT_H_CHECK)
  83 
  84 CHECKHDRS= \
  85         $(HDRS:%.h=%.check) \
  86         $(FCHDRS:%.h=fc4/%.check) \
  87         $(SCSIADHDRS:%.h=scsi/adapters/%.check) \
  88         $(SCSITARGHDRS:%.h=scsi/targets/%.check)
  89 
  90 # headers which won't quite meet the standards...
  91 #
  92 # devops.h has a macro where the formal parameters to the macro are greater
  93 # than 80 characters.  cpp (or the equivalent built into acomp) does not allow
  94 # continuation line breaks in the formal parameter list.  This could be fixed
  95 # by giving shorter names to the formal parameters, but the right fix is to
  96 # fix cpp.  (Also, /* CSTYLED */ doesn't seem to fix this.
  97 #
  98 devops.check    := CSTYLE_TAIL = | grep -v "line > 80 characters" | true
  99 
 100 .KEEP_STATE:
 101 
 102 .PARALLEL:      $(CHECKHDRS) $(ROOTHDRS) $(ROOTAUDHDRS) $(ROOTAUDIMPLHDRS) \
 103                 $(ROOTSCSIADHDRS) $(ROOTSCSITARGHDRS) $(ROOTXHDRS) \
 104                 $(ROOTFCHDRS)
 105 
 106 install_h:      $(ROOTDIRS) .WAIT $(ROOTHDRS) \
 107                 $(ROOTAUDHDRS) $(ROOTAUDIMPLHDRS) \
 108                 $(ROOTSCSIADHDRS) $(ROOTSCSITARGHDRS) $(ROOTFCHDRS)
 109 
 110 $(ROOTDIRS):
 111         $(INS.dir)
 112 
 113 check:  $(CHECKHDRS)