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 22# 23# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24# Use is subject to license terms. 25# 26 27PROG= stty ttymon ttyadm sttydefs 28XPG4PROG= stty 29 30# the 'stty' objects have to be made in a separate directory 31# since only they are built with the -DEUC flag (see below). 32STTYOBJ= sttyobjs/stty.o sttyobjs/sttytable.o sttyobjs/sttyparse.o 33 34XPG4STTYOBJ= sttyobjs.xpg4/stty.o sttyobjs.xpg4/sttytable.o \ 35 sttyobjs.xpg4/sttyparse.o 36 37TTYMONOBJ= ttymon.o tmglobal.o tmhandler.o tmpmtab.o tmttydefs.o \ 38 tmparse.o tmsig.o tmsac.o tmchild.o tmautobaud.o tmterm.o \ 39 tmutmp.o tmpeek.o tmlog.o tmlock.o tmutil.o tmexpress.o \ 40 sttytable.o sttyparse.o ulockf.o 41 42TTYADMOBJ= ttyadm.o tmutil.o admutil.o 43 44STTYDEFSOBJ= sttydefs.o admutil.o tmttydefs.o tmparse.o sttytable.o \ 45 sttyparse.o 46 47OBJS= $(STTYOBJ) $(XPG4STTYOBJ) $(TTYMONOBJ) $(TTYADMOBJ) $(STTYDEFSOBJ) 48STTYSRC= stty.c sttytable.c sttyparse.c 49TTYMONSRC= $(TTYMONOBJ:%.o=%.c) 50TTYADMSRC= $(TTYADMOBJ:%.o=%.c) 51STTYDEFSSRC= $(STTYDEFSOBJ:%.o=%.c) 52SRCS= $(STTYSRC) $(TTYMONSRC) $(TTYADMSRC) $(STTYDEFSSRC) 53 54.PARALLEL: $(OBJS) $(PROG) 55 56include ../Makefile.cmd 57 58# If machine name and /etc/issue file need to be printed 59# before the service prompt is printed, then: CPPFLAGS += -DSYS_NAME 60# If debug is needed, then: CPPFLAGS += -DDEBUG 61# fix for 1111333 - turn on SYS_NAME so /etc/issue will be read if it exists 62CPPFLAGS += -DSYS_NAME 63$(XPG4):= CPPFLAGS += -DXPG4 64sttydefs := LDLIBS += -lnsl 65ttymon := LDLIBS += -lnsl -lsec -ldevinfo 66 67# Only stty can be built with -DEUC. ttymon will dump core unless further 68# changes are made to it. 69$(STTYOBJ) := CPPFLAGS += -DEUC 70$(XPG4STTYOBJ) := CPPFLAGS += -DEUC 71 72LINTFLAGS = -b -x 73CFLAGS += $(CCVERBOSE) 74LDFLAGS += $(MAPFILE.NGB:%=-M%) 75 76CERRWARN += -_gcc=-Wno-parentheses 77CERRWARN += -_gcc=-Wno-unused-variable 78CERRWARN += -_gcc=-Wno-uninitialized 79CERRWARN += -_gcc=-Wno-extra 80 81# 82# Message catalog 83# 84POFILES= $(STTYOBJ:sttyobjs/%.o=%.po) 85POFILE= ttymon.po 86 87 88LIBSAFD= $(ROOTLIB)/saf 89DIRS= $(LIBSAFD) 90LIBSAF= ttymon 91USRSBINF= sttydefs ttyadm 92BINF= stty 93ROOTLIBF= $(LIBSAF:%=$(LIBSAFD)/%) 94ROOTUSRSBINF= $(USRSBINF:%=$(ROOTUSRSBIN)/%) 95ROOTBINF= $(BINF:%=$(ROOTBIN)/%) 96$(ROOTLIBF) := FILEMODE = 0555 97$(ROOTUSRSBINF) := FILEMODE = 0755 98 99$(LIBSAFD)/% : % 100 $(INS.file) 101 102# /usr/xpg6/bin/stty is a symlink to /usr/bin/stty 103ROOTXPG6SYMLINK= $(ROOTXPG6BIN)/stty 104.KEEP_STATE: 105 106all: $(PROG) $(XPG4) 107 108stty: sttyobjs $(STTYOBJ) $(MAPFILE.NGB) 109 $(LINK.c) $(STTYOBJ) -o $@ $(LDLIBS) 110 $(POST_PROCESS) 111 112stty.xpg4: $(XPG4STTYOBJ) $(MAPFILE.NGB) 113 $(LINK.c) $(XPG4STTYOBJ) -o $@ $(LDLIBS) 114 $(POST_PROCESS) 115 116$(XPG4STTYOBJ): sttyobjs.xpg4 117 118sttyobjs/%.o: %.c 119 $(COMPILE.c) -o $@ $< 120 121sttyobjs.xpg4/%.o: %.c 122 $(COMPILE.c) -o $@ $< 123 124sttyobjs: 125 -@mkdir -p $@ 126 127sttyobjs.xpg4: 128 -@mkdir -p $@ 129 130ttymon: $(TTYMONOBJ) $(MAPFILE.NGB) 131 $(LINK.c) $(TTYMONOBJ) -o $@ $(LDLIBS) -lpam 132 $(POST_PROCESS) 133 134ttyadm: $(TTYADMOBJ) $(MAPFILE.NGB) 135 $(LINK.c) $(TTYADMOBJ) -o $@ $(LDLIBS) 136 $(POST_PROCESS) 137 138sttydefs: $(STTYDEFSOBJ) $(MAPFILE.NGB) 139 $(LINK.c) $(STTYDEFSOBJ) -o $@ $(LDLIBS) 140 $(POST_PROCESS) 141 142install: all $(DIRS) $(ROOTLIBF) $(ROOTUSRSBINF) $(ROOTBINF) \ 143 $(ROOTXPG4PROG) $(ROOTXPG6SYMLINK) 144 -$(RM) $(ROOTETC)/getty 145 -$(SYMLINK) ../usr/lib/saf/ttymon $(ROOTETC)/getty 146 147$(ROOTXPG6SYMLINK): $(ROOTBINF) 148 -$(RM) $@ 149 -$(SYMLINK) ../../bin/$(BINF) $@ 150 151$(POFILE): $(POFILES) 152 $(RM) $@ 153 cat $(POFILES) > $@ 154 155$(DIRS): 156 $(INS.dir) 157 158clean: 159 $(RM) $(OBJS) 160 161lint: 162 $(LINT.c) $(STTYSRC) 163 $(LINT.c) $(TTYMONSRC) 164 $(LINT.c) $(TTYADMSRC) 165 $(LINT.c) $(STTYDEFSSRC) 166 167include ../Makefile.targ 168