INCLUDE = ../../../include
CC = gcc
CFLAGS = -g -Wall -I $(INCLUDE)
-COMMONSRC = $(SRCDIR)/word.o $(SRCDIR)/struct.o $(SRCDIR)/hash.o $(SRCDIR)/cmd.o $(SRCDIR)/cerr.o
+COMMONSRC = $(SRCDIR)/word.o $(SRCDIR)/struct.o $(SRCDIR)/hash.o $(SRCDIR)/cmd.o $(SRCDIR)/cmem.o $(SRCDIR)/cerr.o
ASSRC = $(SRCDIR)/assemble.o $(SRCDIR)/token.o $(SRCDIR)/label.o $(SRCDIR)/macro.o
EXECSRC = $(SRCDIR)/exec.o $(SRCDIR)/dump.o
+ifeq "$(UCLASS)" "ALL"
+ SRC = $(COMMONSRC) $(ASSRC) $(EXECSRC)
+endif
ifeq "$(UCLASS)" "AS"
SRC = $(COMMONSRC) $(ASSRC)
endif
@rm -f a.out 1.txt diff.txt report.txt
cleanall: clean
@rm -f 0.txt
-$(SRCDIR)/%.o: $(SRCDIR)/%.c
- @$(CC) -c $(CFLAGS) $<
a.out: $(SRC) $(TESTSRCFILE)
- @gcc $(CFLAGS) $(SRC) $(TESTSRCFILE)
+ @make -sC $(SRCDIR)
+ gcc $(CFLAGS) $(SRC) $(TESTSRCFILE)
0.txt 1.txt: a.out
@./a.out >$@ 2>&1
diff.txt: 1.txt