1*906afcb8SAndy Fiddaman# 2*906afcb8SAndy Fiddaman# CDDL HEADER START 3*906afcb8SAndy Fiddaman# 4*906afcb8SAndy Fiddaman# The contents of this file are subject to the terms of the 5*906afcb8SAndy Fiddaman# Common Development and Distribution License (the "License"). 6*906afcb8SAndy Fiddaman# You may not use this file except in compliance with the License. 7*906afcb8SAndy Fiddaman# 8*906afcb8SAndy Fiddaman# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*906afcb8SAndy Fiddaman# or http://www.opensolaris.org/os/licensing. 10*906afcb8SAndy Fiddaman# See the License for the specific language governing permissions 11*906afcb8SAndy Fiddaman# and limitations under the License. 12*906afcb8SAndy Fiddaman# 13*906afcb8SAndy Fiddaman# When distributing Covered Code, include this CDDL HEADER in each 14*906afcb8SAndy Fiddaman# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*906afcb8SAndy Fiddaman# If applicable, add the following below this CDDL HEADER, with the 16*906afcb8SAndy Fiddaman# fields enclosed by brackets "[]" replaced with your own identifying 17*906afcb8SAndy Fiddaman# information: Portions Copyright [yyyy] [name of copyright owner] 18*906afcb8SAndy Fiddaman# 19*906afcb8SAndy Fiddaman# CDDL HEADER END 20*906afcb8SAndy Fiddaman# 21*906afcb8SAndy Fiddaman 22*906afcb8SAndy Fiddaman# 23*906afcb8SAndy Fiddaman# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. 24*906afcb8SAndy Fiddaman# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. 25*906afcb8SAndy Fiddaman# 26*906afcb8SAndy Fiddaman 27*906afcb8SAndy FiddamanDEMOFILESRCDIR= $(ASTSRC) 28*906afcb8SAndy FiddamanROOTDEMODIRBASE= $(ROOT)/usr/demo/ksh 29*906afcb8SAndy Fiddaman 30*906afcb8SAndy FiddamanDF_SRC= \ 31*906afcb8SAndy Fiddaman src/cpvprint.sh \ 32*906afcb8SAndy Fiddaman src/crawlsrccomments.sh \ 33*906afcb8SAndy Fiddaman src/filemutexdemo1.sh \ 34*906afcb8SAndy Fiddaman src/filetree1.sh \ 35*906afcb8SAndy Fiddaman src/gnaw.sh \ 36*906afcb8SAndy Fiddaman src/mandelbrotset1.sh \ 37*906afcb8SAndy Fiddaman src/multifollow.sh \ 38*906afcb8SAndy Fiddaman src/numtree1.sh \ 39*906afcb8SAndy Fiddaman src/primenumbers1.sh \ 40*906afcb8SAndy Fiddaman src/rssread.sh \ 41*906afcb8SAndy Fiddaman src/shcalc.sh \ 42*906afcb8SAndy Fiddaman src/shircbot.sh \ 43*906afcb8SAndy Fiddaman src/shlint.sh \ 44*906afcb8SAndy Fiddaman src/shman.sh \ 45*906afcb8SAndy Fiddaman src/shnote.sh \ 46*906afcb8SAndy Fiddaman src/shpiano.sh \ 47*906afcb8SAndy Fiddaman src/shtinyurl.sh \ 48*906afcb8SAndy Fiddaman src/shtwitter.sh \ 49*906afcb8SAndy Fiddaman src/simplefileattributetree1.sh \ 50*906afcb8SAndy Fiddaman src/simplefiletree1.sh \ 51*906afcb8SAndy Fiddaman src/svcproptree1.sh \ 52*906afcb8SAndy Fiddaman src/termclock.sh \ 53*906afcb8SAndy Fiddaman src/test_net_sctp.sh \ 54*906afcb8SAndy Fiddaman src/xmldocumenttree1.sh 55*906afcb8SAndy Fiddaman 56*906afcb8SAndy FiddamanDF_BIN= $(DF_SRC:src/%.sh=bin/%) 57*906afcb8SAndy Fiddaman 58*906afcb8SAndy FiddamanDF_FUN= \ 59*906afcb8SAndy Fiddaman fun/dirs \ 60*906afcb8SAndy Fiddaman fun/popd \ 61*906afcb8SAndy Fiddaman fun/pushd 62*906afcb8SAndy Fiddaman 63*906afcb8SAndy FiddamanDF_TESTS= \ 64*906afcb8SAndy Fiddaman tests/shtests \ 65*906afcb8SAndy Fiddaman tests/alias.sh \ 66*906afcb8SAndy Fiddaman tests/append.sh \ 67*906afcb8SAndy Fiddaman tests/arith.sh \ 68*906afcb8SAndy Fiddaman tests/arrays.sh \ 69*906afcb8SAndy Fiddaman tests/arrays2.sh \ 70*906afcb8SAndy Fiddaman tests/attributes.sh \ 71*906afcb8SAndy Fiddaman tests/basic.sh \ 72*906afcb8SAndy Fiddaman tests/bracket.sh \ 73*906afcb8SAndy Fiddaman tests/builtins.sh \ 74*906afcb8SAndy Fiddaman tests/case.sh \ 75*906afcb8SAndy Fiddaman tests/comvar.sh \ 76*906afcb8SAndy Fiddaman tests/comvario.sh \ 77*906afcb8SAndy Fiddaman tests/coprocess.sh \ 78*906afcb8SAndy Fiddaman tests/cubetype.sh \ 79*906afcb8SAndy Fiddaman tests/enum.sh \ 80*906afcb8SAndy Fiddaman tests/exit.sh \ 81*906afcb8SAndy Fiddaman tests/expand.sh \ 82*906afcb8SAndy Fiddaman tests/functions.sh \ 83*906afcb8SAndy Fiddaman tests/glob.sh \ 84*906afcb8SAndy Fiddaman tests/grep.sh \ 85*906afcb8SAndy Fiddaman tests/heredoc.sh \ 86*906afcb8SAndy Fiddaman tests/io.sh \ 87*906afcb8SAndy Fiddaman tests/leaks.sh \ 88*906afcb8SAndy Fiddaman tests/locale.sh \ 89*906afcb8SAndy Fiddaman tests/math.sh \ 90*906afcb8SAndy Fiddaman tests/nameref.sh \ 91*906afcb8SAndy Fiddaman tests/namespace.sh \ 92*906afcb8SAndy Fiddaman tests/options.sh \ 93*906afcb8SAndy Fiddaman tests/path.sh \ 94*906afcb8SAndy Fiddaman tests/pointtype.sh \ 95*906afcb8SAndy Fiddaman tests/pty.sh \ 96*906afcb8SAndy Fiddaman tests/quoting.sh \ 97*906afcb8SAndy Fiddaman tests/quoting2.sh \ 98*906afcb8SAndy Fiddaman tests/readcsv.sh \ 99*906afcb8SAndy Fiddaman tests/recttype.sh \ 100*906afcb8SAndy Fiddaman tests/restricted.sh \ 101*906afcb8SAndy Fiddaman tests/return.sh \ 102*906afcb8SAndy Fiddaman tests/select.sh \ 103*906afcb8SAndy Fiddaman tests/sigchld.sh \ 104*906afcb8SAndy Fiddaman tests/signal.sh \ 105*906afcb8SAndy Fiddaman tests/statics.sh \ 106*906afcb8SAndy Fiddaman tests/subshell.sh \ 107*906afcb8SAndy Fiddaman tests/substring.sh \ 108*906afcb8SAndy Fiddaman tests/tilde.sh \ 109*906afcb8SAndy Fiddaman tests/timetype.sh \ 110*906afcb8SAndy Fiddaman tests/treemove.sh \ 111*906afcb8SAndy Fiddaman tests/types.sh \ 112*906afcb8SAndy Fiddaman tests/variables.sh \ 113*906afcb8SAndy Fiddaman tests/vartree1.sh \ 114*906afcb8SAndy Fiddaman tests/vartree2.sh 115*906afcb8SAndy Fiddaman 116*906afcb8SAndy Fiddaman 117*906afcb8SAndy FiddamanDF_XTESTS= \ 118*906afcb8SAndy Fiddaman tests/README.tests \ 119*906afcb8SAndy Fiddaman tests/illumos_13434_chunked_heredoc.sh \ 120*906afcb8SAndy Fiddaman tests/sun_solaris_array_default_datatype.sh \ 121*906afcb8SAndy Fiddaman tests/sun_solaris_builtin_poll.sh \ 122*906afcb8SAndy Fiddaman tests/sun_solaris_builtin_sum.sh \ 123*906afcb8SAndy Fiddaman tests/sun_solaris_builtin_tail.sh \ 124*906afcb8SAndy Fiddaman tests/sun_solaris_command_substitution.sh \ 125*906afcb8SAndy Fiddaman tests/sun_solaris_compound_misc.sh \ 126*906afcb8SAndy Fiddaman tests/sun_solaris_compound_nameref.sh \ 127*906afcb8SAndy Fiddaman tests/sun_solaris_compoundvario.sh \ 128*906afcb8SAndy Fiddaman tests/sun_solaris_cr_xxxxxxxx_template.sh \ 129*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6687139_command_substitution_exec_redirection_allocation_loop.sh \ 130*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6713682_compound_var_bleeds_through_subshell.sh \ 131*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6722134_background_CHLD_trap.sh \ 132*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6753538_subshell_leaks_umask.sh \ 133*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6754020_weird_square_bracket_expansion.sh \ 134*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6763594_command_failure_execs_twice.sh \ 135*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6766246_pattern_matching_bug.sh \ 136*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6769332_substitutions_terminate_shell_after_257_iterations.sh \ 137*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6777491_lacks_arithmetric_function_iszero.sh \ 138*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6778077_sigthaw_trap.sh \ 139*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6789247_printf_hexfloat_rounding.sh \ 140*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6800929_large_command_substitution_hang.sh \ 141*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6805792_varmovetest1.sh \ 142*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6805794_character_to_wchar_not_working.sh \ 143*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6805795_negative_zero.sh \ 144*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6807179_shellpattern_uses_getpwnam.sh \ 145*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6835835_builtin_cat_n_broken.sh \ 146*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6848486_echo_test_with_test_undefined_executes_test_builtin.sh \ 147*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6855875_typeset_hexfloat_has_too_few_digits.sh \ 148*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6862121_shbinexec_kernel_module_defunct.sh \ 149*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6881017_background_process_in_subshell_hangs_caller.sh \ 150*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6887363_shell_sometimes_mishandles_return_value_of_its_child_process.sh \ 151*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6904557_wc_no_longer_counts_number_of_bytes_correctly.sh \ 152*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6904575_cut_-d_with_multibyte_character_no_longer_works.sh \ 153*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6904878_join_-t_no_longer_works_with_multibyte_char_separator.sh \ 154*906afcb8SAndy Fiddaman tests/sun_solaris_cr_6907460_EXIT_trap_handlers_are_sometimes_executed_twice.sh \ 155*906afcb8SAndy Fiddaman tests/sun_solaris_getconf.sh \ 156*906afcb8SAndy Fiddaman tests/sun_solaris_locale_misc.sh \ 157*906afcb8SAndy Fiddaman tests/sun_solaris_local_compound_nameref001.sh \ 158*906afcb8SAndy Fiddaman tests/sun_solaris_staticvariables.sh \ 159*906afcb8SAndy Fiddaman tests/sun_solaris_vartree001.sh \ 160*906afcb8SAndy Fiddaman tests/sun_solaris_vartree002.sh \ 161*906afcb8SAndy Fiddaman tests/sun_solaris_vartree003.sh 162*906afcb8SAndy Fiddaman 163*906afcb8SAndy FiddamanDEMOFILES= $(DF_SRC) $(DF_BIN) $(DF_FUN) $(DF_TESTS) $(DF_XTESTS) 164*906afcb8SAndy Fiddaman 165*906afcb8SAndy Fiddaman# Rules for executables 166*906afcb8SAndy Fiddaman$(ROOTDEMODIRBASE)/tests/shtests := FILEMODE= 755 167*906afcb8SAndy Fiddaman$(ROOTDEMODIRBASE)/fun/% := FILEMODE= 755 168*906afcb8SAndy Fiddaman$(ROOTDEMODIRBASE)/bin/% := FILEMODE= 755 169*906afcb8SAndy Fiddaman 170*906afcb8SAndy Fiddaman$(ROOTDEMODIRBASE)/bin/%: common/scripts/%.sh 171*906afcb8SAndy Fiddaman /usr/bin/shcomp "$<" >"$(@F)" 172*906afcb8SAndy Fiddaman $(INS) -s -m $(FILEMODE) -f $(@D) "$(@F)" 173*906afcb8SAndy Fiddaman $(RM) "$(@F)" 174*906afcb8SAndy Fiddaman 175*906afcb8SAndy Fiddaman$(ROOTDEMODIRBASE)/src/%.sh: common/scripts/%.sh 176*906afcb8SAndy Fiddaman $(INS.file) 177*906afcb8SAndy Fiddaman 178*906afcb8SAndy Fiddaman$(ROOTDEMODIRBASE)/tests/%: common/tests/% 179*906afcb8SAndy Fiddaman $(INS.file) 180*906afcb8SAndy Fiddaman 181*906afcb8SAndy FiddamanROOTDEMODIRS= $(ROOTDEMODIRBASE) .WAIT \ 182*906afcb8SAndy Fiddaman $(ROOTDEMODIRBASE)/bin \ 183*906afcb8SAndy Fiddaman $(ROOTDEMODIRBASE)/fun \ 184*906afcb8SAndy Fiddaman $(ROOTDEMODIRBASE)/src \ 185*906afcb8SAndy Fiddaman $(ROOTDEMODIRBASE)/tests 186*906afcb8SAndy Fiddaman 187*906afcb8SAndy Fiddaman_demoinstall: $(ROOTDEMODIRS) .WAIT $(ROOTDEMOFILES) 188*906afcb8SAndy Fiddamaninstall: _demoinstall 189