install -m 664 $(patsubst install_%,%,$@)/param.h \
        $(INCDIR)/$(patsubst install_%,%,$@)
 
+test :
+       cd test ; $(MAKE) $@
+
 clean :
        cd ca ; $(MAKE) $@
        cd file ; $(MAKE) $@
        cd psql ; $(MAKE) $@
        cd ora ; $(MAKE) $@
        cd tcl ; $(MAKE) $@
+       cd test ; $(MAKE) $@
 
 lib_clean :
        cd ca ; $(MAKE) $@
        cd psql ; $(MAKE) $@
        cd ora ; $(MAKE) $@
        cd tcl ; $(MAKE) $@
+       cd test ; $(MAKE) bin_clean
 
 
-CC = gcc
 MV = mv
 
 # Channel Access test
 
 suite : $(addsuffix _suite,$(LIBS))
 
+test : $(addsuffix _suite_new,$(LIBS))
+       time ./ca_suite > test_protocol.txt
+       time ./file_suite >> test_protocol.txt
+       time ./ora_suite >> test_protocol.txt
+       time ./psql_suite >> test_protocol.txt
+       time ./tcl_suite >> test_protocol.txt
+
 $(addsuffix _suite_new,$(LIBS)) :
        $(RM) $(patsubst %_new,%,$@)
        $(MAKE) $(patsubst %_new,%,$@)
        $(CC) -c $(CFLAGS) $(patsubst %.o,%.c,$@) -o $@
 
 clean :
-       rm -f *.o
+       rm -f *.o test_protocol.txt
 
 bin_clean :
-       rm *.o *_suite
+       rm *.o *_suite test_protocol.txt
 
 
        param = malloc(sizeof(Param));
        conParam(param);
 
+       printf("================================================================================\n");
+       printf("%s : Starting test ...\n", argv[0]);
        printf("================================================================================\n");
        errors -= test1("Test 1", param);
        errors -= test2("Test 2", param);