9303 chat: this statement may fall through
[unleashed.git] / usr / src / cmd / bnu / Makefile
blobb51411c6d629e962c29a3c4cf60fb7ebfcffbbb1
2 # CDDL HEADER START
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.
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.
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]
19 # CDDL HEADER END
21 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
22 # Use is subject to license terms.
24 # cmd/bnu/Makefile
27 MANIFEST = uucp.xml
29 include ../Makefile.cmd
31 USERPROG1 = uudecode uuencode
32 USERPROG = $(USERPROG1) uucp uuglist uuname uustat uux ct cu
33 UUCPPROG1 = bnuconvert uucheck uucleanup
34 UUCPPROG = $(UUCPPROG1) remote.unknown uusched uucico uuxqt
35 SBINPROG = in.uucpd
37 PROG = $(UUCPPROG) $(USERPROG) $(SBINPROG)
39 LIBSHELLS = Uutry uudemon.admin uudemon.cleanup uudemon.hour uudemon.poll
40 BINSHELLS = uulog uupick uuto
41 SHELLS = $(LIBSHELLS) $(BINSHELLS)
42 CRONTAB = uudemon.crontab
44 #include ../../lib/Makefile.lib
46 FILES = Config Devconfig Devices Dialcodes \
47 Dialers Grades Limits Permissions \
48 Poll Sysfiles Systems
50 CLEANFILES = $(SRCS:%.c=%.o) common.o
52 # This Makefile overrides the standard POFILES (*.cat)
53 # so we have to augment clobber this ugly way.
54 CLOBBERFILES += $(SRCS:%.c=%.po) common.po
56 TXTFILES = 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
60 ROOTMANIFESTDIR= $(ROOTSVCNETWORK)
62 CAT = cat
63 POFILE = bnu.po
64 # step around name collisions
65 POFILES = $(PROG:%=%.cat)
67 CPPFLAGS = -I. $(SMALLFLAG) $(CPPFLAGS.master) # -DSMALL
69 FILEMODE = 4511
71 # if you change these directories, change them in uucp.h as well
73 ROOTLIBUUCP = $(ROOT)/usr/lib/uucp
74 ROOTETCUUCP = $(ROOT)/etc/uucp
75 ROOTVAR = $(ROOT)/var
76 ROOTVARUUCP = $(ROOTVAR)/uucp
77 ROOTSPOOL = $(ROOTVAR)/spool
78 ROOTSPLOCKS = $(ROOTSPOOL)/locks
79 ROOTSPUUCP = $(ROOTSPOOL)/uucp
80 ROOTSPPUB = $(ROOTSPOOL)/uucppublic
82 DOTADMIN = .Admin
83 DOTCORRUPT = .Corrupt
84 DOTLOG = .Log
85 DOTOLD = .Old
86 DOTSEQ = .Sequence
87 DOTSTATUS = .Status
88 DOTWORKSPACE = .Workspace
89 DOTXQT = .Xqtdir
90 DOTDIRS = $(DOTADMIN) $(DOTLOG) $(DOTOLD) $(DOTSEQ) $(DOTSTATUS)
91 DOTSPDIRS = $(DOTCORRUPT) $(DOTWORKSPACE) $(DOTXQT)
93 DOTLOGCICO = $(DOTLOG)/uucico
94 DOTLOGUUCP = $(DOTLOG)/uucp
95 DOTLOGUUX = $(DOTLOG)/uux
96 DOTLOGUUXQT = $(DOTLOG)/uuxqt
97 DOTLOGDIRS = $(DOTLOGCICO) $(DOTLOGUUCP) $(DOTLOGUUX) $(DOTLOGUUXQT)
99 ROOTDOTDIRS = $(DOTDIRS:%=$(ROOTVARUUCP)/%)
100 ROOTDOTSPDIRS = $(DOTSPDIRS:%=$(ROOTSPUUCP)/%)
101 ROOTDOTLOGDIRS = $(DOTLOGDIRS:%=$(ROOTVARUUCP)/%)
103 ROOTPROG = $(USERPROG:%=$(ROOTBIN)/%)
104 ROOTSPROG = $(SBINPROG:%=$(ROOTUSRSBIN)/%)
105 ROOTSHELLS = $(BINSHELLS:%=$(ROOTBIN)/%)
106 ROOTUUCPPROG = $(UUCPPROG:%=$(ROOTLIBUUCP)/%)
107 ROOTLIBSHELLS = $(LIBSHELLS:%=$(ROOTLIBUUCP)/%)
108 ROOTCRONTAB = $(CRONTAB:%=$(ROOTLIBUUCP)/%)
109 ROOTFILES = $(FILES:%=$(ROOTETCUUCP)/%)
111 ROOTDIRS = $(ROOTLIBUUCP) $(ROOTETCUUCP) $(ROOTSPLOCKS) \
112 $(ROOTDOTDIRS) $(ROOTDOTSPDIRS) $(ROOTDOTLOGDIRS)
114 ROOTSYMDIRS = $(DOTDIRS:%=$(ROOTSPUUCP)/%)
115 SYMDEST = ../../uucp
116 ROOTREMOTE = $(ROOTETCUUCP)/remote.unknown
117 REMOTESYMDEST = ../../usr/lib/uucp
119 $(USERPROG1) := CPPFLAGS += -D_FILE_OFFSET_BITS=64
121 # Mode is assigned in Targetdirs. It shoudn't be re-assigned here
122 $(USERPROG1:%=$(ROOTBIN)/%) := FILEMODE = 0555
123 $(ROOTSHELLS) := FILEMODE = 0555
124 $(ROOTLIBSHELLS) := FILEMODE = 0555
125 $(UUCPPROG1:%=$(ROOTLIBUUCP)/%) := FILEMODE = 0510
126 $(ROOTCRONTAB) := FILEMODE = 0444
127 $(ROOTFILES) := FILEMODE = 0644
128 $(ROOTETCUUCP)/Permissions := FILEMODE = 0600
129 $(ROOTETCUUCP)/Systems := FILEMODE = 0600
130 $(ROOTSPROG) := FILEMODE = 0555
132 include ./Makefile.inc
134 .KEEP_STATE:
136 all: $(TXTFILES) $(PROG) $(SHELLS)
138 install: $(ROOTDIRS) $(ROOTSYMDIRS) $(ROOTPROG) \
139 $(ROOTUUCPPROG) $(ROOTLIBSHELLS) $(ROOTSHELLS) \
140 $(ROOTFILES) $(ROOTSYMFILES) $(ROOTSPROG) \
141 $(ROOTREMOTE) $(ROOTCRONTAB) $(ROOTMANIFEST)
143 $(ROOTLIBUUCP)/% $(ROOTETCUUCP)/% $(ROOTUSRSBIN)/%: %
144 $(INS.file)
146 $(PROG): $$(POBJS)
147 $(LINK.c) $(POBJS) -o $@ $(LDLIBS) $(PLIBS)
148 $(POST_PROCESS)
150 $(POFILE): $(POFILES)
151 $(RM) $@; $(CAT) $(POFILES) > $@
153 $(POFILES): $$(POBJS:.o=.po)
154 $(RM) $@; $(CAT) $(POBJS:.o=.po) > $@
156 $(ROOTDIRS):
157 $(INS.dir)
159 $(ROOTSYMDIRS):
160 $(RM) $@; $(SYMLINK) $(SYMDEST)/$(@F) $@
162 $(ROOTREMOTE):
163 $(RM) $@; $(SYMLINK) $(REMOTESYMDEST)/$(@F) $@
165 check: $(CHKMANIFEST)
167 clean:
168 $(RM) $(CLEANFILES)
170 lint: lint_SRCS
172 strip:
173 $(STRIP) $(PROG)
175 # special rules for 'common', since it lives in chmod's directory
177 common.o: ../chmod/common.c
178 $(COMPILE.c) -o $@ ../chmod/common.c
180 common.po: ../chmod/common.c
181 $(COMPILE.cpp) ../chmod/common.c > common.c.i
182 $(XGETTEXT) $(XGETFLAGS) common.c.i ;\
183 $(RM) $@ ;\
184 sed "/^domain/d" < messages.po > $@ ;\
185 $(RM) messages.po common.c.i
187 include ../Makefile.targ