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# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 22# Use is subject to license terms. 23# 24# cmd/bnu/Makefile 25# 26 27MANIFEST = uucp.xml 28 29include ../Makefile.cmd 30 31USERPROG1 = uudecode uuencode 32USERPROG = $(USERPROG1) uucp uuglist uuname uustat uux ct cu 33UUCPPROG1 = bnuconvert uucheck uucleanup 34UUCPPROG = $(UUCPPROG1) remote.unknown uusched uucico uuxqt 35SBINPROG = in.uucpd 36 37PROG = $(UUCPPROG) $(USERPROG) $(SBINPROG) 38 39LIBSHELLS = Uutry uudemon.admin uudemon.cleanup uudemon.hour uudemon.poll 40BINSHELLS = uulog uupick uuto 41SHELLS = $(LIBSHELLS) $(BINSHELLS) 42CRONTAB = uudemon.crontab 43 44#include ../../lib/Makefile.lib 45 46FILES = Config Devconfig Devices Dialcodes \ 47 Dialers Grades Limits Permissions \ 48 Poll Sysfiles Systems 49 50CLEANFILES = $(SRCS:%.c=%.o) common.o 51 52# This Makefile overrides the standard POFILES (*.cat) 53# so we have to augment clobber this ugly way. 54CLOBBERFILES += $(SRCS:%.c=%.po) common.po 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 62CAT = cat 63POFILE = bnu.po 64# step around name collisions 65POFILES = $(PROG:%=%.cat) 66 67CPPFLAGS = -I. $(SMALLFLAG) $(CPPFLAGS.master) # -DSMALL 68 69FILEMODE = 4511 70 71# if you change these directories, change them in uucp.h as well 72 73ROOTLIBUUCP = $(ROOT)/usr/lib/uucp 74ROOTETCUUCP = $(ROOT)/etc/uucp 75ROOTVAR = $(ROOT)/var 76ROOTVARUUCP = $(ROOTVAR)/uucp 77ROOTSPOOL = $(ROOTVAR)/spool 78ROOTSPLOCKS = $(ROOTSPOOL)/locks 79ROOTSPUUCP = $(ROOTSPOOL)/uucp 80ROOTSPPUB = $(ROOTSPOOL)/uucppublic 81 82DOTADMIN = .Admin 83DOTCORRUPT = .Corrupt 84DOTLOG = .Log 85DOTOLD = .Old 86DOTSEQ = .Sequence 87DOTSTATUS = .Status 88DOTWORKSPACE = .Workspace 89DOTXQT = .Xqtdir 90DOTDIRS = $(DOTADMIN) $(DOTLOG) $(DOTOLD) $(DOTSEQ) $(DOTSTATUS) 91DOTSPDIRS = $(DOTCORRUPT) $(DOTWORKSPACE) $(DOTXQT) 92 93DOTLOGCICO = $(DOTLOG)/uucico 94DOTLOGUUCP = $(DOTLOG)/uucp 95DOTLOGUUX = $(DOTLOG)/uux 96DOTLOGUUXQT = $(DOTLOG)/uuxqt 97DOTLOGDIRS = $(DOTLOGCICO) $(DOTLOGUUCP) $(DOTLOGUUX) $(DOTLOGUUXQT) 98 99ROOTDOTDIRS = $(DOTDIRS:%=$(ROOTVARUUCP)/%) 100ROOTDOTSPDIRS = $(DOTSPDIRS:%=$(ROOTSPUUCP)/%) 101ROOTDOTLOGDIRS = $(DOTLOGDIRS:%=$(ROOTVARUUCP)/%) 102 103ROOTPROG = $(USERPROG:%=$(ROOTBIN)/%) 104ROOTSPROG = $(SBINPROG:%=$(ROOTUSRSBIN)/%) 105ROOTSHELLS = $(BINSHELLS:%=$(ROOTBIN)/%) 106ROOTUUCPPROG = $(UUCPPROG:%=$(ROOTLIBUUCP)/%) 107ROOTLIBSHELLS = $(LIBSHELLS:%=$(ROOTLIBUUCP)/%) 108ROOTCRONTAB = $(CRONTAB:%=$(ROOTLIBUUCP)/%) 109ROOTFILES = $(FILES:%=$(ROOTETCUUCP)/%) 110 111ROOTDIRS = $(ROOTLIBUUCP) $(ROOTETCUUCP) $(ROOTSPLOCKS) \ 112 $(ROOTDOTDIRS) $(ROOTDOTSPDIRS) $(ROOTDOTLOGDIRS) 113 114ROOTSYMDIRS = $(DOTDIRS:%=$(ROOTSPUUCP)/%) 115SYMDEST = ../../uucp 116ROOTREMOTE = $(ROOTETCUUCP)/remote.unknown 117REMOTESYMDEST = ../../usr/lib/uucp 118 119$(USERPROG1) := CPPFLAGS += -D_FILE_OFFSET_BITS=64 120 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 131 132include ./Makefile.inc 133 134.KEEP_STATE: 135 136all: $(TXTFILES) $(PROG) $(SHELLS) 137 138install: $(ROOTDIRS) $(ROOTSYMDIRS) $(ROOTPROG) \ 139 $(ROOTUUCPPROG) $(ROOTLIBSHELLS) $(ROOTSHELLS) \ 140 $(ROOTFILES) $(ROOTSYMFILES) $(ROOTSPROG) \ 141 $(ROOTREMOTE) $(ROOTCRONTAB) $(ROOTMANIFEST) 142 143$(ROOTLIBUUCP)/% $(ROOTETCUUCP)/% $(ROOTUSRSBIN)/%: % 144 $(INS.file) 145 146$(PROG): $$(POBJS) 147 $(LINK.c) $(POBJS) -o $@ $(LDLIBS) $(PLIBS) 148 $(POST_PROCESS) 149 150$(POFILE): $(POFILES) 151 $(RM) $@; $(CAT) $(POFILES) > $@ 152 153$(POFILES): $$(POBJS:.o=.po) 154 $(RM) $@; $(CAT) $(POBJS:.o=.po) > $@ 155 156$(ROOTDIRS): 157 $(INS.dir) 158 159$(ROOTSYMDIRS): 160 $(RM) $@; $(SYMLINK) $(SYMDEST)/$(@F) $@ 161 162$(ROOTREMOTE): 163 $(RM) $@; $(SYMLINK) $(REMOTESYMDEST)/$(@F) $@ 164 165check: $(CHKMANIFEST) 166 167clean: 168 $(RM) $(CLEANFILES) 169 170lint: lint_SRCS 171 172strip: 173 $(STRIP) $(PROG) 174 175# special rules for 'common', since it lives in chmod's directory 176 177common.o: ../chmod/common.c 178 $(COMPILE.c) -o $@ ../chmod/common.c 179 180common.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 186 187include ../Makefile.targ 188