CP = copy RM = erase MKDIR = mkdir TOUCH = echo Passed > ECHO = @echo CPHDR = pthread.h semaphore.h sched.h #OPTIM = /O2 /Ob2 OPTIM = # C++ Exceptions VCEFLAGS = /GX /TP /DPtW32NoCatchWarn /D__CLEANUP_CXX VCELIB = ../lib/pthreadVCE.lib VCEDLL = pthreadVCE.dll # Structured Exceptions VSEFLAGS = /D__CLEANUP_SEH VSELIB = ../lib/pthreadVSE.lib VSEDLL = pthreadVSE.dll # C cleanup code VCFLAGS = /D__CLEANUP_C VCLIB = ../lib/pthreadVC.lib VCDLL = pthreadVC.dll # C++ Exceptions in application - using VC version of pthreads dll VCXFLAGS = /GX /TP /D__CLEANUP_C CFLAGS= $(OPTIM) /W3 /WX /MD /nologo /Yd /Zi -D_WIN32_WINNT=0x400 LFLAGS= /INCREMENTAL:NO INCLUDES=-I. -I../include COPYFILES = $(CPHDR) $(CPLIB) $(CPDLL) TEST = condvar10.exe EHFLAGS = default: VC VCE: @ nmake CPLIB="$(VCELIB)" CPDLL="$(VCEDLL)" EHFLAGS="$(VCEFLAGS)" $(TEST) VSE: @ nmake CPLIB="$(VSELIB)" CPDLL="$(VSEDLL)" EHFLAGS="$(VSEFLAGS)" $(TEST) VC: @ nmake CPLIB="$(VCLIB)" CPDLL="$(VCDLL)" EHFLAGS="$(VCFLAGS)" $(TEST) VCX: @ nmake CPLIB="$(VCLIB)" CPDLL="$(VCDLL)" EHFLAGS="$(VCXFLAGS)" $(TEST) .c.exe: @ $(ECHO) $(CC) $(EHFLAGS) $(CFLAGS) $(INCLUDES) $< /Fe$@ /link $(LFLAGS) $(CPLIB) @ $(CC) $(EHFLAGS) $(CFLAGS) $(INCLUDES) $< /Fe$@ /link $(LFLAGS) $(CPLIB) .c.i: @ $(CC) /P $(VCEFLAGS) $(CFLAGS) $(INCLUDES) $< $(COPYFILES): @ $(ECHO) Copying $@ @ $(CP) $(BUILD_DIR)\$@ . pthread.dll: @ $(CP) $(CPDLL) $*.dll @ $(CP) $(CPLIB) $*.lib clean: - $(RM) *.e - $(RM) *.i - $(RM) *.obj - $(RM) *.pdb - $(RM) *.o - $(RM) *.asm - $(RM) *.exe - $(RM) *.log