CC = gcc
-CFLAGS = -O2
+CFLAGS = -ggdb -Wall
YACC = bison -y -d
LEX = flex -i
LEXLIB =
-xa_asm: xa_main.o xa_asm.tab.o xa_asm.lex.o xa_dasm.o
- $(CC) -o xa_asm xa_main.o xa_asm.tab.o xa_asm.lex.o xa_dasm.o $(LEXLIB)
- strip xa_asm
+all: xa_rasm xa_link
-xa_asm.lex.o: xa_asm.lex.c xa_asm.tab.h xa_main.h
- $(CC) $(CFLAGS) -c xa_asm.lex.c
+OBJECTS = xa_main.o xa_rasm.tab.o xa_rasm.lex.o
-xa_asm.tab.o: xa_asm.tab.c xa_asm.tab.h xa_main.h
- $(CC) $(CFLAGS) -c xa_asm.tab.c
+xa_rasm: $(OBJECTS)
+ $(CC) -o xa_rasm $(OBJECTS) $(LEXLIB)
+ #strip xa_rasm
-xa_main.o: xa_main.c xa_main.h
- $(CC) $(CFLAGS) -Wall -c xa_main.c
+xa_rasm.lex.o: xa_rasm.lex.c xa_rasm.tab.h xa_main.h
+ $(CC) $(CFLAGS) -c xa_rasm.lex.c
+
+xa_rasm.tab.o: xa_rasm.tab.c xa_rasm.tab.h xa_main.h
+ $(CC) $(CFLAGS) -c xa_rasm.tab.c
-xa_dasm.o: xa_dasm.c
- $(CC) $(CFLAGS) -Wall -c xa_dasm.c
+xa_main.o: xa_main.c xa_main.h xa_version.h
+ $(CC) $(CFLAGS) -Wall -c xa_main.c
-xa_asm.tab.c xa_asm.tab.h: xa_asm.y
- $(YACC) xa_asm.y
- mv y.tab.c xa_asm.tab.c
- mv y.tab.h xa_asm.tab.h
+xa_link.o: xa_link.c xa_main.h xa_version.h
+ $(CC) $(CFLAGS) -Wall -c xa_link.c
-xa_asm.lex.c: xa_asm.l
- $(LEX) xa_asm.l
- mv lex.yy.c xa_asm.lex.c
+xa_rasm.tab.c xa_rasm.tab.h: xa_rasm.y
+ $(YACC) xa_rasm.y
+ mv y.tab.c xa_rasm.tab.c
+ mv y.tab.h xa_rasm.tab.h
-all: touch xa_asm
+xa_rasm.lex.c: xa_rasm.l
+ $(LEX) xa_rasm.l
+ mv lex.yy.c xa_rasm.lex.c
-touch:
- touch xa_asm.y xa_asm.l xa_dasm.c
+all: xa_rasm
clean:
rm -f *.tab.c *.tab.h *.lex.c *.o *.bak y.output *.hex *.lst *.obj
- rm -f xa_asm core *~
+ rm -f xa_rasm xa_link core *~