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# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23# Use is subject to license terms. 24# 25 26PROG= acctcms acctcom acctcon acctcon1 acctcon2 \ 27 acctdisk acctdusg acctmerg accton acctprc acctprc1 \ 28 acctprc2 acctwtmp closewtmp fwtmp \ 29 wtmpfix utmp2wtmp 30SHFILE1= acct chargefee ckpacct dodisk lastlogin\ 31 monacct nulladm prctmp prdaily prtacct \ 32 remove runacct shutacct startup turnacct 33SHFILE2= ptecms.awk ptelus.awk 34SUBDIRS= lib 35ALL= $(PROG) $(SHFILE1) $(SHFILE2) holidays 36 37SRCS= $(PROG:%=%.c) 38SHFILE1SRCS= $(SHFILE1:%=%.sh) 39 40TXTS= diskusg.c 41 42BINPROG= acctcom 43LIBPROG= acctcms acctcon acctcon1 acctcon2 acctdisk \ 44 acctdusg acctmerg accton acctprc acctprc1 acctprc2 \ 45 acctwtmp closewtmp fwtmp utmp2wtmp \ 46 wtmpfix chargefee ckpacct dodisk monacct \ 47 lastlogin nulladm prctmp prdaily prtacct \ 48 remove runacct shutacct startup turnacct \ 49 ptecms.awk ptelus.awk 50ETCPROG= holidays 51INITPROG= acct 52 53include ../Makefile.cmd 54 55all:= TARGET= all 56install:= TARGET= install 57clean:= TARGET= clean 58clobber:= TARGET= clobber 59lint:= TARGET= lint 60 61acctcom := LDLIBS += lib/a.a 62acctcms acctcon acctcon1 acctmerg acctprc1 acctprc := LDLIBS += lib/a.a 63 64acctdusg:= CPPFLAGS += -D_FILE_OFFSET_BITS=64 65acctdusg:= LDLIBS += -lcmdutils 66 67LIBACCTD= $(ROOTLIB)/acct 68ETCACCTD= $(ROOTETC)/acct 69ETCINITD= $(ROOTETC)/init.d 70VARADMD= $(ROOT)/var/adm 71ACCTDIR= $(VARADMD)/acct 72ACCTSUBDIRS= $(ACCTDIR)/nite $(ACCTDIR)/fiscal $(ACCTDIR)/sum 73WKDIRS= $(ACCTDIR) $(ACCTSUBDIRS) 74 75# DIRS is directories to create. $(ETCINITD) [aka: /etc/init.d] is created 76# in /usr/src/Targetdirs and hence should be assumed to exist. 77DIRS= $(LIBACCTD) $(ETCACCTD) $(WKDIRS) 78 79USRBINPROG= $(BINPROG:%=$(ROOTBIN)/%) 80LIBACCTPROG= $(LIBPROG:%=$(LIBACCTD)/%) 81ETCACCTPROG= $(ETCPROG:%=$(ETCACCTD)/%) 82ETCINITPROG= $(INITPROG:%=$(ETCINITD)/%) 83 84$(LIBACCTD) := DIRMODE= 755 85$(ETCACCTD) := DIRMODE= 755 86$(WKDIRS) := DIRMODE= 775 87$(LIBACCTD)/accton := FILEMODE= 04755 88$(ETCINITPROG) := FILEMODE= 0744 89$(ETCACCTPROG) := FILEMODE= 0644 90 91.KEEP_STATE: 92 93.PARALLEL: $(ALL) 94 95all: $(SUBDIRS) .WAIT $(ALL) $(TXTS) 96 97install: all .WAIT $(DIRS) .WAIT $(USRBINPROG) $(LIBACCTPROG) $(ETCACCTPROG) \ 98 $(ETCINITPROG) 99 100THIS_YEAR:sh= date +%Y 101 102holidays: FRC 103 @if grep $(THIS_YEAR) holidays > /dev/null 2>&1;\ 104 then \ 105 :;\ 106 else \ 107 $(ECHO) "building holidays";\ 108 ( \ 109 $(ECHO) "* @(#)holidays\tJanuary 1, `date +%Y`";\ 110 $(ECHO) "*";\ 111 $(ECHO) "* Prime/Nonprime Table for UNIX Accounting System";\ 112 $(ECHO) "*";\ 113 $(ECHO) "* Curr\tPrime\tNon-Prime";\ 114 $(ECHO) "* Year\tStart\tStart";\ 115 $(ECHO) "*";\ 116 $(ECHO) " `date +%Y`\t0800\t1800";\ 117 $(ECHO) "*";\ 118 $(ECHO) "* only the first column (month/day) is significiant.";\ 119 $(ECHO) "*";\ 120 $(ECHO) "* month/day\tCompany";\ 121 $(ECHO) "* \t\tHoliday";\ 122 $(ECHO) "*";\ 123 $(ECHO) "1/1\t\tNew Years Day";\ 124 $(ECHO) "7/4\t\tIndep. Day";\ 125 $(ECHO) "12/25\t\tChristmas" ) > holidays;\ 126 fi 127 128$(DIRS): 129 $(INS.dir) 130 131$(LIBACCTD)/% : % 132 $(INS.file) 133 134$(ETCACCTD)/% : % 135 $(INS.file) 136 137$(ETCINITD)/% : % 138 $(INS.file) 139 140$(SUBDIRS): FRC 141 @cd $@; pwd; $(MAKE) $(MFLAGS) $(TARGET) 142 143FRC: 144 145clean: $(SUBDIRS) 146 147clobber: $(SUBDIRS) 148 $(RM) $(PROG) $(SHFILE1) holidays 149 150lint: $(SUBDIRS) 151 $(LINT.c) $(SRCS) 152