1 # Regression testing Makefile for Pic Port of SDCC
5 # T. Scott Dattalo scott@dattalo.com
7 # This makefile provides a means by which the output
8 # of the SDCC Compiler can be tested. This version
9 # is unique to the PIC (as in Microchip PIC) port.
10 # As such it requires the following software:
12 # gpasm version 0.8.10 (or greater)
13 # gpsim version 0.20.7 (or greater)
18 # - without any options the whole regression test is
19 # performed. The results are placed into a log file
20 # (defined by $LOGFILE).
23 # - Creates .asm files by compiling the .c files
26 # - Creates .cod files by assembling the .asm files
27 # (.cod files are symbolic files compatible with
28 # MPASM, Microchip's assembler)
31 # - Creates .stc files which are script files for
35 # - removes all of the intermediate files created
40 # - removes either the .stc, .asm, or .cod files
45 .SUFFIXES: .asm .c .cod .stc
47 # Results of the test are placed here:
50 # Script file for creating gpsim scripts
51 CREATESTC = create_stc
53 # Script file for invoking gpsim
56 # List the C files to be test here:
66 COD := $(patsubst %.c, %.cod, $(SRC))
67 ASM := $(patsubst %.c, %.asm, $(SRC))
68 STC := $(patsubst %.c, %.stc, $(SRC))
73 # The asm files are generated by sdcc
77 # The .cod files are generated by gpasm
78 # these get loaded by gpsim.
82 # The .stc files are script files for gpsim
84 ./$(CREATESTC) $*.cod $*.stc
86 # this will also make .stc files
90 # now for the dependencies
100 if [ -n "$(STC)" ]; then \
101 stcfiles="$(STC)" ; \
102 for f in $$stcfiles ; do \
103 ./$(SIMULATE) $$f $(LOGFILE); \
106 echo "Done - Results are in $(LOGFILE)"
110 for f in $$files ; do \
111 if [ -f $$f ]; then rm $$f; fi \
116 for f in $$files ; do \
117 if [ -f $$f ]; then rm $$f; fi \
122 for f in $$files ; do \
123 if [ -f $$f ]; then rm $$f; fi \
126 clean: cleancod cleanasm cleanstc
127 if [ -f "$(LOGFILE)" ]; then rm $(LOGFILE); fi