Print this page
    
NEX-3123 update gate build environment to [open]jdk7
Reviewed by: Gordon Ross <gwr@nexenta.com>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Reviewed by: Jean McCormack <jean.mccormack@nexenta.com>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
    
      
        | Split | 
	Close | 
      
      | Expand all | 
      | Collapse all | 
    
    
          --- old/usr/src/lib/libdtrace_jni/java/Makefile
          +++ new/usr/src/lib/libdtrace_jni/java/Makefile
   1    1  #
   2    2  # CDDL HEADER START
   3    3  #
   4    4  # The contents of this file are subject to the terms of the
   5    5  # Common Development and Distribution License (the "License").
   6    6  # You may not use this file except in compliance with the License.
   7    7  #
   8    8  # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9    9  # or http://www.opensolaris.org/os/licensing.
  10   10  # See the License for the specific language governing permissions
  11   11  # and limitations under the License.
  12   12  #
  13   13  # When distributing Covered Code, include this CDDL HEADER in each
  14   14  # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15  # If applicable, add the following below this CDDL HEADER, with the
  
    | 
      ↓ open down ↓ | 
    15 lines elided | 
    
      ↑ open up ↑ | 
  
  16   16  # fields enclosed by brackets "[]" replaced with your own identifying
  17   17  # information: Portions Copyright [yyyy] [name of copyright owner]
  18   18  #
  19   19  # CDDL HEADER END
  20   20  #
  21   21  
  22   22  #
  23   23  # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  24   24  # Use is subject to license terms.
  25   25  #
       26 +# Copyright 2014 PALO, Richard. All rights reserved.
       27 +#
  26   28  
  27   29  include $(SRC)/Makefile.master
  28   30  
  29   31  # The Java DTrace API package
  30   32  
  31   33  PKGPATH=org/opensolaris/os/dtrace
  32   34  PKGNAME=org.opensolaris.os.dtrace
  33   35  
  34   36  # The Java DTrace API directories
  35   37  
  36   38  APIDIR=$(SRC)/lib/libdtrace_jni/java
  37   39  CLASSES=$(APIDIR)/classes
  38   40  JNI=$(APIDIR)/native
  39   41  JARS=$(APIDIR)/lib
  40   42  DOCS=$(APIDIR)/docs
  41   43  DOCAPI=$(DOCS)/api
  42   44  DOCEXAMPLES=$(DOCS)/examples
  43   45  DOCHTML=$(DOCS)/html
  44   46  DOCIMAGES=$(DOCS)/images
  45   47  MANIFEST=$(APIDIR)/manifest
  46   48  APIJAVASRC=$(APIDIR)/src
  47   49  
  48   50  # Java DTrace API jar file, its ultimate destination, and packaging details
  49   51  APIJAR=dtrace.jar
  50   52  JARDESTDIR=$(ROOT)/usr/share/lib/java
  51   53  INSJARS=$(JARDESTDIR)/$(APIJAR)
  52   54  # javadoc
  53   55  DOCDESTDIR=$(ROOT)/usr/share/lib/java/javadoc/dtrace
  54   56  DOCAPIDESTDIR=$(DOCDESTDIR)/api
  55   57  DOCEXAMPLESDESTDIR=$(DOCDESTDIR)/examples
  56   58  DOCHTMLDESTDIR=$(DOCDESTDIR)/html
  57   59  DOCIMAGESDESTDIR=$(DOCDESTDIR)/images
  58   60  $(BLD_JAVA_8)XDOCLINT_OPTION=-Xdoclint:none
  59   61  
  60   62  $(JARDESTDIR)/%: $(JARS)/%
  61   63          $(INS.file)
  62   64  
  63   65  $(DOCEXAMPLESDESTDIR)/%: $(DOCEXAMPLES)/%
  64   66          $(INS.file)
  65   67  
  66   68  $(DOCHTMLDESTDIR)/%: $(DOCHTML)/%
  67   69          $(INS.file)
  68   70  
  69   71  $(DOCIMAGESDESTDIR)/%: $(DOCIMAGES)/%
  70   72          $(INS.file)
  71   73  
  72   74  # Manifest files
  73   75  APIMANI= $(MANIFEST)/dtrace.mf
  74   76  MANIFESTS= $(APIMANI)
  75   77  
  76   78  # Controlled CLASSPATH for making
  77   79  APICLASSPATH=$(CLASSES):$(APIJAVASRC)
  78   80  
  79   81  # javac flags
  80   82  JFLAGS= -g -d $(CLASSES) -sourcepath $(APICLASSPATH)
  81   83  JFLAGS += -source 1.5 -target 1.6
  82   84  JFLAGS += -Xlint:all,-rawtypes,-options
  83   85  
  84   86  # The default make rule for Java files
  85   87  COMPILE.java=$(JAVAC) $(JFLAGS)
  86   88  
  87   89  $(CLASSES)/$(PKGPATH)/%.class:  $(APIJAVASRC)/$(PKGPATH)/%.java
  88   90                                  $(COMPILE.java) $<
  89   91  
  90   92  # javah generated headers
  91   93  APIHDR= LocalConsumer.h
  92   94  JNIHDRS=$(JNI)/$(APIHDR)
  93   95  
  94   96  # API classes with native methods
  95   97  JNI_CLASSNAMES=\
  96   98      LocalConsumer
  97   99  
  98  100  JNI_CLASSES=${JNI_CLASSNAMES:%=%.class}
  99  101  DTRACE_JNI_CLASSES=${JNI_CLASSES:%=$(CLASSES)/$(PKGPATH)/%}
 100  102  JNI_FULL_CLASSNAMES=${JNI_CLASSNAMES:%=$(PKGNAME).%}
 101  103  
 102  104  # All API classes
 103  105  API_CLASSNAMES=\
 104  106          AbstractAggregationValue \
 105  107          Aggregate \
 106  108          AggregateSpec \
 107  109          Aggregation \
 108  110          AggregationRecord \
 109  111          AggregationValue \
 110  112          AvgValue \
 111  113          Consumer \
 112  114          ConsumerAdapter \
 113  115          ConsumerEvent \
 114  116          ConsumerException \
 115  117          ConsumerListener \
 116  118          CountValue \
 117  119          DTraceException \
 118  120          DataEvent \
 119  121          Distribution \
 120  122          Drop \
 121  123          DropEvent \
 122  124          Error \
 123  125          ErrorEvent \
 124  126          ExceptionHandler \
 125  127          ExitRecord \
 126  128          Flow \
 127  129          InterfaceAttributes \
 128  130          KernelStackRecord \
 129  131          KernelSymbolRecord \
 130  132          LinearDistribution \
 131  133          LocalConsumer \
 132  134          LogDistribution \
 133  135          LogLinearDistribution \
 134  136          MaxValue \
 135  137          MinValue \
 136  138          NativeException \
 137  139          Option \
 138  140          PrintaRecord \
 139  141          PrintfRecord \
 140  142          Probe \
 141  143          ProbeData \
 142  144          ProbeDescription \
 143  145          ProbeInfo \
 144  146          ProcessEvent \
 145  147          ProcessState \
 146  148          Program \
 147  149          ProgramInfo \
 148  150          Record \
 149  151          ResourceLimitException \
 150  152          ScalarRecord \
 151  153          StackFrame \
 152  154          StackValueRecord \
 153  155          StddevValue \
 154  156          SumValue \
 155  157          SymbolValueRecord \
 156  158          Tuple \
 157  159          UserStackRecord \
 158  160          UserSymbolRecord \
 159  161          Utility \
 160  162          ValueRecord
 161  163  
 162  164  API_CLASSES=${API_CLASSNAMES:%=%.class}
 163  165  DTRACE_API_CLASSES=${API_CLASSES:%=$(CLASSES)/$(PKGPATH)/%}
 164  166  
 165  167  
 166  168  all:            $(CLASSES) $(DTRACE_API_CLASSES) $(JNI)/$(APIHDR)
 167  169  
 168  170  clean:
 169  171                  -$(RM) $(CLASSES)/$(PKGPATH)/*.class
 170  172                  -$(RM) $(JNI)/*.h
 171  173                  -$(RM) -r $(DOCAPI)
 172  174  
 173  175  clobber:        clean
 174  176                  -$(RM) $(JARS)/*.jar
 175  177  
 176  178  # Make the class dir, if it doesn't exist
 177  179  $(CLASSES):
 178  180                  -@mkdir -p $@
 179  181  
 180  182  # Make the directory for javah-generated headers, if it doesn't exist
 181  183  $(JNI):
 182  184                  -@mkdir -p $@
 183  185  
 184  186  $(JNI)/$(APIHDR): $(JNI) $(DTRACE_JNI_CLASSES)
 185  187                  $(JAVAH) -o $@ -classpath $(CLASSES) $(JNI_FULL_CLASSNAMES)
 186  188                  -@touch $@
 187  189  
 188  190  # Rule for installing API javadoc.
 189  191  $(DOCAPIDESTDIR)/index.html: $(DTRACE_API_CLASSES)
 190  192                  -@mkdir -p $(DOCAPIDESTDIR)
 191  193                  -$(RM) -r $(DOCAPIDESTDIR)/*
 192  194                  cd $(APIJAVASRC); umask 022; \
 193  195                  $(JAVADOC) -protected -use -notimestamp $(XDOCLINT_OPTION) \
 194  196                  -classpath $(APICLASSPATH) -d $(DOCAPIDESTDIR) \
 195  197                  $(PKGNAME)
 196  198  
 197  199  $(CLASSES)/$(PKGPATH):
 198  200                  $(INS.dir)
 199  201  
 200  202  $(JARS)/$(APIJAR): $(DTRACE_API_CLASSES) $(APIMANI)
 201  203                  -@mkdir -p $(JARS)
 202  204                  $(JAR) cfm $@ $(APIMANI) -C $(CLASSES) .
 203  205  
 204  206  $(JARDESTDIR):
 205  207                  $(INS.dir)
 206  208  
 207  209  $(DOCDESTDIR):
 208  210                  $(INS.dir)
 209  211  
 210  212  $(DOCAPIDESTDIR):
 211  213                  $(INS.dir)
 212  214  
 213  215  $(DOCEXAMPLESDESTDIR):
 214  216                  $(INS.dir)
 215  217  
 216  218  $(DOCHTMLDESTDIR):
 217  219                  $(INS.dir)
 218  220  
 219  221  $(DOCIMAGESDESTDIR):
 220  222                  $(INS.dir)
 221  223  
 222  224  install:        all $(JARDESTDIR) $(INSJARS) $(DOCDESTDIR) \
 223  225          $(DOCAPIDESTDIR) \
 224  226          $(DOCAPIDESTDIR)/index.html \
 225  227          $(DOCEXAMPLESDESTDIR) \
 226  228          $(DOCEXAMPLESDESTDIR)/TestAPI.java \
 227  229          $(DOCEXAMPLESDESTDIR)/TestAPI2.java \
 228  230          $(DOCEXAMPLESDESTDIR)/TestTarget.java \
 229  231          $(DOCEXAMPLESDESTDIR)/hello.d \
 230  232          $(DOCEXAMPLESDESTDIR)/intrstat.d \
 231  233          $(DOCEXAMPLESDESTDIR)/syscall.d \
 232  234          $(DOCEXAMPLESDESTDIR)/target.d \
 233  235          $(DOCHTMLDESTDIR) \
 234  236          $(DOCHTMLDESTDIR)/JavaDTraceAPI.html \
 235  237          $(DOCHTMLDESTDIR)/fast.html \
 236  238          $(DOCIMAGESDESTDIR) \
 237  239          $(DOCIMAGESDESTDIR)/JavaDTraceAPI.gif
 238  240  
 239  241  # empty targets for top-level building compatability
 240  242  
 241  243  install_h lint:
 242  244  
 243  245  # create API javadoc
 244  246  
 245  247  doc:
 246  248                  -@mkdir -p $(DOCAPI)
 247  249                  cd $(APIJAVASRC); umask 022; \
 248  250                  $(JAVADOC) -protected -use -notimestamp \
 249  251                  -classpath $(APICLASSPATH) -d $(DOCAPI) \
 250  252                  $(PKGNAME)
  
    | 
      ↓ open down ↓ | 
    215 lines elided | 
    
      ↑ open up ↑ | 
  
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX