xref: /illumos-gate/usr/src/cmd/spell/Makefile (revision 7c478bd9)
1*7c478bd9Sstevel@tonic-gate#
2*7c478bd9Sstevel@tonic-gate# CDDL HEADER START
3*7c478bd9Sstevel@tonic-gate#
4*7c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
5*7c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only
6*7c478bd9Sstevel@tonic-gate# (the "License").  You may not use this file except in compliance
7*7c478bd9Sstevel@tonic-gate# with the License.
8*7c478bd9Sstevel@tonic-gate#
9*7c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*7c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
11*7c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
12*7c478bd9Sstevel@tonic-gate# and limitations under the License.
13*7c478bd9Sstevel@tonic-gate#
14*7c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
15*7c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*7c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
17*7c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
18*7c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
19*7c478bd9Sstevel@tonic-gate#
20*7c478bd9Sstevel@tonic-gate# CDDL HEADER END
21*7c478bd9Sstevel@tonic-gate#
22*7c478bd9Sstevel@tonic-gate#
23*7c478bd9Sstevel@tonic-gate#ident	"%Z%%M%	%I%	%E% SMI"
24*7c478bd9Sstevel@tonic-gate#
25*7c478bd9Sstevel@tonic-gate# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
26*7c478bd9Sstevel@tonic-gate# Use is subject to license terms.
27*7c478bd9Sstevel@tonic-gate#
28*7c478bd9Sstevel@tonic-gate# cmd/spell/Makefile
29*7c478bd9Sstevel@tonic-gate#
30*7c478bd9Sstevel@tonic-gate
31*7c478bd9Sstevel@tonic-gateHASHPROG=	hashmk1 spellin1
32*7c478bd9Sstevel@tonic-gateSHPROG=		spell compress
33*7c478bd9Sstevel@tonic-gateHASHTAB=	hlista hlistb hstop
34*7c478bd9Sstevel@tonic-gateBINPROG=	spellprog spellin hashmake hashcheck
35*7c478bd9Sstevel@tonic-gatePROG=		$(SHPROG) $(BINPROG) $(HASHPROG) $(HASHTAB) spellhist
36*7c478bd9Sstevel@tonic-gate
37*7c478bd9Sstevel@tonic-gateSPELLPROGSRC=	spellprog.c hash.c hashlook.c huff.c
38*7c478bd9Sstevel@tonic-gateSPELLPROGOBJ=	$(SPELLPROGSRC:%.c=%.o)
39*7c478bd9Sstevel@tonic-gate
40*7c478bd9Sstevel@tonic-gateSPELLINSRC=	spellin.c huff.c
41*7c478bd9Sstevel@tonic-gateSPELLINOBJ=	$(SPELLINSRC:%.c=%.o)
42*7c478bd9Sstevel@tonic-gate
43*7c478bd9Sstevel@tonic-gateHASHCHECKSRC=	hashcheck.c hash.c huff.c
44*7c478bd9Sstevel@tonic-gateHASHCHECKOBJ=	$(HASHCHECKSRC:%.c=%.o)
45*7c478bd9Sstevel@tonic-gate
46*7c478bd9Sstevel@tonic-gateHASHMAKESRC=	hashmake.c hash.c
47*7c478bd9Sstevel@tonic-gateHASHMAKEOBJ=	$(HASHMAKESRC:%.c=%.o)
48*7c478bd9Sstevel@tonic-gate
49*7c478bd9Sstevel@tonic-gateSRCS= $(SPELLPROGSRC) spellin.c hashcheck.c hashmake.c
50*7c478bd9Sstevel@tonic-gateOBJS= $(SRCS:%.c=%.o)
51*7c478bd9Sstevel@tonic-gate
52*7c478bd9Sstevel@tonic-gateWORDS=	american british local list extra stop
53*7c478bd9Sstevel@tonic-gateTXTS=	compress.sh spell.sh
54*7c478bd9Sstevel@tonic-gate
55*7c478bd9Sstevel@tonic-gateinclude ../Makefile.cmd
56*7c478bd9Sstevel@tonic-gate
57*7c478bd9Sstevel@tonic-gateCFLAGS += $(CCVERBOSE)
58*7c478bd9Sstevel@tonic-gate
59*7c478bd9Sstevel@tonic-gateXGETFLAGS += -a -x spell.xcl
60*7c478bd9Sstevel@tonic-gate
61*7c478bd9Sstevel@tonic-gateCLOBBERFILES += htemp1 htemp2
62*7c478bd9Sstevel@tonic-gate
63*7c478bd9Sstevel@tonic-gateROOTSPELLD = $(ROOTLIB)/spell
64*7c478bd9Sstevel@tonic-gateROOTVARADMD = $(ROOT)/var/adm
65*7c478bd9Sstevel@tonic-gateROOTDIRS= $(ROOTSPELLD)
66*7c478bd9Sstevel@tonic-gate
67*7c478bd9Sstevel@tonic-gateBINF= spell
68*7c478bd9Sstevel@tonic-gateSPELLF= spellprog hashmake hashcheck spellin hstop hlistb hlista compress
69*7c478bd9Sstevel@tonic-gateVARADMF= spellhist
70*7c478bd9Sstevel@tonic-gate
71*7c478bd9Sstevel@tonic-gateROOTBINF = $(BINF:%=$(ROOTBIN)/%)
72*7c478bd9Sstevel@tonic-gateROOTSPELLF = $(SPELLF:%=$(ROOTSPELLD)/%)
73*7c478bd9Sstevel@tonic-gateROOTVARADMF = $(VARADMF:%=$(ROOTVARADMD)/%)
74*7c478bd9Sstevel@tonic-gate
75*7c478bd9Sstevel@tonic-gateHASHFILEMODE = 0644
76*7c478bd9Sstevel@tonic-gate$(ROOTSPELLD)/hstop $(ROOTSPELLD)/hlistb \
77*7c478bd9Sstevel@tonic-gate$(ROOTSPELLD)/hlista :=	FILEMODE =	0644
78*7c478bd9Sstevel@tonic-gate$(ROOTVARADMF) :=	FILEMODE =	0666
79*7c478bd9Sstevel@tonic-gate
80*7c478bd9Sstevel@tonic-gatespellin1 hashmk1 := CC = $(NATIVECC)
81*7c478bd9Sstevel@tonic-gatespellin1 hashmk1 := POST_PROCESS =
82*7c478bd9Sstevel@tonic-gatespellin1 hashmk1 := CPPFLAGS =
83*7c478bd9Sstevel@tonic-gatespellin1 hashmk1 := LDFLAGS =
84*7c478bd9Sstevel@tonic-gate
85*7c478bd9Sstevel@tonic-gate$(ROOTSPELLD)/% $(ROOTVARADMD)/% : %
86*7c478bd9Sstevel@tonic-gate	$(INS.file)
87*7c478bd9Sstevel@tonic-gate
88*7c478bd9Sstevel@tonic-gate.KEEP_STATE:
89*7c478bd9Sstevel@tonic-gate
90*7c478bd9Sstevel@tonic-gateall: 	$(PROG) $(TXTS)
91*7c478bd9Sstevel@tonic-gate
92*7c478bd9Sstevel@tonic-gatespellprog:		$(SPELLPROGOBJ)
93*7c478bd9Sstevel@tonic-gate			$(LINK.c) $(SPELLPROGOBJ) -o $@ $(LDLIBS)
94*7c478bd9Sstevel@tonic-gate			$(POST_PROCESS)
95*7c478bd9Sstevel@tonic-gate
96*7c478bd9Sstevel@tonic-gatespellin spellin1:	$(SPELLINOBJ)
97*7c478bd9Sstevel@tonic-gate			$(LINK.c) $(SPELLINOBJ) -o $@ $(LDLIBS)
98*7c478bd9Sstevel@tonic-gate			$(POST_PROCESS)
99*7c478bd9Sstevel@tonic-gate
100*7c478bd9Sstevel@tonic-gatespellhist:
101*7c478bd9Sstevel@tonic-gate			$(ECHO) '\c' > spellhist
102*7c478bd9Sstevel@tonic-gate
103*7c478bd9Sstevel@tonic-gatehashcheck:		$(HASHCHECKOBJ)
104*7c478bd9Sstevel@tonic-gate			$(LINK.c) $(HASHCHECKOBJ) -o $@ $(LDLIBS)
105*7c478bd9Sstevel@tonic-gate			$(POST_PROCESS)
106*7c478bd9Sstevel@tonic-gate
107*7c478bd9Sstevel@tonic-gatehashmake hashmk1:	$(HASHMAKEOBJ)
108*7c478bd9Sstevel@tonic-gate			$(LINK.c) $(HASHMAKEOBJ) -o $@ $(LDLIBS)
109*7c478bd9Sstevel@tonic-gate			$(POST_PROCESS)
110*7c478bd9Sstevel@tonic-gate
111*7c478bd9Sstevel@tonic-gatehtemp1:	list local extra hashmk1
112*7c478bd9Sstevel@tonic-gate	$(RM) $@; cat list local extra | $(_SH_) ./hashmk1 > $@
113*7c478bd9Sstevel@tonic-gate
114*7c478bd9Sstevel@tonic-gatehlista: american $(HASHPROG) htemp1
115*7c478bd9Sstevel@tonic-gate	$(RM) htemp2; ./hashmk1 <american |sort -u - htemp1 >htemp2
116*7c478bd9Sstevel@tonic-gate	$(RM) $@; ./spellin1 `wc htemp2|sed -n 's/\([^ ]\) .*/\1/p'`<htemp2 >$@
117*7c478bd9Sstevel@tonic-gate	$(RM) htemp2
118*7c478bd9Sstevel@tonic-gate
119*7c478bd9Sstevel@tonic-gatehlistb: british $(HASHPROG) htemp1
120*7c478bd9Sstevel@tonic-gate	$(RM) htemp2; ./hashmk1 <british |sort -u - htemp1 >htemp2
121*7c478bd9Sstevel@tonic-gate	$(RM) $@; ./spellin1 `wc htemp2|sed -n 's/\([^ ]\) .*/\1/p'`<htemp2 >$@
122*7c478bd9Sstevel@tonic-gate	$(RM) htemp2
123*7c478bd9Sstevel@tonic-gate
124*7c478bd9Sstevel@tonic-gatehstop:	stop $(HASHPROG)
125*7c478bd9Sstevel@tonic-gate	$(RM) htemp2; ./hashmk1 <stop | sort -u >htemp2
126*7c478bd9Sstevel@tonic-gate	$(RM) $@; ./spellin1 `wc htemp2|sed -n 's/\([^ ]\) .*/\1/p'`<htemp2 >$@
127*7c478bd9Sstevel@tonic-gate	$(RM) htemp2
128*7c478bd9Sstevel@tonic-gate
129*7c478bd9Sstevel@tonic-gateinstall: all $(ROOTDIRS) $(ROOTBINF) $(ROOTSPELLF) $(ROOTVARADMF)
130*7c478bd9Sstevel@tonic-gate
131*7c478bd9Sstevel@tonic-gate$(ROOTDIRS):
132*7c478bd9Sstevel@tonic-gate	$(INS.dir)
133*7c478bd9Sstevel@tonic-gate
134*7c478bd9Sstevel@tonic-gatelint:	lint_SRCS
135*7c478bd9Sstevel@tonic-gate
136*7c478bd9Sstevel@tonic-gateclean:
137*7c478bd9Sstevel@tonic-gate	$(RM) $(OBJS)
138*7c478bd9Sstevel@tonic-gate
139*7c478bd9Sstevel@tonic-gateinclude ../Makefile.targ
140