# # Disktest Makefile # Copyright (c) International Business Machines Corp., 2001 # # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # Please send e-mail to yardleyb@us.ibm.com if you have # questions or comments. # # Project Website: TBD # # # $Id: Makefile.aix,v 1.3 2008/02/14 08:22:22 subrata_modak Exp $ # $Log: Makefile.aix,v $ # Revision 1.3 2008/02/14 08:22:22 subrata_modak # Disktest application update to version 1.4.2, by, Brent Yardley # # Revision 1.10 2006/10/19 17:30:27 yardleyb # Added basic signal handling. # # Revision 1.9 2006/05/12 19:44:47 yardleyb # added CHANGELOG to distro # uninstall does not force a build # # Revision 1.8 2005/10/12 23:13:35 yardleyb # Updates to code to support new function in disktest version 1.3.x. # Actual changes are recorded in the README # # Revision 1.7 2005/06/02 20:16:19 yardleyb # Added changes for aix make # # Revision 1.6 2004/11/20 04:43:42 yardleyb # Minor code fixes. Checking for alloc errors. # # Revision 1.5 2004/11/19 21:45:12 yardleyb # Fixed issue with code added for -F option. Cased disktest # to SEG FAULT when cleaning up threads. # # Revision 1.4 2003/01/13 21:33:31 yardleyb # Added code to detect AIX volume size. # Updated mask for random LBA to use start_lba offset # Updated version to 1.1.10 # # Revision 1.3 2002/04/24 01:59:45 yardleyb # Update to version v1.1.3 # # Revision 1.2 2002/04/02 00:11:04 yardleyb # Corrected -D for each OS type # # Revision 1.1 2002/04/01 20:05:26 yardleyb # Modified Makefiles for linux, # Created Makefiles for windows/aix # # Revision 1.14 2002/03/07 03:38:52 yardleyb # Added dump function from command # line. Created formatted dump output # for Data miscomare and command line. # Can now leave off filespec the full # path header as it will be added based # on -I. # # Revision 1.13 2002/02/28 04:25:45 yardleyb # reworked threading code # made locking code a macro. # # Revision 1.12 2002/02/26 19:35:59 yardleyb # Updates to parsing routines for user # input. Added multipliers for -S and # -s command line arguments. Forced # default seeks to default if performing # a diskcache test. # # Revision 1.11 2002/02/21 21:42:15 yardleyb # Updated distro for man1 # # Revision 1.10 2002/02/21 21:34:16 yardleyb # Cleaned up make dependancies # added install and uninstall # # Revision 1.9 2002/02/21 01:00:50 yardleyb # Added README and directory # structure to distro # # Revision 1.8 2002/02/19 02:46:37 yardleyb # Added changes to compile for AIX. # Update getvsiz so it returns a -1 # if the ioctl fails and we handle # that fact correctly. Added check # to force vsiz to always be greater # then stop_lba. # # Revision 1.7 2001/12/04 19:00:33 yardleyb # Updated to add new files and # filename changes # # Revision 1.6 2001/10/10 00:17:14 yardleyb # Added Copyright and GPL license text. # Miner bug fixes throughout text. # # Revision 1.5 2001/09/22 03:29:51 yardleyb # Added dependence on main.o for sfunc.h usage.h header files # # Revision 1.4 2001/09/10 22:14:27 yardleyb # Added clean up for tar file. Included man page in distro # # Revision 1.3 2001/09/06 18:23:30 yardleyb # Added duty cycle -D. Updated usage. Added # make option to create .tar.gz of all files # # Revision 1.2 2001/09/05 22:44:42 yardleyb # Split out some of the special functions. # added O_DIRECT -Id. Updated usage. Lots # of clean up to functions. Added header info # to pMsg. # # Revision 1.1 2001/09/04 19:28:07 yardleyb # Split usage out. Split header out. Added usage text. # Made signal handler one function. code cleanup. # # -D "_LARGE_FILES" is used in AIX to support 64bit functions and data types # -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 VER=v1.3.0 GBLHDRS=main.h globals.h defs.h ALLHDRS=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 SRCS=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 OBJS=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 CFLAGS= -O -D"AIX" -D"_THREAD_SAFE" -D"_GNU_SOURCE" -D"_LARGE_FILES" -D"_LARGEFILE64_SOURCE" -D"_FILE_OFFSET_BITS=64" -q64 all: $(OBJS) disktest disktest: $(OBJS) $(SRCS) $(ALLHDRS) $(CC) $(CFLAGS) -lpthread -odisktest $(OBJS) main.o: main.c $(ALLHDRS) sfunc.o: sfunc.c sfunc.h $(GBLHDRS) parse.o: parse.c parse.h sfunc.h $(GBLHDRS) childmain.o: childmain.c childmain.h sfunc.h parse.h threading.h $(GBLHDRS) threading.o: threading.c threading.h childmain.h sfunc.h $(GBLHDRS) globals.o: globals.c threading.h $(GBLHDRS) usage.o: usage.c usage.h Getopt.o: Getopt.c Getopt.h io.o: io.c io.h $(GBLHDRS) dump.o: dump.c dump.h $(GBLHDRS) stats.o: stats.c stats.h $(GBLHDRS) signals.o: signals.c signals.h $(GBLHDRS) install: disktest cp disktest /usr/bin cp man1/disktest.1.gz /usr/share/man/man1 gunzip /usr/share/man/man1/disktest.1.gz uninstall: rm -f /usr/bin/disktest rm -f /usr/share/man/man1/disktest.1 clean: rm -f disktest $(OBJS) all-clean: clean rm -f *~ *tar* *zip* distro: all-clean mkdir disktest.$(VER) mkdir disktest.$(VER)/man1 cp ./Makefile ./*.[ch] ./LICENSE ./README ./CHANGELOG disktest.$(VER) cp ./man1/disktest.1 disktest.$(VER)/man1 tar cvf ./disktest.$(VER).tar disktest.$(VER) rm -rf disktest.$(VER) gzip ./disktest.$(VER).tar