1*f2ae17edSMatt Barden# 2*f2ae17edSMatt Barden# This file and its contents are supplied under the terms of the 3*f2ae17edSMatt Barden# Common Development and Distribution License ("CDDL"), version 1.0. 4*f2ae17edSMatt Barden# You may only use this file in accordance with the terms of version 5*f2ae17edSMatt Barden# 1.0 of the CDDL. 6*f2ae17edSMatt Barden# 7*f2ae17edSMatt Barden# A full copy of the text of the CDDL should have accompanied this 8*f2ae17edSMatt Barden# source. A copy of the CDDL is also available via the Internet at 9*f2ae17edSMatt Barden# http://www.illumos.org/license/CDDL. 10*f2ae17edSMatt Barden# 11*f2ae17edSMatt Barden 12*f2ae17edSMatt Barden# 13*f2ae17edSMatt Barden# Copyright (c) 2016, 2017 by Delphix. All rights reserved. 14*f2ae17edSMatt Barden# Copyright 2021 Tintri by DDN, Inc. All rights reserved. 15*f2ae17edSMatt Barden# 16*f2ae17edSMatt Barden 17*f2ae17edSMatt Barden# The following file name generation rules allow the addition of tests, 18*f2ae17edSMatt Barden# libraries and other miscellaneous files without having to specify them 19*f2ae17edSMatt Barden# all individually in lower level Makefiles. 20*f2ae17edSMatt BardenPROGS:sh = find . -maxdepth 1 -type f \( \ 21*f2ae17edSMatt Barden -name "*.ksh" -o \ 22*f2ae17edSMatt Barden -name "*.py" -o \ 23*f2ae17edSMatt Barden -name "*.sh" \) 24*f2ae17edSMatt BardenFILES:sh = find . -maxdepth 1 -type f \( \ 25*f2ae17edSMatt Barden -name "*.Z" -o \ 26*f2ae17edSMatt Barden -name "*.bz2" -o \ 27*f2ae17edSMatt Barden -name "*.cfg" -o \ 28*f2ae17edSMatt Barden -name "*.d" -o \ 29*f2ae17edSMatt Barden -name "*.err" -o \ 30*f2ae17edSMatt Barden -name "*.fio" -o \ 31*f2ae17edSMatt Barden -name "*.out" -o \ 32*f2ae17edSMatt Barden -name "*.run" -o \ 33*f2ae17edSMatt Barden -name "*shlib" -o \ 34*f2ae17edSMatt Barden -name "*.txt" -o \ 35*f2ae17edSMatt Barden -name "*.zcp" \) 36*f2ae17edSMatt Barden 37*f2ae17edSMatt BardenCMDS = $(PROGS:%.sh=$(TARGETDIR)/%) 38*f2ae17edSMatt BardenCMDS += $(PROGS:%.ksh=$(TARGETDIR)/%) 39*f2ae17edSMatt BardenCMDS += $(PROGS:%.py=$(TARGETDIR)/%) 40*f2ae17edSMatt Barden$(CMDS) := FILEMODE = 0555 41*f2ae17edSMatt Barden 42*f2ae17edSMatt BardenLIBS = $(FILES:%=$(TARGETDIR)/%) 43*f2ae17edSMatt Barden$(LIBS) := FILEMODE = 0444 44*f2ae17edSMatt Barden 45*f2ae17edSMatt Bardenall clean clobber: 46*f2ae17edSMatt Barden 47*f2ae17edSMatt Bardeninstall: $(CMDS) $(LIBS) 48*f2ae17edSMatt Barden 49*f2ae17edSMatt Barden$(CMDS): $(TARGETDIR) 50*f2ae17edSMatt Barden 51*f2ae17edSMatt Barden$(LIBS): $(TARGETDIR) 52*f2ae17edSMatt Barden 53*f2ae17edSMatt Barden$(TARGETDIR): 54*f2ae17edSMatt Barden $(INS.dir) 55*f2ae17edSMatt Barden 56*f2ae17edSMatt Barden$(TARGETDIR)/%: %.sh 57*f2ae17edSMatt Barden $(INS.rename) 58*f2ae17edSMatt Barden 59*f2ae17edSMatt Barden$(TARGETDIR)/%: %.ksh 60*f2ae17edSMatt Barden $(INS.rename) 61*f2ae17edSMatt Barden 62*f2ae17edSMatt Barden$(TARGETDIR)/%: %.py 63*f2ae17edSMatt Barden $(INS.pyfile) 64*f2ae17edSMatt Barden 65*f2ae17edSMatt Barden$(TARGETDIR)/%: % 66*f2ae17edSMatt Barden $(INS.file) 67*f2ae17edSMatt Barden 68*f2ae17edSMatt Barden.PARALLEL: $(SUBDIRS) 69*f2ae17edSMatt BardenSUBDIRS:sh = find ./* -maxdepth 0 -type d ; exit 0 70