1fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 2fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Disktest Makefile 3fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Copyright (c) International Business Machines Corp., 2001 4fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 5fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 6fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# This program is free software; you can redistribute it and/or modify 7fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# it under the terms of the GNU General Public License as published by 8fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# the Free Software Foundation; either version 2 of the License, or 9fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# (at your option) any later version. 10fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 11fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# This program is distributed in the hope that it will be useful, 12fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# but WITHOUT ANY WARRANTY; without even the implied warranty of 13fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# GNU General Public License for more details. 15fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 16fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# You should have received a copy of the GNU General Public License 17fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# along with this program; if not, write to the Free Software 18fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 20fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Please send e-mail to yardleyb@us.ibm.com if you have 21fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# questions or comments. 22fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 23fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Project Website: TBD 24fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 25fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 2677e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# $Id: Makefile.aix,v 1.3 2008/02/14 08:22:22 subrata_modak Exp $ 27fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# $Log: Makefile.aix,v $ 2877e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# Revision 1.3 2008/02/14 08:22:22 subrata_modak 2977e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# Disktest application update to version 1.4.2, by, Brent Yardley <yardleyb@us.ibm.com> 3077e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# 3177e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# Revision 1.10 2006/10/19 17:30:27 yardleyb 3277e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# Added basic signal handling. 3377e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# 3477e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# Revision 1.9 2006/05/12 19:44:47 yardleyb 3577e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# added CHANGELOG to distro 3677e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# uninstall does not force a build 3777e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# 3877e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# Revision 1.8 2005/10/12 23:13:35 yardleyb 3977e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# Updates to code to support new function in disktest version 1.3.x. 4077e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# Actual changes are recorded in the README 4177e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# 4277e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# Revision 1.7 2005/06/02 20:16:19 yardleyb 4377e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak# Added changes for aix make 44fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 45fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.6 2004/11/20 04:43:42 yardleyb 46fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Minor code fixes. Checking for alloc errors. 47fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 48fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.5 2004/11/19 21:45:12 yardleyb 49fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Fixed issue with code added for -F option. Cased disktest 50fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# to SEG FAULT when cleaning up threads. 51fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 52fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.4 2003/01/13 21:33:31 yardleyb 53fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Added code to detect AIX volume size. 54fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Updated mask for random LBA to use start_lba offset 55fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Updated version to 1.1.10 56fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 57fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.3 2002/04/24 01:59:45 yardleyb 58fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Update to version v1.1.3 59fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 60fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.2 2002/04/02 00:11:04 yardleyb 61fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Corrected -D for each OS type 62fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 63fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.1 2002/04/01 20:05:26 yardleyb 64fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Modified Makefiles for linux, 65fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Created Makefiles for windows/aix 66fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 67fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.14 2002/03/07 03:38:52 yardleyb 68fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Added dump function from command 69fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# line. Created formatted dump output 70fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# for Data miscomare and command line. 71fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Can now leave off filespec the full 72fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# path header as it will be added based 73fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# on -I. 74fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 75fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.13 2002/02/28 04:25:45 yardleyb 76fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# reworked threading code 77fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# made locking code a macro. 78fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 79fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.12 2002/02/26 19:35:59 yardleyb 80fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Updates to parsing routines for user 81fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# input. Added multipliers for -S and 82fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# -s command line arguments. Forced 83fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# default seeks to default if performing 84fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# a diskcache test. 85fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 86fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.11 2002/02/21 21:42:15 yardleyb 87fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Updated distro for man1 88fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 89fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.10 2002/02/21 21:34:16 yardleyb 90fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Cleaned up make dependancies 91fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# added install and uninstall 92fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 93fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.9 2002/02/21 01:00:50 yardleyb 94fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Added README and directory 95fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# structure to distro 96fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 97fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.8 2002/02/19 02:46:37 yardleyb 98fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Added changes to compile for AIX. 99fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Update getvsiz so it returns a -1 100fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# if the ioctl fails and we handle 101fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# that fact correctly. Added check 102fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# to force vsiz to always be greater 103fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# then stop_lba. 104fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 105fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.7 2001/12/04 19:00:33 yardleyb 106fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Updated to add new files and 107fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# filename changes 108fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 109fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.6 2001/10/10 00:17:14 yardleyb 110fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Added Copyright and GPL license text. 111fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Miner bug fixes throughout text. 112fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 113fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.5 2001/09/22 03:29:51 yardleyb 114fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Added dependence on main.o for sfunc.h usage.h header files 115fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 116fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.4 2001/09/10 22:14:27 yardleyb 117fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Added clean up for tar file. Included man page in distro 118fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 119fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.3 2001/09/06 18:23:30 yardleyb 120fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Added duty cycle -D. Updated usage. Added 121fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# make option to create .tar.gz of all files 122fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 123fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.2 2001/09/05 22:44:42 yardleyb 124fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Split out some of the special functions. 125fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# added O_DIRECT -Id. Updated usage. Lots 126fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# of clean up to functions. Added header info 127fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# to pMsg. 128fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 129fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Revision 1.1 2001/09/04 19:28:07 yardleyb 130fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Split usage out. Split header out. Added usage text. 131fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# Made signal handler one function. code cleanup. 132fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# 133fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge 134fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# -D "_LARGE_FILES" is used in AIX to support 64bit functions and data types 135fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge# -D"_LARGEFILE64_SOURCE" -D"_FILE_OFFSET_BITS=64" is used in Linux to support 64bit functions and data types. -D"_GNU_SOURCE" is to support Linux O_DIRECT 136fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge 13777e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modakVER=v1.3.0 138fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgeGBLHDRS=main.h globals.h defs.h 13977e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modakALLHDRS=main.h sfunc.h parse.h childmain.h threading.h globals.h usage.h Getopt.h io.h dump.h timer.h stats.h signals.h 14077e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modakSRCS=main.c sfunc.c parse.c childmain.c threading.c globals.c usage.c Getopt.c io.c dump.c timer.c stats.c signals.c 14177e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modakOBJS=main.o sfunc.o parse.o childmain.o threading.o globals.o usage.o Getopt.o io.o dump.o timer.o stats.o signals.o 142fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge 14377e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modakCFLAGS= -O -D"AIX" -D"_THREAD_SAFE" -D"_GNU_SOURCE" -D"_LARGE_FILES" -D"_LARGEFILE64_SOURCE" -D"_FILE_OFFSET_BITS=64" -q64 144fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge 145fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgeall: $(OBJS) disktest 146fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge 147fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgedisktest: $(OBJS) $(SRCS) $(ALLHDRS) 148fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge $(CC) $(CFLAGS) -lpthread -odisktest $(OBJS) 149fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge 150fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgemain.o: main.c $(ALLHDRS) 151fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgesfunc.o: sfunc.c sfunc.h $(GBLHDRS) 152fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgeparse.o: parse.c parse.h sfunc.h $(GBLHDRS) 153fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgechildmain.o: childmain.c childmain.h sfunc.h parse.h threading.h $(GBLHDRS) 154fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgethreading.o: threading.c threading.h childmain.h sfunc.h $(GBLHDRS) 155fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgeglobals.o: globals.c threading.h $(GBLHDRS) 156fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgeusage.o: usage.c usage.h 157fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgeGetopt.o: Getopt.c Getopt.h 158fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgeio.o: io.c io.h $(GBLHDRS) 159fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgedump.o: dump.c dump.h $(GBLHDRS) 16077e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modakstats.o: stats.c stats.h $(GBLHDRS) 16177e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modaksignals.o: signals.c signals.h $(GBLHDRS) 162fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge 163fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgeinstall: disktest 16477e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak cp disktest /usr/bin 16577e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak cp man1/disktest.1.gz /usr/share/man/man1 16677e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak gunzip /usr/share/man/man1/disktest.1.gz 167fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge 16877e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modakuninstall: 16977e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak rm -f /usr/bin/disktest 170fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge rm -f /usr/share/man/man1/disktest.1 171fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge 172fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgeclean: 173fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge rm -f disktest $(OBJS) 174fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge 175fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridgeall-clean: clean 176fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge rm -f *~ *tar* *zip* 177fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge 17877e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modakdistro: all-clean 179fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge mkdir disktest.$(VER) 180fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge mkdir disktest.$(VER)/man1 18177e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak cp ./Makefile ./*.[ch] ./LICENSE ./README ./CHANGELOG disktest.$(VER) 182fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge cp ./man1/disktest.1 disktest.$(VER)/man1 183fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge tar cvf ./disktest.$(VER).tar disktest.$(VER) 184fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge rm -rf disktest.$(VER) 185fb969a7b817633b4215ab0aa88ae5f99e4014eb6mridge gzip ./disktest.$(VER).tar 186