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