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 (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 23# 24# Copyright 2010, Richard Lowe 25# 26# Copyright 2018 Joyent, Inc. 27 28SHELL=/usr/bin/ksh93 29 30SHFILES= \ 31 Install \ 32 bldenv \ 33 build_cscope \ 34 bringovercheck \ 35 checkpaths \ 36 cstyle \ 37 elfcmp \ 38 flg.flp \ 39 genoffsets \ 40 nightly \ 41 onu \ 42 protocmp.terse \ 43 sccscheck \ 44 webrev \ 45 which_scm \ 46 ws \ 47 xref 48 49PERLFILES= \ 50 check_rtime \ 51 find_elf \ 52 interface_check \ 53 interface_cmp \ 54 jstyle \ 55 validate_flg \ 56 validate_paths \ 57 wdiff 58 59PERLMODULES= \ 60 onbld_elfmod.pm \ 61 onbld_elfmod_vertype.pm 62 63 64PYFILES= \ 65 cddlchk \ 66 copyrightchk \ 67 git-pbchk \ 68 hdrchk \ 69 mapfilechk \ 70 validate_pkg \ 71 wscheck \ 72 wsdiff 73 74SCRIPTLINKS= \ 75 git-nits 76 77MAN1ONBLDFILES= \ 78 Install.1onbld \ 79 bldenv.1onbld \ 80 bringovercheck.1onbld \ 81 cddlchk.1onbld \ 82 checkpaths.1onbld \ 83 check_rtime.1onbld \ 84 cstyle.1onbld \ 85 find_elf.1onbld \ 86 flg.flp.1onbld \ 87 git-pbchk.1onbld \ 88 hdrchk.1onbld \ 89 interface_check.1onbld \ 90 interface_cmp.1onbld \ 91 jstyle.1onbld \ 92 mapfilechk.1onbld \ 93 nightly.1onbld \ 94 onu.1onbld \ 95 sccscheck.1onbld \ 96 webrev.1onbld \ 97 which_scm.1onbld \ 98 ws.1onbld \ 99 wsdiff.1onbld \ 100 xref.1onbld 101 102MAN1ONBLDLINKS= \ 103 git-nits.1onbld 104 105MAKEFILES= \ 106 xref.mk 107 108ETCFILES= \ 109 its.conf \ 110 its.reg 111 112EXCEPTFILES= \ 113 check_rtime \ 114 interface_check \ 115 interface_cmp 116 117CLEANFILES = $(SHFILES) $(PERLFILES) $(PYFILES) bldenv.1onbld onu.sh 118 119include ../Makefile.tools 120 121ROOTONBLDSCRIPTLINKS = $(SCRIPTLINKS:%=$(ROOTONBLDBIN)/%) 122ROOTONBLDMAN1ONBLDLINKS = $(MAN1ONBLDLINKS:%=$(ROOTONBLDMAN1ONBLD)/%) 123 124$(ROOTONBLDETCFILES) := FILEMODE= 644 125$(ROOTONBLDEXCEPTFILES) := FILEMODE= 644 126$(ROOTONBLDPERLMODULES) := FILEMODE= 644 127$(ROOTONBLDMAKEFILES) := FILEMODE= 644 128$(ROOTONBLDMAN1ONBLDFILES) := FILEMODE= 644 129 130.KEEP_STATE: 131 132all: $(SHFILES) $(PERLFILES) $(PERLMODULES) $(PYFILES) \ 133 $(MAN1ONBLDFILES) $(MAKEFILES) 134 135onu.sh: onu.sh.in 136 $(SED) -e "s:@PYTHON_VERSION@:$(PYTHON_VERSION):g" < onu.sh.in > $@ 137 138$(ROOTONBLDBIN)/git-nits: 139 $(RM) $(ROOTONBLDBIN)/git-nits 140 $(SYMLINK) git-pbchk $(ROOTONBLDBIN)/git-nits 141 142$(ROOTONBLDMAN1ONBLD)/git-nits.1onbld: 143 $(RM) $(ROOTONBLDMAN1ONBLD)/git-nits.1onbld 144 $(SYMLINK) git-pbchk.1onbld $(ROOTONBLDMAN1ONBLD)/git-nits.1onbld 145 146install: all .WAIT $(ROOTONBLDSHFILES) $(ROOTONBLDPERLFILES) \ 147 $(ROOTONBLDPERLMODULES) $(ROOTONBLDPYFILES) \ 148 $(ROOTONBLDSCRIPTLINKS) $(ROOTONBLDMAN1ONBLDFILES) \ 149 $(ROOTONBLDMAKEFILES) $(ROOTONBLDETCFILES) \ 150 $(ROOTONBLDEXCEPTFILES) $(ROOTONBLDMAN1ONBLDLINKS) 151 152clean: 153 $(RM) $(CLEANFILES) 154 155bldenv: bldenv.sh stdenv.sh 156 $(RM) "$@" 157 sed -e '/# STDENV_START/ r stdenv.sh' bldenv.sh > "$@" 158 # Check for shell lint and fail if we hit warnings 159 shlintout="$$( /usr/bin/ksh93 -n "$@" 2>&1 )" ; \ 160 [[ "$${shlintout}" != "" ]] && \ 161 { print -r -- "$${shlintout}" ; false ; } || true 162 $(CHMOD) +x "$@" 163 164bldenv.1onbld: bldenv 165 $(RM) "$@" 166 (set +o errexit ; ksh93 $? --nroff ; true) 2>&1 | \ 167 sed -e 's/\.DS/.nf/g;s/\.DE/.fi/' \ 168 -e 's/\.TH BLDENV 1/.TH BLDENV 1ONBLD "September 4, 2018"/' \ 169 -e 's/.OP \([a-z]\) - flag -/.OP \\-\1/g' \ 170 -e 's/(1)/(1ONBLD)/' > "$@" 171 172nightly: nightly.sh stdenv.sh 173 $(RM) "$@" 174 sed -e '/# STDENV_START/ r stdenv.sh' nightly.sh > nightly 175 $(CHMOD) +x "$@" 176 177# 178# Not run by default: bootstrap... 179check: 180 $(ROOTONBLDBINMACH)/mandoc -Tlint -Wwarning $(MAN1ONBLDFILES) 181 182include ../Makefile.targ 183 184