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 # Copyright (c) 2018, Joyent, Inc. 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 # not linted 91 SMATCH=off 92 93 CPPFLAGS += $(INCS) 94 ROOTCMDDIR = $(ROOT)/usr/lib/pool 95 96 CLOBBERFILES += $(JARFILE) 97 98 # 99 # Definitions for message catalogue 100 # 101 POFILES = $(OBJS:.o=.po) 102 103 # 104 # Definitions for Java installs 105 # 106 107 JFILES = poold.properties $(JARFILE) 108 ROOTJAVA = $(JFILES:%=$(ROOTUSRLIBDRP)/%) 109 110 $(ROOTJAVA) := FILEMODE = 444 111 112 all: $(PROG) $(JAVA_SUBDIRS) $(JARFILE) \ 113 .WAIT $(SUBDIRS) 114 115 clean : $(JAVA_SUBDIRS) $(SUBDIRS) clean_local 116 clean_local: 117 $(RM) $(OBJS) 118 119 clobber : $(JAVA_SUBDIRS) $(SUBDIRS) clobber_local 120 clobber_local: clean_local 121 $(RM) $(CLOBBERFILES) 122 123 lint: $(SUBDIRS) 124 125 msg: $(POFILES) 126 127 install: $(ROOTCMD) $(JAVA_SUBDIRS) $(JARFILE) \ 128 .WAIT $(SUBDIRS) $(ROOTJAVA) $(ROOTMANIFEST) \ 129 $(ROOTSVCMETHOD) 130 131 check: $(CHKMANIFEST) 132 133 $(JAVA_SUBDIRS): FRC 134 @cd $@; pwd; $(MAKE) $(TARGET) 135 if [ "$(TARGET)" != "clean" ] && [ "$(TARGET)" != "clobber" ]; \ 136 then \ 137 if [ ! -f $(JARFILE) ]; \ 138 then \ 139 $(JAR) -cf $(JARFILE) $@/*class; \ 140 else \ 141 $(JAR) -uf $(JARFILE) $@/*class; \ 142 fi \ 143 fi 144 145 $(SUBDIRS): FRC 146 @cd $@; pwd; $(MAKE) $(TARGET) 147 148 doc: all 149 $(JAVADOC) -private -classpath $(JARFILE): -sourcepath . \ 150 -source 1.4 -d $(DOCDIR) $(PACKAGEDOCS) 151 152 $(PROG): $(OBJS) 153 $(LINK.c) -o $(PROG) $(OBJS) $(LDLIBS) 154 $(POST_PROCESS) 155 156 $(ROOTUSRLIBDRP)/%: % 157 $(INS.file) 158 159 FRC: 160 161 lint: 162 $(LINT.c) $(PROG).c $(LINTLIBS) 163 164 include $(SRC)/cmd/Makefile.targ