Makefile revision 7c478bd95313f5f23a4c958a745db2134aa03244
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, Version 1.0 only
6# (the "License").  You may not use this file except in compliance
7# with the License.
8#
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
13#
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "[]" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
19#
20# CDDL HEADER END
21#
22#
23# ident	"%Z%%M%	%I%	%E% SMI"
24#
25# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
26# Use is subject to license terms.
27#
28# cmd/bnu/Makefile
29#
30
31include		../Makefile.cmd
32
33USERPROG1 =	uudecode uuencode
34USERPROG =	$(USERPROG1) uucp uuglist uuname uustat uux ct cu
35UUCPPROG1 =	bnuconvert uucheck uucleanup
36UUCPPROG =	$(UUCPPROG1) remote.unknown uusched uucico uuxqt
37SBINPROG =	in.uucpd
38
39PROG =		$(UUCPPROG) $(USERPROG) $(SBINPROG)
40
41MANIFEST =	uucp.xml
42
43LIBSHELLS =	Uutry uudemon.admin uudemon.cleanup uudemon.hour uudemon.poll
44BINSHELLS =	uulog uupick uuto
45SHELLS =	$(LIBSHELLS) $(BINSHELLS)
46CRONTAB =	uudemon.crontab
47
48#include	../../lib/Makefile.lib
49
50FILES =		Config Devconfig Devices Dialcodes	\
51		Dialers Grades Limits Permissions	\
52		Poll Sysfiles Systems
53
54CLEANFILES =	$(SRCS:%.c=%.o) common.o
55
56TXTFILES =	README $(FILES)	\
57		dkbreak.c dkdial.c dkerr.c dkminor.c dtnamer.c	\
58		Cvt Install SetUp Teardown dial.c dial.h getopt.c strpbrk.c
59
60ROOTMANIFESTDIR=	$(ROOTSVCNETWORK)
61$(ROOTMANIFEST)		:= FILEMODE= 444
62
63CAT =		cat
64POFILE =	bnu.po
65# step around name collisions
66POFILES =	$(PROG:%=%.cat)
67
68CPPFLAGS =	-I. $(SMALLFLAG) $(CPPFLAGS.master) # -DSMALL
69
70OWNER =		uucp
71GROUP =		uucp
72FILEMODE =	4511
73
74# if you change these directories, change them in uucp.h as well
75
76ROOTLIBUUCP =	$(ROOT)/usr/lib/uucp
77ROOTETCUUCP =	$(ROOT)/etc/uucp
78ROOTVAR =	$(ROOT)/var
79ROOTVARUUCP =	$(ROOTVAR)/uucp
80ROOTSPOOL =	$(ROOTVAR)/spool
81ROOTSPLOCKS =	$(ROOTSPOOL)/locks
82ROOTSPUUCP =	$(ROOTSPOOL)/uucp
83ROOTSPPUB =	$(ROOTSPOOL)/uucppublic
84
85DOTADMIN =	.Admin
86DOTCORRUPT =	.Corrupt
87DOTLOG =	.Log
88DOTOLD =	.Old
89DOTSEQ =	.Sequence
90DOTSTATUS =	.Status
91DOTWORKSPACE =	.Workspace
92DOTXQT =	.Xqtdir
93DOTDIRS =	$(DOTADMIN) $(DOTLOG) $(DOTOLD) $(DOTSEQ) $(DOTSTATUS)
94DOTSPDIRS =	$(DOTCORRUPT) $(DOTWORKSPACE) $(DOTXQT)
95
96DOTLOGCICO =	$(DOTLOG)/uucico
97DOTLOGUUCP =	$(DOTLOG)/uucp
98DOTLOGUUX =	$(DOTLOG)/uux
99DOTLOGUUXQT =	$(DOTLOG)/uuxqt
100DOTLOGDIRS =	$(DOTLOGCICO) $(DOTLOGUUCP) $(DOTLOGUUX) $(DOTLOGUUXQT)
101
102ROOTDOTDIRS =	$(DOTDIRS:%=$(ROOTVARUUCP)/%)
103ROOTDOTSPDIRS =	$(DOTSPDIRS:%=$(ROOTSPUUCP)/%)
104ROOTDOTLOGDIRS = $(DOTLOGDIRS:%=$(ROOTVARUUCP)/%)
105
106ROOTPROG =	$(USERPROG:%=$(ROOTBIN)/%)
107ROOTSPROG =	$(SBINPROG:%=$(ROOTUSRSBIN)/%)
108ROOTSHELLS =	$(BINSHELLS:%=$(ROOTBIN)/%)
109ROOTUUCPPROG =	$(UUCPPROG:%=$(ROOTLIBUUCP)/%)
110ROOTLIBSHELLS =	$(LIBSHELLS:%=$(ROOTLIBUUCP)/%)
111ROOTCRONTAB =	$(CRONTAB:%=$(ROOTLIBUUCP)/%)
112ROOTFILES =	$(FILES:%=$(ROOTETCUUCP)/%)
113
114ROOTDIRS =	$(ROOTLIBUUCP) $(ROOTETCUUCP) $(ROOTSPLOCKS)	\
115		$(ROOTDOTDIRS) $(ROOTDOTSPDIRS) $(ROOTDOTLOGDIRS)
116
117ROOTSYMDIRS =	$(DOTDIRS:%=$(ROOTSPUUCP)/%)
118SYMDEST =	../../uucp
119ROOTREMOTE =	$(ROOTETCUUCP)/remote.unknown
120REMOTESYMDEST =	../../usr/lib/uucp
121
122$(USERPROG1) := CPPFLAGS += -D_FILE_OFFSET_BITS=64
123
124# Mode is assigned in Targetdirs.  It shoudn't be re-assigned here
125#$(ROOTSPPUB) :=				DIRMODE = 1777
126$(USERPROG1:%=$(ROOTBIN)/%) :=		FILEMODE = 0555
127$(USERPROG1:%=$(ROOTBIN)/%) :=		OWNER = root
128$(ROOTSHELLS) :=			FILEMODE = 0555
129$(ROOTSHELLS) :=			OWNER = root
130$(ROOTLIBSHELLS) :=			FILEMODE = 0555
131$(ROOTLIBSHELLS) :=			OWNER = root
132$(UUCPPROG1:%=$(ROOTLIBUUCP)/%) :=	FILEMODE = 0510
133$(ROOTCRONTAB) :=			FILEMODE = 0444
134$(ROOTCRONTAB) :=			OWNER = root
135$(ROOTFILES) :=				FILEMODE = 0644
136$(ROOTETCUUCP)/Permissions :=		FILEMODE = 0600
137$(ROOTETCUUCP)/Systems :=		FILEMODE = 0600
138$(ROOTBIN)/ct :=			OWNER = root
139$(ROOTSPROG) :=				FILEMODE = 0555
140$(ROOTSPROG) :=				OWNER = root
141
142include		./Makefile.inc
143
144.KEEP_STATE:
145
146all:		$(TXTFILES) $(PROG) $(SHELLS)
147
148install:	$(ROOTDIRS) $(ROOTSYMDIRS) $(ROOTPROG)		\
149		$(ROOTUUCPPROG) $(ROOTLIBSHELLS) $(ROOTSHELLS)	\
150		$(ROOTFILES) $(ROOTSYMFILES) $(ROOTSPROG)	\
151		$(ROOTREMOTE) $(ROOTCRONTAB) $(ROOTMANIFEST)
152
153$(ROOTLIBUUCP)/% $(ROOTETCUUCP)/% $(ROOTUSRSBIN)/%: %
154		$(INS.file)
155
156$(PROG):	$$(POBJS)
157		$(LINK.c) $(POBJS) -o $@ $(LDLIBS) $(PLIBS)
158		$(POST_PROCESS)
159
160$(POFILE):	$(POFILES)
161		$(RM) $@; $(CAT) $(POFILES) > $@
162
163$(POFILES):	$$(POBJS:.o=.po)
164		$(RM) $@; $(CAT) $(POBJS:.o=.po) > $@
165
166$(ROOTDIRS):
167		$(INS.dir)
168
169$(ROOTSYMDIRS):
170		$(RM) $@; $(SYMLINK) $(SYMDEST)/$(@F) $@
171
172$(ROOTREMOTE):
173		$(RM) $@; $(SYMLINK) $(REMOTESYMDEST)/$(@F) $@
174
175check:		$(CHKMANIFEST)
176
177clean:
178		$(RM) $(CLEANFILES)
179
180lint:		lint_SRCS
181
182strip:
183		$(STRIP) $(PROG)
184
185# special rules for 'common', since it lives in chmod's directory
186
187common.o:	../chmod/common.c
188		$(COMPILE.c) -o $@ ../chmod/common.c
189
190common.po:	../chmod/common.c
191		$(COMPILE.cpp) ../chmod/common.c > common.c.i
192		$(XGETTEXT) $(XGETFLAGS) common.c.i ;\
193		$(RM)   $@ ;\
194		sed "/^domain/d" < messages.po  > $@ ;\
195		$(RM) messages.po common.c.i
196
197include		../Makefile.targ
198