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 27PROG = poold 28OBJS = poold.o 29SRCS = $(OBJS:%.o=%.c) 30 31MANIFEST= poold.xml 32SVCMETHOD= svc-poold 33 34include $(SRC)/cmd/Makefile.cmd 35$(BLD_JAVA_8)include $(SRC)/cmd/Makefile.cmd.64 36 37JAVA_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 45SUBDIRS = libjkstat \ 46 libjlgrp \ 47 libjpool \ 48 libjsyslog 49 50ROOTMANIFESTDIR= $(ROOTSVCSYSTEM) 51 52all := TARGET = all 53install := TARGET = install 54clean := TARGET = clean 55clobber := TARGET = clobber 56lint := TARGET = lint 57msg := TARGET = msg 58 59$(ROOTMANIFEST):= FILEMODE= 444 60JARFILE = JPool.jar 61 62JAVA_LIB_PATH = $(JAVA_ROOT)/jre/lib/$(MACH)/client 63LIBPOOL_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 70PACKAGEDOCS = 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 77DOCDIR = doc 78ROOTUSRLIBDRP = $(ROOTLIB)/pool 79INCS = -I../common \ 80 -I$(JAVA_ROOT)/include \ 81 -I$(JAVA_ROOT)/include/solaris 82LDLIBS += -lpool -L$(JAVA_LIB_PATH) -ljvm 83# runpath should point to runtime JAVA_HOME 84LDFLAGS += -R$(JAVA_LIB_PATH) 85 86LINTFLAGS += -erroff=E_NAME_USED_NOT_DEF2 87$(BLD_JAVA_8)LINTFLAGS64 += -erroff=E_NAME_USED_NOT_DEF2 88LINTLIBS += -L$(LIBPOOL_PATH) -lpool 89 90# not linted 91SMATCH=off 92 93CPPFLAGS += $(INCS) 94ROOTCMDDIR = $(ROOT)/usr/lib/pool 95 96CLOBBERFILES += $(JARFILE) 97 98# 99# Definitions for message catalogue 100# 101POFILES = $(OBJS:.o=.po) 102 103# 104# Definitions for Java installs 105# 106 107JFILES = poold.properties $(JARFILE) 108ROOTJAVA = $(JFILES:%=$(ROOTUSRLIBDRP)/%) 109 110$(ROOTJAVA) := FILEMODE = 444 111 112all: $(PROG) $(JAVA_SUBDIRS) $(JARFILE) \ 113 .WAIT $(SUBDIRS) 114 115clean : $(JAVA_SUBDIRS) $(SUBDIRS) clean_local 116clean_local: 117 $(RM) $(OBJS) 118 119clobber : $(JAVA_SUBDIRS) $(SUBDIRS) clobber_local 120clobber_local: clean_local 121 $(RM) $(CLOBBERFILES) 122 123lint: $(SUBDIRS) 124 125msg: $(POFILES) 126 127install: $(ROOTCMD) $(JAVA_SUBDIRS) $(JARFILE) \ 128 .WAIT $(SUBDIRS) $(ROOTJAVA) $(ROOTMANIFEST) \ 129 $(ROOTSVCMETHOD) 130 131check: $(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 148doc: 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 159FRC: 160 161lint: 162 $(LINT.c) $(PROG).c $(LINTLIBS) 163 164include $(SRC)/cmd/Makefile.targ 165