-COMMONSRC = word.o struct.o hash.o cmd.o cerr.o
-ASSRC = assemble.o token.o label.o macro.o
-EXECSRC = exec.o dump.o
-.PHPNY: all clean
-all: ../casl2 ../comet2 ../dumpword TAGS
-../casl2: casl2.o $(COMMONSRC) $(ASSRC) $(EXECSRC)
+WORDOBJ = word.o
+HASHOBJ = hash.o
+CMEMOBJ = cmem.o
+CERROBJ = cerr.o
+COMMONOBJ = $(WORDOBJ) $(HASHOBJ) $(CMEMOBJ) $(CERROBJ) struct.o cmd.o
+ASOBJ = assemble.o token.o label.o macro.o
+EXECOBJ = exec.o dump.o
+COMMONHEAD = $(INCLUDE)/casl2.h $(INCLUDE)/word.h $(INCLUDE)/hash.h $(INCLUDE)/cmem.h $(INCLUDE)/cerr.h
+ASHEAD = $(INCLUDE)/assemble.h
+EXECHEAD = $(INCLUDE)/exec.h
+
+.PHONY: all clean
+
+all: ../casl2 ../comet2 ../dumpword
+
+../casl2: casl2.o $(COMMONOBJ) $(ASOBJ) $(EXECOBJ)