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]
21 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
22 # Use is subject to license terms.
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
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 \
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
)
64 # step around name collisions
65 POFILES
= $(PROG
:%=%.cat
)
67 CPPFLAGS
= -I.
$(SMALLFLAG
) $(CPPFLAGS.master
) # -DSMALL
71 # if you change these directories, change them in uucp.h as well
73 ROOTLIBUUCP
= $(ROOT
)/usr
/lib
/uucp
74 ROOTETCUUCP
= $(ROOT
)/etc
/uucp
76 ROOTVARUUCP
= $(ROOTVAR
)/uucp
77 ROOTSPOOL
= $(ROOTVAR
)/spool
78 ROOTSPLOCKS
= $(ROOTSPOOL
)/locks
79 ROOTSPUUCP
= $(ROOTSPOOL
)/uucp
80 ROOTSPPUB
= $(ROOTSPOOL
)/uucppublic
88 DOTWORKSPACE
= .Workspace
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
)/%)
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
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
)/%: %
147 $(LINK.c
) $(POBJS
) -o
$@
$(LDLIBS
) $(PLIBS
)
150 $(POFILE
): $(POFILES
)
151 $(RM
) $@
; $(CAT
) $(POFILES
) > $@
153 $(POFILES
): $$(POBJS
:.o
=.po
)
154 $(RM
) $@
; $(CAT
) $(POBJS
:.o
=.po
) > $@
160 $(RM
) $@
; $(SYMLINK
) $(SYMDEST
)/$(@F
) $@
163 $(RM
) $@
; $(SYMLINK
) $(REMOTESYMDEST
)/$(@F
) $@
165 check: $(CHKMANIFEST
)
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
;\
184 sed
"/^domain/d" < messages.po
> $@
;\
185 $(RM
) messages.po common.c.i
187 include ..
/Makefile.targ