diff options
Diffstat (limited to 'tests/Makefile')
| -rw-r--r-- | tests/Makefile | 738 | 
1 files changed, 369 insertions, 369 deletions
| diff --git a/tests/Makefile b/tests/Makefile index 228b42c..5c73009 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -1,369 +1,369 @@ -# Makefile for the pthreads test suite.
 -# If all of the .pass files can be created, the test suite has passed.
 -#
 -# --------------------------------------------------------------------------
 -#
 -#      Pthreads-win32 - POSIX Threads Library for Win32
 -#      Copyright(C) 1998 John E. Bossom
 -#      Copyright(C) 1999,2005 Pthreads-win32 contributors
 -# 
 -#      Contact Email: rpj@callisto.canberra.edu.au
 -# 
 -#      The current list of contributors is contained
 -#      in the file CONTRIBUTORS included with the source
 -#      code distribution. The list can also be seen at the
 -#      following World Wide Web location:
 -#      http://sources.redhat.com/pthreads-win32/contributors.html
 -# 
 -#      This library is free software; you can redistribute it and/or
 -#      modify it under the terms of the GNU Lesser General Public
 -#      License as published by the Free Software Foundation; either
 -#      version 2 of the License, or (at your option) any later version.
 -# 
 -#      This library 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
 -#      Lesser General Public License for more details.
 -# 
 -#      You should have received a copy of the GNU Lesser General Public
 -#      License along with this library in the file COPYING.LIB;
 -#      if not, write to the Free Software Foundation, Inc.,
 -#      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 -#
 -
 -DLL_VER	= 1
 -
 -CP	= copy
 -RM	= erase
 -CAT	= type
 -MKDIR	= mkdir
 -TOUCH	= echo Passed >
 -ECHO	= @echo
 -
 -QAPC	= ..\QueueUserAPCEx\User\quserex.dll
 -
 -CPHDR	= pthread.h semaphore.h sched.h
 -
 -OPTIM	= /O2 /Ob0
 -
 -XXLIBS	= ws2_32.lib
 -
 -# C++ Exceptions
 -VCEFLAGS	= /GX /TP /DPtW32NoCatchWarn /D__CLEANUP_CXX
 -VCELIB	= pthreadVCE$(DLL_VER).lib
 -VCEDLL	= pthreadVCE$(DLL_VER).dll
 -# Structured Exceptions
 -VSEFLAGS	= /D__CLEANUP_SEH
 -VSELIB	= pthreadVSE$(DLL_VER).lib
 -VSEDLL	= pthreadVSE$(DLL_VER).dll
 -# C cleanup code
 -VCFLAGS	= /D__CLEANUP_C
 -VCLIB	= pthreadVC$(DLL_VER).lib
 -VCDLL	= pthreadVC$(DLL_VER).dll
 -# C++ Exceptions in application - using VC version of pthreads dll
 -VCXFLAGS	= /GX /TP /D__CLEANUP_C
 -
 -# Defaults
 -CPLIB	= $(VCLIB)
 -CPDLL	= $(VCDLL)
 -
 -CFLAGS= $(OPTIM) /W3 /WX /MD /nologo /Yd /Zi
 -LFLAGS= /INCREMENTAL:NO
 -INCLUDES=-I.
 -BUILD_DIR=..
 -
 -COPYFILES	= $(CPHDR) $(CPLIB) $(CPDLL) $(QAPC)
 -
 -TEST		=
 -EHFLAGS	=
 -
 -# If a test case returns a non-zero exit code to the shell, make will
 -# stop.
 -
 -PASSES= sizes.pass  loadfree.pass \
 -	  self1.pass  mutex5.pass  \
 -	  mutex1.pass  mutex1n.pass  mutex1e.pass  mutex1r.pass  \
 -	  semaphore1.pass  semaphore2.pass  semaphore3.pass  \
 -	  mutex2.pass  mutex3.pass  \
 -	  mutex2r.pass  mutex2e.pass  mutex3r.pass  mutex3e.pass  \
 -	  condvar1.pass  condvar1_1.pass  condvar1_2.pass  condvar2.pass  condvar2_1.pass  \
 -	  exit1.pass  create1.pass  create2.pass  reuse1.pass  reuse2.pass  equal1.pass  \
 -	  kill1.pass  valid1.pass  valid2.pass  \
 -	  exit2.pass  exit3.pass  exit4.pass  exit5.pass  \
 -	  join0.pass  join1.pass  join2.pass join3.pass  \
 -	  mutex4.pass  mutex6.pass  mutex6n.pass  mutex6e.pass  mutex6r.pass  \
 -	  mutex6s.pass  mutex6es.pass  mutex6rs.pass  \
 -	  mutex7.pass  mutex7n.pass  mutex7e.pass  mutex7r.pass  \
 -	  mutex8.pass  mutex8n.pass  mutex8e.pass  mutex8r.pass  \
 -	  count1.pass  once1.pass  once2.pass  once3.pass  once4.pass  tsd1.pass  \
 -	  self2.pass  \
 -	  cancel1.pass  cancel2.pass  \
 -	  semaphore4.pass  semaphore4t.pass  \
 -	  delay1.pass  delay2.pass  eyal1.pass  \
 -	  condvar3.pass  condvar3_1.pass  condvar3_2.pass  condvar3_3.pass  \
 -	  condvar4.pass  condvar5.pass  condvar6.pass  \
 -	  condvar7.pass  condvar8.pass  condvar9.pass  \
 -	  errno1.pass  \
 -	  rwlock1.pass  rwlock2.pass  rwlock3.pass  rwlock4.pass  \
 -	  rwlock5.pass  rwlock6.pass  rwlock7.pass  rwlock8.pass  \
 -	  rwlock2_t.pass  rwlock3_t.pass  rwlock4_t.pass  rwlock5_t.pass  rwlock6_t.pass  rwlock6_t2.pass  \
 -	  context1.pass  \
 -	  cancel3.pass  cancel4.pass  cancel5.pass  cancel6a.pass  cancel6d.pass  \
 -	  cancel7.pass  cancel8.pass  \
 -	  cleanup0.pass  cleanup1.pass  cleanup2.pass  cleanup3.pass  \
 -	  priority1.pass priority2.pass inherit1.pass  \
 -	  spin1.pass  spin2.pass  spin3.pass  spin4.pass  \
 -	  barrier1.pass  barrier2.pass  barrier3.pass  barrier4.pass  barrier5.pass  \
 -	  exception1.pass  exception2.pass  exception3.pass  \
 -	  cancel9.pass create3.pass
 -
 -BENCHRESULTS = \
 -	  benchtest1.bench benchtest2.bench benchtest3.bench benchtest4.bench benchtest5.bench
 -
 -STATICRESULTS = \
 -	  self1.pass
 -
 -help:
 -	@ $(ECHO) Run one of the following command lines:
 -	@ $(ECHO) nmake clean VC    (to test using VC dll with VC (no EH) applications)
 -	@ $(ECHO) nmake clean VCX   (to test using VC dll with VC++ (EH) applications)
 -	@ $(ECHO) nmake clean VCE   (to test using the VCE dll with VC++ EH applications)
 -	@ $(ECHO) nmake clean VSE   (to test using VSE dll with VC (SEH) applications)
 -	@ $(ECHO) nmake clean VC-bench    (to benchtest using VC dll with C bench app)
 -	@ $(ECHO) nmake clean VCX-bench   (to benchtest using VC dll with C++ bench app)
 -	@ $(ECHO) nmake clean VCE-bench   (to benchtest using VCE dll with C++ bench app)
 -	@ $(ECHO) nmake clean VSE-bench   (to benchtest using VSE dll with SEH bench app)
 -	@ $(ECHO) nmake clean VC-static   (to test using VC static lib with VC (no EH) applications)
 -
 -all:
 -	@ nmake clean VC
 -	@ nmake clean VCX
 -	@ nmake clean VCE
 -	@ nmake clean VSE
 -	@ nmake clean VC-bench
 -
 -# This allows an individual test application to be made using the default lib.
 -# e.g. nmake clean test cancel3.exe
 -test: $(CPLIB) $(CPDLL) $(CPHDR) $(QAPC)
 -
 -tests: $(CPLIB) $(CPDLL) $(CPHDR) $(QAPC) $(PASSES)
 -	@ $(ECHO) ALL TESTS PASSED! Congratulations!
 -
 -benchtests: $(CPLIB) $(CPDLL) $(CPHDR) $(XXLIBS) $(BENCHRESULTS)
 -	@ $(ECHO) ALL BENCH TESTS DONE.
 -
 -statictests: $(CPLIB) $(CPDLL) $(CPHDR) $(STATICRESULTS)
 -	@ $(ECHO) ALL STATIC TESTS DONE.
 -	@ $(ECHO) Build and test the DLL to run all tests.
 -	@ $(ECHO) The static test only confirms that the .lib links correctly.
 -
 -sizes.pass: sizes.exe
 -	@ $(ECHO) ... Running $(TEST)$(DLL_VER) test: $*.exe
 -	@ .\$*.exe > SIZES.$(TEST)
 -	@ $(CAT) SIZES.$(TEST)
 -	@ $(ECHO) ...... Passed
 -	@ $(TOUCH) $*.pass
 -
 -$(PASSES): $*.exe
 -	@ $(ECHO) ... Running $(TEST) test: $*.exe
 -	@ .\$*.exe
 -	@ $(ECHO) ...... Passed
 -	@ $(TOUCH) $*.pass
 -
 -$(BENCHRESULTS): $*.exe
 -	@ $(ECHO) ... Running $(TEST) benchtest: $*.exe
 -	@ .\$*.exe
 -	@ $(ECHO) ...... Done
 -	@ $(TOUCH) $*.bench
 -
 -VCE:
 -	@ nmake TEST="$@" CPLIB="$(VCELIB)" CPDLL="$(VCEDLL)" EHFLAGS="$(VCEFLAGS)" tests
 -
 -VSE:	
 -	@ nmake TEST="$@" CPLIB="$(VSELIB)" CPDLL="$(VSEDLL)" EHFLAGS="$(VSEFLAGS)" tests
 -
 -VC:
 -	@ nmake TEST="$@" CPLIB="$(VCLIB)" CPDLL="$(VCDLL)" EHFLAGS="$(VCFLAGS)" tests
 -
 -VCX:
 -	@ nmake TEST="$@" CPLIB="$(VCLIB)" CPDLL="$(VCDLL)" EHFLAGS="$(VCXFLAGS)" tests
 -
 -VCE-bench:
 -	@ nmake TEST="$@" CPLIB="$(VCELIB)" CPDLL="$(VCEDLL)" EHFLAGS="$(VCEFLAGS)" XXLIBS="benchlib.o" benchtests
 -
 -VSE-bench:
 -	@ nmake TEST="$@" CPLIB="$(VSELIB)" CPDLL="$(VSEDLL)" EHFLAGS="$(VSEFLAGS)" XXLIBS="benchlib.o" benchtests
 -
 -VC-bench:
 -	@ nmake TEST="$@" CPLIB="$(VCLIB)" CPDLL="$(VCDLL)" EHFLAGS="$(VCFLAGS)" XXLIBS="benchlib.o" benchtests
 -
 -VCX-bench:
 -	@ nmake TEST="$@" CPLIB="$(VCLIB)" CPDLL="$(VCDLL)" EHFLAGS="$(VCXFLAGS)" XXLIBS="benchlib.o" benchtests
 -
 -VC-static:
 -	@ nmake TEST="$@" CPLIB="$(VCLIB)" CPDLL="" EHFLAGS="$(VCFLAGS) /DPTW32_STATIC_LIB" statictests
 -
 -.c.exe:
 -	@ $(ECHO) $(CC) $(EHFLAGS) $(CFLAGS) $(INCLUDES) $< /Fe$@ /link $(LFLAGS) $(CPLIB) $(XXLIBS)
 -	@ $(CC) $(EHFLAGS) $(CFLAGS) $(INCLUDES) $< /Fe$@ /link $(LFLAGS) $(CPLIB) $(XXLIBS)
 -
 -.c.o:
 -	@ $(ECHO) $(CC) $(EHFLAGS) /c $(CFLAGS) $(INCLUDES) $< /Fo$@
 -	@ $(CC) $(EHFLAGS) $(CFLAGS) /c $(INCLUDES) $< /Fo$@
 -
 -.c.i:
 -	@ $(CC) /P $(EHFLAGS) $(CFLAGS) $(INCLUDES) $<
 -
 -$(COPYFILES):
 -	@ $(ECHO) Copying $@
 -	@ $(CP) $(BUILD_DIR)\$@ .
 -
 -pthread.dll: $(CPDLL)
 -	@ $(CP) $(CPDLL) pthread.dll
 -	@ $(CP) $(CPLIB) pthread.lib
 -
 -clean:
 -	- $(RM) *.dll
 -	- $(RM) *.lib
 -	- $(RM) pthread.h
 -	- $(RM) semaphore.h
 -	- $(RM) sched.h
 -	- $(RM) *.e
 -	- $(RM) *.i
 -	- $(RM) *.obj
 -	- $(RM) *.pdb
 -	- $(RM) *.o
 -	- $(RM) *.asm
 -	- $(RM) *.exe
 -	- $(RM) *.pass
 -	- $(RM) *.bench
 -	- $(RM) *.log
 -
 -benchtest1.bench:
 -benchtest2.bench:
 -benchtest3.bench:
 -benchtest4.bench:
 -benchtest5.bench:
 -barrier1.pass:
 -barrier2.pass: barrier1.pass
 -barrier3.pass: barrier2.pass
 -barrier4.pass: barrier3.pass
 -barrier5.pass: barrier4.pass
 -cancel1.pass: create1.pass
 -cancel2.pass: cancel1.pass
 -cancel3.pass: context1.pass
 -cancel4.pass: cancel3.pass
 -cancel5.pass: cancel3.pass
 -cancel6a.pass: cancel3.pass
 -cancel6d.pass: cancel3.pass
 -cancel7.pass: kill1.pass
 -cancel8.pass: cancel7.pass
 -cleanup0.pass: cancel5.pass
 -cleanup1.pass: cleanup0.pass
 -cleanup2.pass: cleanup1.pass
 -cleanup3.pass: cleanup2.pass
 -condvar1.pass:
 -condvar1_1.pass: condvar1.pass
 -condvar1_2.pass: join2.pass
 -condvar2.pass: condvar1.pass
 -condvar2_1.pass: condvar2.pass join2.pass
 -condvar3.pass: create1.pass condvar2.pass
 -condvar3_1.pass: condvar3.pass join2.pass
 -condvar3_2.pass: condvar3_1.pass
 -condvar3_3.pass: condvar3_2.pass
 -condvar4.pass: create1.pass
 -condvar5.pass: condvar4.pass
 -condvar6.pass: condvar5.pass
 -condvar7.pass: condvar6.pass cleanup1.pass
 -condvar8.pass: condvar7.pass
 -condvar9.pass: condvar8.pass
 -context1.pass: cancel2.pass
 -count1.pass: join1.pass
 -create1.pass: mutex2.pass
 -create2.pass: create1.pass
 -create3.pass:
 -delay1.pass:
 -delay2.pass: delay1.pass
 -equal1.pass: create1.pass
 -errno1.pass: mutex3.pass
 -exception1.pass: cancel4.pass
 -exception2.pass: exception1.pass
 -exception3.pass: exception2.pass
 -exit1.pass:
 -exit2.pass: create1.pass
 -exit3.pass: create1.pass
 -exit4.pass:
 -exit5.pass: kill1.pass
 -eyal1.pass: tsd1.pass
 -inherit1.pass: join1.pass priority1.pass
 -join0.pass: create1.pass
 -join1.pass: create1.pass
 -join2.pass: create1.pass
 -join3.pass: join2.pass
 -kill1.pass: 
 -loadfree.pass: pthread.dll
 -mutex1.pass: self1.pass
 -mutex1n.pass: mutex1.pass
 -mutex1e.pass: mutex1.pass
 -mutex1r.pass: mutex1.pass
 -mutex2.pass: mutex1.pass
 -mutex2r.pass: mutex2.pass
 -mutex2e.pass: mutex2.pass
 -mutex3.pass: create1.pass
 -mutex3r.pass: mutex3.pass
 -mutex3e.pass: mutex3.pass
 -mutex4.pass: mutex3.pass
 -mutex5.pass:
 -mutex6.pass: mutex4.pass
 -mutex6n.pass: mutex4.pass
 -mutex6e.pass: mutex4.pass
 -mutex6r.pass: mutex4.pass
 -mutex6s.pass: mutex6.pass
 -mutex6rs.pass: mutex6r.pass
 -mutex6es.pass: mutex6e.pass
 -mutex7.pass: mutex6.pass
 -mutex7n.pass: mutex6n.pass
 -mutex7e.pass: mutex6e.pass
 -mutex7r.pass: mutex6r.pass
 -mutex8.pass: mutex7.pass
 -mutex8n.pass: mutex7n.pass
 -mutex8e.pass: mutex7e.pass
 -mutex8r.pass: mutex7r.pass
 -once1.pass: create1.pass
 -once2.pass: once1.pass
 -once3.pass: once2.pass
 -once4.pass: once3.pass
 -priority1.pass: join1.pass
 -priority2.pass: priority1.pass barrier3.pass
 -reuse1.pass: create2.pass
 -reuse2.pass: reuse1.pass
 -rwlock1.pass: condvar6.pass
 -rwlock2.pass: rwlock1.pass
 -rwlock3.pass: rwlock2.pass
 -rwlock4.pass: rwlock3.pass
 -rwlock5.pass: rwlock4.pass
 -rwlock6.pass: rwlock5.pass
 -rwlock7.pass: rwlock6.pass
 -rwlock8.pass: rwlock7.pass
 -rwlock2_t.pass: rwlock2.pass
 -rwlock3_t.pass: rwlock2_t.pass
 -rwlock4_t.pass: rwlock3_t.pass
 -rwlock5_t.pass: rwlock4_t.pass
 -rwlock6_t.pass: rwlock5_t.pass
 -rwlock6_t2.pass: rwlock6_t.pass
 -self1.pass:
 -self2.pass: create1.pass
 -semaphore1.pass:
 -semaphore2.pass:
 -semaphore3.pass: semaphore2.pass
 -semaphore4.pass: semaphore3.pass cancel1.pass
 -semaphore4t.pass: semaphore4.pass
 -sizes.pass:
 -spin1.pass:
 -spin2.pass: spin1.pass
 -spin3.pass: spin2.pass
 -spin4.pass: spin3.pass
 -tsd1.pass: join1.pass
 -valid1.pass: join1.pass
 -valid2.pass: valid1.pass
 -cancel9.pass: cancel8.pass
 +# Makefile for the pthreads test suite. +# If all of the .pass files can be created, the test suite has passed. +# +# -------------------------------------------------------------------------- +# +#      Pthreads-win32 - POSIX Threads Library for Win32 +#      Copyright(C) 1998 John E. Bossom +#      Copyright(C) 1999,2005 Pthreads-win32 contributors +#  +#      Contact Email: rpj@callisto.canberra.edu.au +#  +#      The current list of contributors is contained +#      in the file CONTRIBUTORS included with the source +#      code distribution. The list can also be seen at the +#      following World Wide Web location: +#      http://sources.redhat.com/pthreads-win32/contributors.html +#  +#      This library is free software; you can redistribute it and/or +#      modify it under the terms of the GNU Lesser General Public +#      License as published by the Free Software Foundation; either +#      version 2 of the License, or (at your option) any later version. +#  +#      This library 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 +#      Lesser General Public License for more details. +#  +#      You should have received a copy of the GNU Lesser General Public +#      License along with this library in the file COPYING.LIB; +#      if not, write to the Free Software Foundation, Inc., +#      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA +# + +DLL_VER	= 1 + +CP	= copy +RM	= erase +CAT	= type +MKDIR	= mkdir +TOUCH	= echo Passed > +ECHO	= @echo + +QAPC	= ..\QueueUserAPCEx\User\quserex.dll + +CPHDR	= pthread.h semaphore.h sched.h + +OPTIM	= /O2 /Ob0 + +XXLIBS	= ws2_32.lib + +# C++ Exceptions +VCEFLAGS	= /GX /TP /DPtW32NoCatchWarn /D__CLEANUP_CXX +VCELIB	= pthreadVCE$(DLL_VER).lib +VCEDLL	= pthreadVCE$(DLL_VER).dll +# Structured Exceptions +VSEFLAGS	= /D__CLEANUP_SEH +VSELIB	= pthreadVSE$(DLL_VER).lib +VSEDLL	= pthreadVSE$(DLL_VER).dll +# C cleanup code +VCFLAGS	= /D__CLEANUP_C +VCLIB	= pthreadVC$(DLL_VER).lib +VCDLL	= pthreadVC$(DLL_VER).dll +# C++ Exceptions in application - using VC version of pthreads dll +VCXFLAGS	= /GX /TP /D__CLEANUP_C + +# Defaults +CPLIB	= $(VCLIB) +CPDLL	= $(VCDLL) + +CFLAGS= $(OPTIM) /W3 /WX /MD /nologo /Yd /Zi +LFLAGS= /INCREMENTAL:NO +INCLUDES=-I. +BUILD_DIR=.. + +COPYFILES	= $(CPHDR) $(CPLIB) $(CPDLL) $(QAPC) + +TEST		= +EHFLAGS	= + +# If a test case returns a non-zero exit code to the shell, make will +# stop. + +PASSES= sizes.pass  loadfree.pass \ +	  self1.pass  mutex5.pass  \ +	  mutex1.pass  mutex1n.pass  mutex1e.pass  mutex1r.pass  \ +	  semaphore1.pass  semaphore2.pass  semaphore3.pass  \ +	  mutex2.pass  mutex3.pass  \ +	  mutex2r.pass  mutex2e.pass  mutex3r.pass  mutex3e.pass  \ +	  condvar1.pass  condvar1_1.pass  condvar1_2.pass  condvar2.pass  condvar2_1.pass  \ +	  exit1.pass  create1.pass  create2.pass  reuse1.pass  reuse2.pass  equal1.pass  \ +	  kill1.pass  valid1.pass  valid2.pass  \ +	  exit2.pass  exit3.pass  exit4.pass  exit5.pass  \ +	  join0.pass  join1.pass  join2.pass join3.pass  \ +	  mutex4.pass  mutex6.pass  mutex6n.pass  mutex6e.pass  mutex6r.pass  \ +	  mutex6s.pass  mutex6es.pass  mutex6rs.pass  \ +	  mutex7.pass  mutex7n.pass  mutex7e.pass  mutex7r.pass  \ +	  mutex8.pass  mutex8n.pass  mutex8e.pass  mutex8r.pass  \ +	  count1.pass  once1.pass  once2.pass  once3.pass  once4.pass  tsd1.pass  \ +	  self2.pass  \ +	  cancel1.pass  cancel2.pass  \ +	  semaphore4.pass  semaphore4t.pass  \ +	  delay1.pass  delay2.pass  eyal1.pass  \ +	  condvar3.pass  condvar3_1.pass  condvar3_2.pass  condvar3_3.pass  \ +	  condvar4.pass  condvar5.pass  condvar6.pass  \ +	  condvar7.pass  condvar8.pass  condvar9.pass  \ +	  errno1.pass  \ +	  rwlock1.pass  rwlock2.pass  rwlock3.pass  rwlock4.pass  \ +	  rwlock5.pass  rwlock6.pass  rwlock7.pass  rwlock8.pass  \ +	  rwlock2_t.pass  rwlock3_t.pass  rwlock4_t.pass  rwlock5_t.pass  rwlock6_t.pass  rwlock6_t2.pass  \ +	  context1.pass  \ +	  cancel3.pass  cancel4.pass  cancel5.pass  cancel6a.pass  cancel6d.pass  \ +	  cancel7.pass  cancel8.pass  \ +	  cleanup0.pass  cleanup1.pass  cleanup2.pass  cleanup3.pass  \ +	  priority1.pass priority2.pass inherit1.pass  \ +	  spin1.pass  spin2.pass  spin3.pass  spin4.pass  \ +	  barrier1.pass  barrier2.pass  barrier3.pass  barrier4.pass  barrier5.pass  \ +	  exception1.pass  exception2.pass  exception3.pass  \ +	  cancel9.pass create3.pass + +BENCHRESULTS = \ +	  benchtest1.bench benchtest2.bench benchtest3.bench benchtest4.bench benchtest5.bench + +STATICRESULTS = \ +	  self1.pass + +help: +	@ $(ECHO) Run one of the following command lines: +	@ $(ECHO) nmake clean VC    (to test using VC dll with VC (no EH) applications) +	@ $(ECHO) nmake clean VCX   (to test using VC dll with VC++ (EH) applications) +	@ $(ECHO) nmake clean VCE   (to test using the VCE dll with VC++ EH applications) +	@ $(ECHO) nmake clean VSE   (to test using VSE dll with VC (SEH) applications) +	@ $(ECHO) nmake clean VC-bench    (to benchtest using VC dll with C bench app) +	@ $(ECHO) nmake clean VCX-bench   (to benchtest using VC dll with C++ bench app) +	@ $(ECHO) nmake clean VCE-bench   (to benchtest using VCE dll with C++ bench app) +	@ $(ECHO) nmake clean VSE-bench   (to benchtest using VSE dll with SEH bench app) +	@ $(ECHO) nmake clean VC-static   (to test using VC static lib with VC (no EH) applications) + +all: +	@ nmake clean VC +	@ nmake clean VCX +	@ nmake clean VCE +	@ nmake clean VSE +	@ nmake clean VC-bench + +# This allows an individual test application to be made using the default lib. +# e.g. nmake clean test cancel3.exe +test: $(CPLIB) $(CPDLL) $(CPHDR) $(QAPC) + +tests: $(CPLIB) $(CPDLL) $(CPHDR) $(QAPC) $(PASSES) +	@ $(ECHO) ALL TESTS PASSED! Congratulations! + +benchtests: $(CPLIB) $(CPDLL) $(CPHDR) $(XXLIBS) $(BENCHRESULTS) +	@ $(ECHO) ALL BENCH TESTS DONE. + +statictests: $(CPLIB) $(CPDLL) $(CPHDR) $(STATICRESULTS) +	@ $(ECHO) ALL STATIC TESTS DONE. +	@ $(ECHO) Build and test the DLL to run all tests. +	@ $(ECHO) The static test only confirms that the .lib links correctly. + +sizes.pass: sizes.exe +	@ $(ECHO) ... Running $(TEST)$(DLL_VER) test: $*.exe +	@ .\$*.exe > SIZES.$(TEST) +	@ $(CAT) SIZES.$(TEST) +	@ $(ECHO) ...... Passed +	@ $(TOUCH) $*.pass + +$(PASSES): $*.exe +	@ $(ECHO) ... Running $(TEST) test: $*.exe +	@ .\$*.exe +	@ $(ECHO) ...... Passed +	@ $(TOUCH) $*.pass + +$(BENCHRESULTS): $*.exe +	@ $(ECHO) ... Running $(TEST) benchtest: $*.exe +	@ .\$*.exe +	@ $(ECHO) ...... Done +	@ $(TOUCH) $*.bench + +VCE: +	@ nmake TEST="$@" CPLIB="$(VCELIB)" CPDLL="$(VCEDLL)" EHFLAGS="$(VCEFLAGS)" tests + +VSE:	 +	@ nmake TEST="$@" CPLIB="$(VSELIB)" CPDLL="$(VSEDLL)" EHFLAGS="$(VSEFLAGS)" tests + +VC: +	@ nmake TEST="$@" CPLIB="$(VCLIB)" CPDLL="$(VCDLL)" EHFLAGS="$(VCFLAGS)" tests + +VCX: +	@ nmake TEST="$@" CPLIB="$(VCLIB)" CPDLL="$(VCDLL)" EHFLAGS="$(VCXFLAGS)" tests + +VCE-bench: +	@ nmake TEST="$@" CPLIB="$(VCELIB)" CPDLL="$(VCEDLL)" EHFLAGS="$(VCEFLAGS)" XXLIBS="benchlib.o" benchtests + +VSE-bench: +	@ nmake TEST="$@" CPLIB="$(VSELIB)" CPDLL="$(VSEDLL)" EHFLAGS="$(VSEFLAGS)" XXLIBS="benchlib.o" benchtests + +VC-bench: +	@ nmake TEST="$@" CPLIB="$(VCLIB)" CPDLL="$(VCDLL)" EHFLAGS="$(VCFLAGS)" XXLIBS="benchlib.o" benchtests + +VCX-bench: +	@ nmake TEST="$@" CPLIB="$(VCLIB)" CPDLL="$(VCDLL)" EHFLAGS="$(VCXFLAGS)" XXLIBS="benchlib.o" benchtests + +VC-static: +	@ nmake TEST="$@" CPLIB="$(VCLIB)" CPDLL="" EHFLAGS="$(VCFLAGS) /DPTW32_STATIC_LIB" statictests + +.c.exe: +	@ $(ECHO) $(CC) $(EHFLAGS) $(CFLAGS) $(INCLUDES) $< /Fe$@ /link $(LFLAGS) $(CPLIB) $(XXLIBS) +	@ $(CC) $(EHFLAGS) $(CFLAGS) $(INCLUDES) $< /Fe$@ /link $(LFLAGS) $(CPLIB) $(XXLIBS) + +.c.o: +	@ $(ECHO) $(CC) $(EHFLAGS) /c $(CFLAGS) $(INCLUDES) $< /Fo$@ +	@ $(CC) $(EHFLAGS) $(CFLAGS) /c $(INCLUDES) $< /Fo$@ + +.c.i: +	@ $(CC) /P $(EHFLAGS) $(CFLAGS) $(INCLUDES) $< + +$(COPYFILES): +	@ $(ECHO) Copying $@ +	@ $(CP) $(BUILD_DIR)\$@ . + +pthread.dll: $(CPDLL) +	@ $(CP) $(CPDLL) pthread.dll +	@ $(CP) $(CPLIB) pthread.lib + +clean: +	- $(RM) *.dll +	- $(RM) *.lib +	- $(RM) pthread.h +	- $(RM) semaphore.h +	- $(RM) sched.h +	- $(RM) *.e +	- $(RM) *.i +	- $(RM) *.obj +	- $(RM) *.pdb +	- $(RM) *.o +	- $(RM) *.asm +	- $(RM) *.exe +	- $(RM) *.pass +	- $(RM) *.bench +	- $(RM) *.log + +benchtest1.bench: +benchtest2.bench: +benchtest3.bench: +benchtest4.bench: +benchtest5.bench: +barrier1.pass: +barrier2.pass: barrier1.pass +barrier3.pass: barrier2.pass +barrier4.pass: barrier3.pass +barrier5.pass: barrier4.pass +cancel1.pass: create1.pass +cancel2.pass: cancel1.pass +cancel3.pass: context1.pass +cancel4.pass: cancel3.pass +cancel5.pass: cancel3.pass +cancel6a.pass: cancel3.pass +cancel6d.pass: cancel3.pass +cancel7.pass: kill1.pass +cancel8.pass: cancel7.pass +cleanup0.pass: cancel5.pass +cleanup1.pass: cleanup0.pass +cleanup2.pass: cleanup1.pass +cleanup3.pass: cleanup2.pass +condvar1.pass: +condvar1_1.pass: condvar1.pass +condvar1_2.pass: join2.pass +condvar2.pass: condvar1.pass +condvar2_1.pass: condvar2.pass join2.pass +condvar3.pass: create1.pass condvar2.pass +condvar3_1.pass: condvar3.pass join2.pass +condvar3_2.pass: condvar3_1.pass +condvar3_3.pass: condvar3_2.pass +condvar4.pass: create1.pass +condvar5.pass: condvar4.pass +condvar6.pass: condvar5.pass +condvar7.pass: condvar6.pass cleanup1.pass +condvar8.pass: condvar7.pass +condvar9.pass: condvar8.pass +context1.pass: cancel2.pass +count1.pass: join1.pass +create1.pass: mutex2.pass +create2.pass: create1.pass +create3.pass: +delay1.pass: +delay2.pass: delay1.pass +equal1.pass: create1.pass +errno1.pass: mutex3.pass +exception1.pass: cancel4.pass +exception2.pass: exception1.pass +exception3.pass: exception2.pass +exit1.pass: +exit2.pass: create1.pass +exit3.pass: create1.pass +exit4.pass: +exit5.pass: kill1.pass +eyal1.pass: tsd1.pass +inherit1.pass: join1.pass priority1.pass +join0.pass: create1.pass +join1.pass: create1.pass +join2.pass: create1.pass +join3.pass: join2.pass +kill1.pass:  +loadfree.pass: pthread.dll +mutex1.pass: self1.pass +mutex1n.pass: mutex1.pass +mutex1e.pass: mutex1.pass +mutex1r.pass: mutex1.pass +mutex2.pass: mutex1.pass +mutex2r.pass: mutex2.pass +mutex2e.pass: mutex2.pass +mutex3.pass: create1.pass +mutex3r.pass: mutex3.pass +mutex3e.pass: mutex3.pass +mutex4.pass: mutex3.pass +mutex5.pass: +mutex6.pass: mutex4.pass +mutex6n.pass: mutex4.pass +mutex6e.pass: mutex4.pass +mutex6r.pass: mutex4.pass +mutex6s.pass: mutex6.pass +mutex6rs.pass: mutex6r.pass +mutex6es.pass: mutex6e.pass +mutex7.pass: mutex6.pass +mutex7n.pass: mutex6n.pass +mutex7e.pass: mutex6e.pass +mutex7r.pass: mutex6r.pass +mutex8.pass: mutex7.pass +mutex8n.pass: mutex7n.pass +mutex8e.pass: mutex7e.pass +mutex8r.pass: mutex7r.pass +once1.pass: create1.pass +once2.pass: once1.pass +once3.pass: once2.pass +once4.pass: once3.pass +priority1.pass: join1.pass +priority2.pass: priority1.pass barrier3.pass +reuse1.pass: create2.pass +reuse2.pass: reuse1.pass +rwlock1.pass: condvar6.pass +rwlock2.pass: rwlock1.pass +rwlock3.pass: rwlock2.pass +rwlock4.pass: rwlock3.pass +rwlock5.pass: rwlock4.pass +rwlock6.pass: rwlock5.pass +rwlock7.pass: rwlock6.pass +rwlock8.pass: rwlock7.pass +rwlock2_t.pass: rwlock2.pass +rwlock3_t.pass: rwlock2_t.pass +rwlock4_t.pass: rwlock3_t.pass +rwlock5_t.pass: rwlock4_t.pass +rwlock6_t.pass: rwlock5_t.pass +rwlock6_t2.pass: rwlock6_t.pass +self1.pass: +self2.pass: create1.pass +semaphore1.pass: +semaphore2.pass: +semaphore3.pass: semaphore2.pass +semaphore4.pass: semaphore3.pass cancel1.pass +semaphore4t.pass: semaphore4.pass +sizes.pass: +spin1.pass: +spin2.pass: spin1.pass +spin3.pass: spin2.pass +spin4.pass: spin3.pass +tsd1.pass: join1.pass +valid1.pass: join1.pass +valid2.pass: valid1.pass +cancel9.pass: cancel8.pass | 
