# 
# Pour générer : make [test|doc/clean] 
# programmes de test----^    |   ^-- nettoyage  
#                            ^-- doc
# choix d'une commutation de contexte
#FLAGCTX = _SETJMP_SPARC32_
#FLAGCTX =   _SETJMP_LINUX_IA32_
#FLAGCTX = _ARCH_IA32_

FLAGCTX =   _SETJMP_LINUX_IA32_

# flag de compilation
CFLAG = -D_REENTRANT  -D$(FLAGCTX) 

FilesC =  mask.c io.c list.c interrupt.c countdown.c  mem.c thread.c contextswitch.c sema.c 
FilesH =   mem.h io.h list.h mask.h interrupt.h countdown.h  thread.h contextswitch.h sema.h 

inspect_stack :inspect_stack.c
	gcc -g inspect_stack.c -o inspect_stack

Cstack.h : inspect_stack
	inspect_stack

test:	Cstack.h $(FilesC) $(FilesH) 
	gcc -g   -I. $(CFLAG) $(FilesC) philo.c -o philo
	gcc -g   -I. $(CFLAG)  $(FilesC) testcase0.c -o testcase0
	gcc -g   -I. $(CFLAG) $(FilesC) testcase1.c -o testcase1

doc: 	$(FilesC) $(FilesH) Cstack.h Doxyfile doxy.txt
	cp -f Doxyfile DD
	echo "PREDEFINED =  _USE_SETJMP_SOLARIS_SPARC32_   _USE_SETJMP_LINUX_IA32_  _USE_ARCH_IA32_" >> DD  
	doxygen  DD
	rm -f DD
	
clean :
	rm -f  *.o Cstack.h philo testcase0 testcase1 inspect_stack
