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 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  23 # Use is subject to license terms.
  24 #
  25 # cmd/pools/poold/Makefile
  26 
  27 PROG =          poold
  28 OBJS =          poold.o
  29 SRCS =          $(OBJS:%.o=%.c)
  30 
  31 MANIFEST=       poold.xml
  32 SVCMETHOD=      svc-poold
  33 
  34 include $(SRC)/cmd/Makefile.cmd
  35 $(BLD_JAVA_8)include $(SRC)/cmd/Makefile.cmd.64
  36 
  37 JAVA_SUBDIRS =  com/sun/solaris/service/exception \
  38                 com/sun/solaris/service/kstat \
  39                 com/sun/solaris/service/locality \
  40                 com/sun/solaris/service/logging \
  41                 com/sun/solaris/service/pools \
  42                 com/sun/solaris/service/timer \
  43                 com/sun/solaris/domain/pools
  44 
  45 SUBDIRS =       libjkstat \
  46                 libjlgrp \
  47                 libjpool \
  48                 libjsyslog
  49 
  50 ROOTMANIFESTDIR=        $(ROOTSVCSYSTEM)
  51 
  52 all :=          TARGET = all
  53 install :=      TARGET = install
  54 clean :=        TARGET = clean
  55 clobber :=      TARGET = clobber
  56 lint :=         TARGET = lint
  57 msg :=          TARGET = msg
  58 
  59 $(ROOTMANIFEST):=       FILEMODE= 444
  60 JARFILE =       JPool.jar
  61 
  62 JAVA_LIB_PATH = $(JAVA_ROOT)/jre/lib/$(MACH)/client
  63 LIBPOOL_PATH = $(ROOTLIB)
  64 $(BLD_JAVA_8)JAVA_LIB_PATH =    $(JAVA_ROOT)/jre/lib/$(MACH64)/server
  65 $(BLD_JAVA_8)LIBPOOL_PATH = $(ROOTLIB64)
  66 
  67 # JAVA_SUBDIRS and PACKAGEDOCS must be synchronized to ensure 
  68 # javadoc documentation is generated for all packages.
  69 
  70 PACKAGEDOCS =   com.sun.solaris.service.exception \
  71                 com.sun.solaris.service.kstat \
  72                 com.sun.solaris.service.locality \
  73                 com.sun.solaris.service.logging \
  74                 com.sun.solaris.service.pools \
  75                 com.sun.solaris.service.timer \
  76                 com.sun.solaris.domain.pools
  77 DOCDIR =        doc
  78 ROOTUSRLIBDRP = $(ROOTLIB)/pool
  79 INCS =          -I../common \
  80                 -I$(JAVA_ROOT)/include \
  81                 -I$(JAVA_ROOT)/include/solaris
  82 LDLIBS +=       -lpool -L$(JAVA_LIB_PATH) -ljvm
  83 # runpath should point to runtime JAVA_HOME
  84 LDFLAGS +=      -R$(JAVA_LIB_PATH)
  85 
  86 LINTFLAGS +=    -erroff=E_NAME_USED_NOT_DEF2
  87 $(BLD_JAVA_8)LINTFLAGS64 += -erroff=E_NAME_USED_NOT_DEF2
  88 LINTLIBS +=     -L$(LIBPOOL_PATH) -lpool
  89 
  90 CPPFLAGS +=     $(INCS)
  91 ROOTCMDDIR =    $(ROOT)/usr/lib/pool
  92 
  93 CLOBBERFILES += $(JARFILE)
  94 
  95 #
  96 # Definitions for message catalogue
  97 #
  98 POFILES =       $(OBJS:.o=.po)
  99 
 100 #
 101 # Definitions for Java installs
 102 #
 103 
 104 JFILES =        poold.properties $(JARFILE)
 105 ROOTJAVA =      $(JFILES:%=$(ROOTUSRLIBDRP)/%)
 106 
 107 $(ROOTJAVA) :=  FILEMODE = 444
 108 
 109 all:    $(PROG) $(JAVA_SUBDIRS) $(JARFILE) \
 110                     .WAIT $(SUBDIRS)
 111 
 112 clean : $(JAVA_SUBDIRS) $(SUBDIRS) clean_local
 113 clean_local:
 114         $(RM) $(OBJS)
 115 
 116 clobber : $(JAVA_SUBDIRS) $(SUBDIRS) clobber_local
 117 clobber_local: clean_local
 118         $(RM) $(CLOBBERFILES)
 119 
 120 lint: $(SUBDIRS)
 121 
 122 msg: $(POFILES)
 123 
 124 install: $(ROOTCMD) $(JAVA_SUBDIRS) $(JARFILE) \
 125                     .WAIT $(SUBDIRS) $(ROOTJAVA) $(ROOTMANIFEST) \
 126                     $(ROOTSVCMETHOD)
 127 
 128 check:  $(CHKMANIFEST)
 129 
 130 $(JAVA_SUBDIRS): FRC
 131         @cd $@; pwd; $(MAKE) $(TARGET)
 132         if [ "$(TARGET)" != "clean" ] && [ "$(TARGET)" != "clobber" ]; \
 133         then \
 134                 if [ ! -f $(JARFILE) ]; \
 135                 then \
 136                         $(JAR) -cf $(JARFILE) $@/*class; \
 137                 else \
 138                         $(JAR) -uf $(JARFILE) $@/*class; \
 139                 fi \
 140         fi
 141 
 142 $(SUBDIRS): FRC
 143         @cd $@; pwd; $(MAKE) $(TARGET)
 144 
 145 doc:    all
 146         $(JAVADOC) -private -classpath $(JARFILE): -sourcepath . \
 147             -source 1.4 -d $(DOCDIR) $(PACKAGEDOCS)
 148 
 149 $(PROG):        $(OBJS)
 150         $(LINK.c) -o $(PROG) $(OBJS) $(LDLIBS)
 151         $(POST_PROCESS)
 152 
 153 $(ROOTUSRLIBDRP)/%: %
 154         $(INS.file)
 155 
 156 FRC:
 157 
 158 lint:
 159         $(LINT.c) $(PROG).c $(LINTLIBS)
 160 
 161 include $(SRC)/cmd/Makefile.targ