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 # 23 # Copyright 2014 Gary Mills 24 # Copyright 2008 Sun Microsystems, Inc. All rights reserved. 25 # Use is subject to license terms. 26 # 27 28 include $(SRC)/cmd/Makefile.cmd 29 30 .KEEP_STATE: 31 32 ROOTOPTPKG = $(ROOT)/opt/SUNWdtrt 33 ROOTTST = $(ROOTOPTPKG)/tst 34 SUBDIR :sh= basename `pwd` 35 TSTDIR = $(ROOTTST)/$(SUBDIR) 36 DSTYLE = $(ROOTOPTPKG)/bin/dstyle 37 38 CSRCS :sh= find . -name SCCS -prune -o -name *.c -print | cut -b3- 39 SSRCS :sh= find . -name SCCS -prune -o -name *.s -print | cut -b3- 40 DSRCS :sh= find . -name SCCS -prune -o -name *.d -print | cut -b3- 41 42 TSTS :sh= find . -name tst.*.d -o -name err.*.d -o \ 43 -name tst.*.d.out -o -name err.*.d.out -o -name tst.*.ksh \ 44 -o -name err.*.ksh -o -name tst.*.ksh.out -o -name drp.*.d \ 45 -o -name get.*.pl 46 47 EXES :sh= find . -name SCCS -prune -o \( -name *.exe -o -name \*.pl \) -print \ 48 | cut -b3- 49 EXES += $(CSRCS:%.c=%.exe) 50 EXES += $(SSRCS:%.s=%.exe) 51 52 ROOT_TSTS = $(TSTS:%=$(TSTDIR)/%) 53 ROOT_EXES = $(EXES:%=$(TSTDIR)/%) 54 55 $(ROOT_TSTS) := FILEMODE = 0444 56 $(ROOT_EXES) := FILEMODE = 0555 57 58 # The DTrace tests rely on "normal" behaviour from the compiler which 59 # agressive optimization of small, simple, one compilation-unit programs may 60 # utterly subvert. We force the compiler to not optimize rather than engage 61 # in an arms race with increasingly belligerent optimizers. 62 COPTFLAG= -_cc=-xO0 -_gcc=-O0 63 64 CERRWARN += -_gcc=-Wno-switch 65 CERRWARN += -_gcc=-Wno-unused-variable 66 CERRWARN += -_gcc=-Wno-implicit-function-declaration 67 CERRWARN += -_gcc=-Wno-unused-function 68 CERRWARN += -_gcc=-Wno-unused-variable 69 70 all: $(EXES) 71 72 clean lint: 73 74 clobber: FRC 75 -$(RM) $(CSRCS:%.c=%.exe) $(CSRCS:%.c=%.o) 76 -$(RM) $(SSRCS:%.s=%.exe) $(SSRCS:%.s=%.o) 77 -$(RM) $(DSRCS:%.d=%.o) 78 -$(RM) $(CLOBBERFILES) 79 80 install: $(ROOT_TSTS) $(ROOT_EXES) 81 82 $(ROOT_TSTS): $(TSTDIR) 83 84 $(ROOT_EXES): $(TSTDIR) 85 86 $(TSTDIR): 87 $(INS.dir) 88 89 $(TSTDIR)/%: % 90 $(INS) -s -d -m $(DIRMODE) $(@D) 91 $(INS.file) 92 93 %.exe: %.c 94 $(LINK.c) -o $@ $< $(LDLIBS) 95 $(POST_PROCESS) ; $(STRIP_STABS) 96 97 %.exe: %.o 98 $(LINK.c) -o $@ $< $(LDLIBS) 99 $(POST_PROCESS) ; $(STRIP_STABS) 100 101 %.o: %.c 102 $(COMPILE.c) -o $@ $< 103 $(POST_PROCESS_O) 104 105 %.o: %.s 106 $(COMPILE.s) -o $@ $< 107 $(POST_PROCESS_O) 108 109 scripts: FRC 110 @cd ../cmd/scripts; pwd; $(MAKE) install 111 112 dstyle: FRC 113 @if [ -n "$(DSRCS)" ]; then $(DSTYLE) $(DSRCS); fi 114 115 FRC: