view Makefile @ 18:230d5ca49f9f

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 28 Oct 2016 15:16:55 +0900
parents e5c8532ab38d
children 0a1507c12f9a
line wrap: on
line source

TEST = s-imac64-r

CC = clang
# CFLAGS = -g -O  -Wall
CFLAGS = -g -O0  -Wall
YYFLAGS = -v
YACC = bison
COMPILER = s-compile.o s-token.o
# COMPILER = s-tree-compile.o s-token.o
# COMPILER = s-yacc.o s-token.o

# TARGET =  token calc  s-calc s-prefix s-rpn s-09 s-intel s-intel-r s-sparc s-rs6k s-m68k s-ppc s-imac
TARGET =  token calc  s-calc s-calc-left s-prefix s-rpn s-intel s-intel-r s-sparc s-ppc s-imac s-imac64 s-imac64-r # s-llvm
TARGET =  s-llvm

all:     $(TARGET)

token:     token.o s-token.o
	$(CC) $(CFLAGS)  -o $@ $^

calc:  calc.c
	$(CC) $(CFLAGS)  -o $@ $^

s-calc:   s-calc-r.c s-token.o
	$(CC) $(CFLAGS)  -o $@ $^

s-calc-left:   s-calc.c s-token.o
	$(CC) $(CFLAGS)  -o $@ $^

s-tree:   s-tree.c s-token.o
	$(CC) $(CFLAGS)  -o $@ $^

s-prefix:      s-prefix.o s-code-print.o  s-token.o
	$(CC) $(CFLAGS)  -o $@ $^
s-rpn:      $(COMPILER) s-code-print.o  
	$(CC) $(CFLAGS)  -o $@ $^
s-ppc:      $(COMPILER) s-code-ppc.o  
	$(CC) $(CFLAGS)  -o $@ $^
s-09:      $(COMPILER) s-code-09.o  
	$(CC) $(CFLAGS)  -o $@ $^
s-intel:   $(COMPILER) s-code-intel.o  
	$(CC) $(CFLAGS)  -o $@ $^
s-intel-r:   $(COMPILER) s-code-intel-r.o  
	$(CC) $(CFLAGS)  -o $@ $^
s-imac:   $(COMPILER) s-code-intel-mac.o  
	$(CC) $(CFLAGS)  -o $@ $^
s-imac64:   $(COMPILER) s-code-intel64-mac.o  
	$(CC) $(CFLAGS)  -o $@ $^
s-imac64-r:   $(COMPILER) s-code-intel64-mac-r.o  
	$(CC) $(CFLAGS)  -o $@ $^
s-llvm:   $(COMPILER) s-code-llvm.o
	$(CC) $(CFLAGS)  -o $@ $^
s-sparc:    $(COMPILER) s-code-sparc.o  
	$(CC) $(CFLAGS)  -o $@ $^
s-rs6k:    $(COMPILER) s-code-rs6k.o  
	$(CC) $(CFLAGS)  -o $@ $^
s-rs6k-r:    $(COMPILER) s-code-rs6k-r.o  
	$(CC) $(CFLAGS)  -o $@ $^
s-m68k:    $(COMPILER) s-code-m68k.o  
	$(CC) $(CFLAGS)  -o $@ $^
s-yacc.o: 	s-yacc.y
	$(YACC) $(YYFLAGS) s-yacc.y
	# mv y.tab.c s-yacc.c
	mv s-yacc.tab.c s-yacc.c
	$(CC) -c s-yacc.c

test:     $(TEST)
	./$(TEST) < s-input.txt > s-output.s
	$(CC) s-output.s
	./a.out

testll:     $(TEST)
	./$(TEST) < s-input.txt > s-output.ll
	$(CC) s-output.ll
	./a.out

MC09EMU = ../emulator/util09/v09
MC09ASM = ../emulator/util09/a09
test-09:    s-09
	./s-09 < s-input.txt > s-output.a09
	$(MC09ASM) s-output.a09
	$(MC09EMU) s-output

tar:
	( cd ..; tar zcf compiler-examples.tgz --exclude CVS compiler-examples )

clean:
	rm -rf *.o  $(TARGET) a.out s-output.s s-output.a09 s-output  *.dSYM *.s
	rm -f s-yacc.c y.tab.c y.tab.h

# DO NOT DELETE

s-calc.o: s-compile.h
s-code-09.o: s-compile.h
s-code-intel-mac.o: s-compile.h
s-code-intel-r.o: s-compile.h
s-code-intel.o: s-compile.h
s-code-intel64-mac-r.o: s-compile.h
s-code-intel64-mac.o: s-compile.h
s-code-llvm.o: s-compile.h
s-code-m68k.o: s-compile.h
s-code-ppc.o: s-compile.h
s-code-print.o: s-compile.h
s-code-rs6k-r.o: s-compile.h
s-code-rs6k.o: s-compile.h
s-code-sparc.o: s-compile.h
s-compile.o: s-compile.h
s-prefix.o: s-compile.h
s-token.o: s-compile.h
s-tree-compile.o: s-compile.h
s-yacc.o: s-compile.h
token.o: s-compile.h