Index: Makefile.am
===================================================================
--- Makefile.am	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ Makefile.am	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -21,4 +21,5 @@
 
 SUBDIRS = driver src . @LIBCFA_TARGET_DIRS@
+DIST_SUBDIRS = driver src . libcfa benchmark longrun_tests tests tools tools/prettyprinter
 
 @LIBCFA_TARGET_MAKEFILES@ : Makefile $(srcdir)/libcfa/configure
@@ -32,4 +33,6 @@
 
 man1_MANS = doc/man/cfa.1
+
+EXTRA_DIST = LICENSE doc/man/cfa.1 libcfa/configure automake
 
 debug=yes
Index: benchmark/Makefile.am
===================================================================
--- benchmark/Makefile.am	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ benchmark/Makefile.am	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -66,5 +66,5 @@
 # Dummy hack tricks
 EXTRA_PROGRAMS = dummy # build but do not install
-dummy_SOURCES = dummyC.c dummyCXX.cpp
+nodist_dummy_SOURCES = dummyC.c dummyCXX.cpp
 
 dummyC.c:
@@ -80,5 +80,8 @@
 ## =========================================================================================================
 
-all : basic$(EXEEXT) ctxswitch$(EXEEXT) mutex$(EXEEXT) schedint$(EXEEXT) schedext$(EXEEXT) creation$(EXEEXT)
+# all is used by make dist so ignore it
+all:
+
+all-bench : basic$(EXEEXT) ctxswitch$(EXEEXT) mutex$(EXEEXT) schedint$(EXEEXT) schedext$(EXEEXT) creation$(EXEEXT)
 
 basic_loop_DURATION = 15000000000
@@ -476,5 +479,5 @@
 ## =========================================================================================================
 
-compile$(EXEEXT) :		\
+bcompile$(EXEEXT) :		\
 	compile-array.make	\
 	compile-attributes.make	\
Index: libcfa/Makefile.am
===================================================================
--- libcfa/Makefile.am	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ libcfa/Makefile.am	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -16,4 +16,4 @@
 
 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names
-ACLOCAL_AMFLAGS  = -I automake
+ACLOCAL_AMFLAGS  = -I ../automake
 SUBDIRS = prelude src      # order important
Index: libcfa/configure.ac
===================================================================
--- libcfa/configure.ac	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ libcfa/configure.ac	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -4,6 +4,6 @@
 AC_PREREQ([2.68])
 AC_INIT([cfa-cc],[1.0.0.0],[cforall@plg.uwaterloo.ca])
-AC_CONFIG_AUX_DIR([automake])
-AC_CONFIG_MACRO_DIRS([automake])
+AC_CONFIG_AUX_DIR([../automake])
+AC_CONFIG_MACRO_DIRS([../automake])
 AM_SILENT_RULES([yes])
 
Index: libcfa/prelude/Makefile.am
===================================================================
--- libcfa/prelude/Makefile.am	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ libcfa/prelude/Makefile.am	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -17,9 +17,11 @@
 # create object files in directory with source files
 AUTOMAKE_OPTIONS = foreign subdir-objects
-ACLOCAL_AMFLAGS  = -I automake
+ACLOCAL_AMFLAGS  = -I ../automake
 
 # put into lib for now
 cfalibdir = ${CFA_LIBDIR}
 cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c defines.hfa
+
+EXTRA_DIST = bootloader.cf builtins.c builtins.def extras.c extras.regx extras.regx2 prelude-gen.cc prototypes.awk prototypes.c prototypes.sed sync-builtins.cf
 
 CC = @LOCAL_CFACC@
Index: libcfa/src/Makefile.am
===================================================================
--- libcfa/src/Makefile.am	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ libcfa/src/Makefile.am	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -17,5 +17,5 @@
 # create object files in directory with source files
 AUTOMAKE_OPTIONS = foreign subdir-objects
-ACLOCAL_AMFLAGS  = -I automake
+ACLOCAL_AMFLAGS  = -I ../automake
 
 include $(top_srcdir)/../tools/build/cfa.make
@@ -31,5 +31,5 @@
 # AM_CFAFLAGS for only cfa source
 # use -no-include-stdhdr to prevent rebuild cycles
-# The built sources must not depend on the installed headers
+# The built sources must not depend on the installed inst_headers_src
 AM_CFAFLAGS = -quiet -cfalib -I$(srcdir)/stdhdr $(if $(findstring ${gdbwaittarget}, ${@}), -XCFA --gdb) @CONFIG_CFAFLAGS@
 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC -fexceptions -pthread @ARCH_FLAGS@ @CONFIG_CFLAGS@
@@ -39,31 +39,90 @@
 #----------------------------------------------------------------------------------------------------------------
 if BUILDLIB
-headers_nosrc = bitmanip.hfa exception.hfa math.hfa gmp.hfa time_t.hfa clock.hfa \
-		bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa \
-		containers/list.hfa containers/stackLockFree.hfa concurrency/iofwd.hfa
+inst_headers_nosrc = \
+	bitmanip.hfa \
+	clock.hfa \
+	exception.hfa \
+	gmp.hfa \
+	math.hfa \
+	time_t.hfa \
+	bits/align.hfa \
+	bits/containers.hfa \
+	bits/debug.hfa \
+	bits/defs.hfa \
+	bits/locks.hfa \
+	concurrency/iofwd.hfa \
+	containers/list.hfa \
+	containers/stackLockFree.hfa
 
-headers = common.hfa fstream.hfa heap.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa \
-		time.hfa stdlib.hfa parseargs.hfa \
-		containers/maybe.hfa containers/pair.hfa containers/result.hfa containers/vector.hfa
+inst_headers_src = \
+	common.hfa \
+	fstream.hfa \
+	heap.hfa \
+	iostream.hfa \
+	iterator.hfa \
+	limits.hfa \
+	parseargs.hfa \
+	rational.hfa \
+	stdlib.hfa \
+	time.hfa \
+	containers/maybe.hfa \
+	containers/pair.hfa \
+	containers/result.hfa \
+	containers/vector.hfa
 
-libsrc = startup.cfa interpose.cfa bits/debug.cfa assert.cfa exception.c virtual.c ${headers:.hfa=.cfa}
+libsrc = ${inst_headers_src} ${inst_headers_src:.hfa=.cfa} \
+	assert.cfa \
+	bits/algorithm.hfa \
+	bits/debug.cfa \
+	exception.c \
+	exception.h \
+	interpose.cfa \
+	lsda.h \
+	startup.cfa \
+	startup.hfa \
+	virtual.c \
+	virtual.h
 
 # not all platforms support concurrency, add option do disable it
-thread_headers_nosrc = bits/random.hfa concurrency/invoke.h concurrency/kernel/fwd.hfa
+inst_thread_headers_nosrc = \
+	bits/random.hfa \
+	concurrency/invoke.h \
+	concurrency/kernel/fwd.hfa
 
-thread_headers = concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa \
-		concurrency/monitor.hfa concurrency/mutex.hfa concurrency/exception.hfa
+inst_thread_headers_src = \
+	concurrency/coroutine.hfa \
+	concurrency/exception.hfa \
+	concurrency/kernel.hfa \
+	concurrency/monitor.hfa \
+	concurrency/mutex.hfa \
+	concurrency/thread.hfa
 
-thread_libsrc = concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa \
-		concurrency/invoke.c concurrency/io.cfa concurrency/iocall.cfa \
-		concurrency/io/setup.cfa \
-		concurrency/kernel/startup.cfa concurrency/preemption.cfa \
-		concurrency/ready_queue.cfa concurrency/stats.cfa \
-		${thread_headers:.hfa=.cfa}
+thread_libsrc = ${inst_thread_headers_src} ${inst_thread_headers_src:.hfa=.cfa} \
+	bits/signal.hfa \
+	concurrency/alarm.cfa \
+	concurrency/alarm.hfa \
+	concurrency/CtxSwitch-@ARCHITECTURE@.S \
+	concurrency/invoke.c \
+	concurrency/io.cfa \
+	concurrency/io/setup.cfa \
+	concurrency/io/types.hfa \
+	concurrency/iocall.cfa \
+	concurrency/iofwd.hfa \
+	concurrency/kernel_private.hfa \
+	concurrency/kernel/startup.cfa \
+	concurrency/preemption.cfa \
+	concurrency/preemption.hfa \
+	concurrency/ready_queue.cfa \
+	concurrency/ready_subqueue.hfa \
+	concurrency/snzi.hfa \
+	concurrency/stats.cfa \
+	concurrency/stats.hfa \
+	concurrency/stats.hfa
+
 else
-headers =
-thread_headers =
-headers_nosrc =
-thread_headers_nosrc =
+inst_headers_src =
+inst_thread_headers_src =
+inst_headers_nosrc =
+inst_thread_headers_nosrc =
 libsrc =
 endif
@@ -115,5 +174,6 @@
 
 #----------------------------------------------------------------------------------------------------------------
-libcfa_la_SOURCES = prelude.cfa ${libsrc}
+libcfa_la_SOURCES = ${libsrc}
+nodist_libcfa_la_SOURCES = prelude.cfa
 libcfa_la_LDFLAGS = -version-info @CFA_VERSION@
 
@@ -124,5 +184,6 @@
 
 cfa_includedir = $(CFA_INCDIR)
-nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc} ${thread_headers} ${thread_headers_nosrc}
+nobase_cfa_include_HEADERS = ${stdhdr} ${inst_headers_src} ${inst_headers_nosrc} ${inst_thread_headers_src} ${inst_thread_headers_nosrc}
+EXTRA_DIST = stdhdr
 
 #----------------------------------------------------------------------------------------------------------------
Index: src/AST/module.mk
===================================================================
--- src/AST/module.mk	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/AST/module.mk	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -17,21 +17,53 @@
 SRC_AST = \
 	AST/AssertAcyclic.cpp \
+	AST/AssertAcyclic.hpp \
 	AST/Attribute.cpp \
+	AST/Attribute.hpp \
+	AST/Bitfield.hpp \
+	AST/Chain.hpp \
 	AST/Convert.cpp \
+	AST/Convert.hpp \
+	AST/Copy.hpp \
+	AST/CVQualifiers.hpp \
 	AST/Decl.cpp \
+	AST/Decl.hpp \
 	AST/DeclReplacer.cpp \
+	AST/DeclReplacer.hpp \
+	AST/Eval.hpp \
 	AST/Expr.cpp \
+	AST/Expr.hpp \
 	AST/ForallSubstitutionTable.cpp \
+	AST/ForallSubstitutionTable.hpp \
+	AST/ForallSubstitutor.hpp \
+	AST/FunctionSpec.hpp \
+	AST/Fwd.hpp \
 	AST/GenericSubstitution.cpp \
+	AST/GenericSubstitution.hpp \
 	AST/Init.cpp \
+	AST/Init.hpp \
+	AST/Label.hpp \
 	AST/LinkageSpec.cpp \
+	AST/LinkageSpec.hpp \
 	AST/Node.cpp \
+	AST/Node.hpp \
+	AST/ParseNode.hpp \
 	AST/Pass.cpp \
+	AST/Pass.hpp \
+	AST/Pass.impl.hpp \
+	AST/Pass.proto.hpp \
 	AST/Print.cpp \
+	AST/Print.hpp \
 	AST/Stmt.cpp \
+	AST/Stmt.hpp \
+	AST/StorageClasses.hpp \
 	AST/SymbolTable.cpp \
+	AST/SymbolTable.hpp \
 	AST/Type.cpp \
+	AST/Type.hpp \
 	AST/TypeEnvironment.cpp \
-	AST/TypeSubstitution.cpp
+	AST/TypeEnvironment.hpp \
+	AST/TypeSubstitution.cpp \
+	AST/TypeSubstitution.hpp \
+	AST/Visitor.hpp
 
 SRC += $(SRC_AST)
Index: src/CodeGen/module.mk
===================================================================
--- src/CodeGen/module.mk	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/CodeGen/module.mk	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -20,8 +20,13 @@
 SRC_CODEGEN = \
 	CodeGen/CodeGenerator.cc \
+	CodeGen/CodeGenerator.h \
 	CodeGen/FixMain.cc \
+	CodeGen/FixMain.h \
 	CodeGen/GenType.cc \
-	CodeGen/OperatorTable.cc
+	CodeGen/GenType.h \
+	CodeGen/OperatorTable.cc \
+	CodeGen/OperatorTable.h \
+	CodeGen/Options.h
 
-SRC += $(SRC_CODEGEN) CodeGen/Generate.cc CodeGen/FixNames.cc
+SRC += $(SRC_CODEGEN) CodeGen/Generate.cc CodeGen/Generate.h CodeGen/FixNames.cc CodeGen/FixNames.h
 SRCDEMANGLE += $(SRC_CODEGEN)
Index: src/CodeTools/module.mk
===================================================================
--- src/CodeTools/module.mk	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/CodeTools/module.mk	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -15,5 +15,9 @@
 ###############################################################################
 
-SRC += CodeTools/DeclStats.cc \
+SRC += \
+	CodeTools/DeclStats.cc \
+	CodeTools/DeclStats.h \
 	CodeTools/ResolvProtoDump.cc \
-	CodeTools/TrackLoc.cc
+	CodeTools/ResolvProtoDump.h \
+	CodeTools/TrackLoc.cc \
+	CodeTools/TrackLoc.h
Index: src/Common/module.mk
===================================================================
--- src/Common/module.mk	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/Common/module.mk	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -17,12 +17,33 @@
 SRC_COMMON = \
       Common/Assert.cc \
+      Common/CodeLocation.h \
+      Common/CompilerError.h \
+      Common/Debug.h \
+      Common/ErrorObjects.h \
       Common/Eval.cc \
+      Common/FilterCombos.h \
+      Common/Indenter.h \
       Common/PassVisitor.cc \
+      Common/PassVisitor.h \
+      Common/PassVisitor.impl.h \
+      Common/PassVisitor.proto.h \
+      Common/PersistentMap.h \
+      Common/ScopedMap.h \
       Common/SemanticError.cc \
+      Common/SemanticError.h \
+      Common/Stats.h \
+      Common/Stats/Base.h \
       Common/Stats/Counter.cc \
+      Common/Stats/Counter.h \
       Common/Stats/Heap.cc \
+      Common/Stats/Heap.h \
       Common/Stats/Stats.cc \
       Common/Stats/Time.cc \
-      Common/UniqueName.cc
+      Common/Stats/Time.h \
+      Common/UnimplementedError.h \
+      Common/UniqueName.cc \
+      Common/UniqueName.h \
+      Common/utility.h \
+      Common/VectorMap.h
 
 SRC += $(SRC_COMMON) Common/DebugMalloc.cc
Index: src/Concurrency/module.mk
===================================================================
--- src/Concurrency/module.mk	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/Concurrency/module.mk	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -15,5 +15,5 @@
 ###############################################################################
 
-SRC += Concurrency/Keywords.cc Concurrency/Waitfor.cc
+SRC += Concurrency/Keywords.cc Concurrency/Keywords.h Concurrency/Waitfor.cc Concurrency/Waitfor.h
 SRCDEMANGLE += Concurrency/Keywords.cc
 
Index: src/ControlStruct/module.mk
===================================================================
--- src/ControlStruct/module.mk	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/ControlStruct/module.mk	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -17,10 +17,15 @@
 SRC_CONTROLSTRUCT = \
 	ControlStruct/ForExprMutator.cc \
+	ControlStruct/ForExprMutator.h \
 	ControlStruct/LabelFixer.cc \
+	ControlStruct/LabelFixer.h \
 	ControlStruct/LabelGenerator.cc \
+	ControlStruct/LabelGenerator.h \
 	ControlStruct/MLEMutator.cc \
-	ControlStruct/Mutate.cc
+	ControlStruct/MLEMutator.h \
+	ControlStruct/Mutate.cc \
+	ControlStruct/Mutate.h
 
-SRC += $(SRC_CONTROLSTRUCT) ControlStruct/ExceptTranslate.cc
+SRC += $(SRC_CONTROLSTRUCT) ControlStruct/ExceptTranslate.cc ControlStruct/ExceptTranslate.h
 SRCDEMANGLE += $(SRC_CONTROLSTRUCT)
 
Index: src/GenPoly/module.mk
===================================================================
--- src/GenPoly/module.mk	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/GenPoly/module.mk	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -16,11 +16,20 @@
 
 SRC += GenPoly/Box.cc \
+       GenPoly/Box.h \
+       GenPoly/ErasableScopedMap.h \
+       GenPoly/FindFunction.cc \
+       GenPoly/FindFunction.h \
        GenPoly/GenPoly.cc \
+       GenPoly/GenPoly.h \
+       GenPoly/InstantiateGeneric.cc \
+       GenPoly/InstantiateGeneric.h \
+       GenPoly/Lvalue.cc \
+       GenPoly/Lvalue.h \
+       GenPoly/ScopedSet.h \
        GenPoly/ScrubTyVars.cc \
-       GenPoly/Lvalue.cc \
+       GenPoly/ScrubTyVars.h \
        GenPoly/Specialize.cc \
-       GenPoly/FindFunction.cc \
-       GenPoly/InstantiateGeneric.cc
+       GenPoly/Specialize.h
 
-SRCDEMANGLE += GenPoly/GenPoly.cc GenPoly/Lvalue.cc
+SRCDEMANGLE += GenPoly/GenPoly.cc GenPoly/GenPoly.h GenPoly/Lvalue.cc GenPoly/Lvalue.h
 
Index: src/InitTweak/module.mk
===================================================================
--- src/InitTweak/module.mk	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/InitTweak/module.mk	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -15,10 +15,18 @@
 ###############################################################################
 
-SRC += InitTweak/GenInit.cc \
+SRC += \
+	InitTweak/FixGlobalInit.cc \
+	InitTweak/FixGlobalInit.h \
 	InitTweak/FixInit.cc \
-	InitTweak/FixGlobalInit.cc \
-	InitTweak/InitTweak.cc
+	InitTweak/FixInit.h \
+	InitTweak/GenInit.cc \
+	InitTweak/GenInit.h \
+	InitTweak/InitTweak.cc \
+	InitTweak/InitTweak.h
 
-SRCDEMANGLE += InitTweak/GenInit.cc \
-	InitTweak/InitTweak.cc
+SRCDEMANGLE += \
+	InitTweak/GenInit.cc \
+	InitTweak/GenInit.h \
+	InitTweak/InitTweak.cc \
+	InitTweak/InitTweak.h
 
Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/Makefile.am	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -20,6 +20,8 @@
 
 SRC = main.cc \
+      CompilationState.cc \
+      CompilationState.h \
       MakeLibCfa.cc \
-      CompilationState.cc
+	MakeLibCfa.h
 
 SRCDEMANGLE = CompilationState.cc
@@ -66,4 +68,5 @@
 ___driver_cfa_cpp_SOURCES = $(SRC)
 ___driver_cfa_cpp_LDADD = -ldl $(LIBPROFILER) $(LIBTCMALLOC)
+EXTRA_DIST = include/cassert include/optional BasicTypes-gen.cc
 
 AM_CXXFLAGS = @HOST_FLAGS@ -Wno-deprecated -Wall -Wextra -DDEBUG_ALL -I./Parser -I$(srcdir)/Parser -I$(srcdir)/include -DYY_NO_INPUT -O3 -g -std=c++14 $(TCMALLOCFLAG)
Index: src/Parser/module.mk
===================================================================
--- src/Parser/module.mk	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/Parser/module.mk	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -23,11 +23,16 @@
        Parser/ExpressionNode.cc \
        Parser/InitializerNode.cc \
+       Parser/lex.ll \
        Parser/ParseNode.cc \
+       Parser/ParseNode.h \
+       Parser/parser.yy \
+       Parser/ParserTypes.h \
+       Parser/parserutility.cc \
+       Parser/parserutility.h \
        Parser/StatementNode.cc \
        Parser/TypeData.cc \
+       Parser/TypeData.h \
        Parser/TypedefTable.cc \
-       Parser/lex.ll \
-       Parser/parser.yy \
-       Parser/parserutility.cc
+       Parser/TypedefTable.h
 
 MOSTLYCLEANFILES += Parser/lex.cc Parser/parser.cc Parser/parser.hh Parser/parser.output
Index: src/ResolvExpr/module.mk
===================================================================
--- src/ResolvExpr/module.mk	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/ResolvExpr/module.mk	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -19,13 +19,23 @@
       ResolvExpr/Alternative.cc \
       ResolvExpr/AlternativeFinder.cc \
+      ResolvExpr/AlternativeFinder.h \
+      ResolvExpr/Alternative.h \
       ResolvExpr/Candidate.cpp \
       ResolvExpr/CandidateFinder.cpp \
+      ResolvExpr/CandidateFinder.hpp \
+      ResolvExpr/Candidate.hpp \
       ResolvExpr/CastCost.cc \
       ResolvExpr/CommonType.cc \
       ResolvExpr/ConversionCost.cc \
+      ResolvExpr/ConversionCost.h \
+      ResolvExpr/Cost.h \
       ResolvExpr/CurrentObject.cc \
+      ResolvExpr/CurrentObject.h \
       ResolvExpr/ExplodedActual.cc \
+      ResolvExpr/ExplodedActual.h \
       ResolvExpr/ExplodedArg.cpp \
+      ResolvExpr/ExplodedArg.hpp \
       ResolvExpr/FindOpenVars.cc \
+      ResolvExpr/FindOpenVars.h \
       ResolvExpr/Occurs.cc \
       ResolvExpr/PolyCost.cc \
@@ -33,12 +43,23 @@
       ResolvExpr/PtrsCastable.cc \
       ResolvExpr/RenameVars.cc \
+      ResolvExpr/RenameVars.h \
       ResolvExpr/ResolveAssertions.cc \
+      ResolvExpr/ResolveAssertions.h \
       ResolvExpr/Resolver.cc \
+      ResolvExpr/Resolver.h \
       ResolvExpr/ResolveTypeof.cc \
+      ResolvExpr/ResolveTypeof.h \
+      ResolvExpr/ResolvMode.h \
       ResolvExpr/SatisfyAssertions.cpp \
+      ResolvExpr/SatisfyAssertions.hpp \
       ResolvExpr/SpecCost.cc \
       ResolvExpr/TypeEnvironment.cc \
-      ResolvExpr/Unify.cc
+      ResolvExpr/TypeEnvironment.h \
+      ResolvExpr/typeops.h \
+      ResolvExpr/Unify.cc \
+      ResolvExpr/Unify.h \
+      ResolvExpr/WidenMode.h
 
-SRC += $(SRC_RESOLVEXPR) ResolvExpr/AlternativePrinter.cc
+
+SRC += $(SRC_RESOLVEXPR) ResolvExpr/AlternativePrinter.cc ResolvExpr/AlternativePrinter.h
 SRCDEMANGLE += $(SRC_RESOLVEXPR)
Index: src/SymTab/module.mk
===================================================================
--- src/SymTab/module.mk	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/SymTab/module.mk	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -17,9 +17,14 @@
 SRC_SYMTAB = \
       SymTab/Autogen.cc \
+      SymTab/Autogen.h \
       SymTab/FixFunction.cc \
+      SymTab/FixFunction.h \
       SymTab/Indexer.cc \
+      SymTab/Indexer.h \
       SymTab/Mangler.cc \
       SymTab/ManglerCommon.cc \
-      SymTab/Validate.cc
+      SymTab/Mangler.h \
+      SymTab/Validate.cc \
+      SymTab/Validate.h
 
 SRC += $(SRC_SYMTAB)
Index: src/SynTree/module.mk
===================================================================
--- src/SynTree/module.mk	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/SynTree/module.mk	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -20,19 +20,29 @@
       SynTree/ApplicationExpr.cc \
       SynTree/ArrayType.cc \
+      SynTree/Attribute.cc \
+      SynTree/Attribute.h \
       SynTree/AttrType.cc \
-      SynTree/Attribute.cc \
+      SynTree/BaseSyntaxNode.h \
       SynTree/BasicType.cc \
       SynTree/CommaExpr.cc \
       SynTree/CompoundStmt.cc \
       SynTree/Constant.cc \
+      SynTree/Constant.h \
+      SynTree/Declaration.cc \
+      SynTree/Declaration.h \
+      SynTree/DeclarationWithType.cc \
       SynTree/DeclReplacer.cc \
+      SynTree/DeclReplacer.h \
       SynTree/DeclStmt.cc \
-      SynTree/Declaration.cc \
-      SynTree/DeclarationWithType.cc \
       SynTree/Expression.cc \
+      SynTree/Expression.h \
       SynTree/FunctionDecl.cc \
       SynTree/FunctionType.cc \
       SynTree/Initializer.cc \
+      SynTree/Initializer.h \
+      SynTree/Label.h \
       SynTree/LinkageSpec.cc \
+      SynTree/LinkageSpec.h \
+      SynTree/Mutator.h \
       SynTree/NamedTypeDecl.cc \
       SynTree/ObjectDecl.cc \
@@ -41,4 +51,6 @@
       SynTree/ReferenceType.cc \
       SynTree/Statement.cc \
+      SynTree/Statement.h \
+      SynTree/SynTree.h \
       SynTree/TupleExpr.cc \
       SynTree/TupleType.cc \
@@ -46,7 +58,10 @@
       SynTree/TypeDecl.cc \
       SynTree/TypeExpr.cc \
+      SynTree/Type.h \
+      SynTree/TypeofType.cc \
       SynTree/TypeSubstitution.cc \
-      SynTree/TypeofType.cc \
+      SynTree/TypeSubstitution.h \
       SynTree/VarArgsType.cc \
+      SynTree/Visitor.h \
       SynTree/VoidType.cc \
       SynTree/ZeroOneType.cc
Index: src/Tuples/module.mk
===================================================================
--- src/Tuples/module.mk	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/Tuples/module.mk	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -15,6 +15,13 @@
 ###############################################################################
 
-SRC += Tuples/TupleAssignment.cc Tuples/TupleExpansion.cc Tuples/Explode.cc \
-	Tuples/Tuples.cc
-SRCDEMANGLE += Tuples/TupleAssignment.cc Tuples/TupleExpansion.cc Tuples/Explode.cc \
-	Tuples/Tuples.cc
+SRC_TUPLES = \
+	Tuples/Explode.cc \
+	Tuples/Explode.h \
+	Tuples/TupleAssignment.cc \
+	Tuples/TupleExpansion.cc \
+	Tuples/Tuples.cc \
+	Tuples/Tuples.h
+
+
+SRC += $(SRC_TUPLES)
+SRCDEMANGLE += $(SRC_TUPLES)
Index: src/Validate/module.mk
===================================================================
--- src/Validate/module.mk	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/Validate/module.mk	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -15,4 +15,4 @@
 ###############################################################################
 
-SRC += Validate/HandleAttributes.cc Validate/FindSpecialDecls.cc
-SRCDEMANGLE += Validate/HandleAttributes.cc Validate/FindSpecialDecls.cc
+SRC += Validate/HandleAttributes.cc Validate/HandleAttributes.h Validate/FindSpecialDecls.cc Validate/FindSpecialDecls.h
+SRCDEMANGLE += Validate/HandleAttributes.cc Validate/HandleAttributes.h Validate/FindSpecialDecls.cc Validate/FindSpecialDecls.h
Index: src/Virtual/module.mk
===================================================================
--- src/Virtual/module.mk	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ src/Virtual/module.mk	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -15,3 +15,3 @@
 ###############################################################################
 
-SRC += Virtual/ExpandCasts.cc
+SRC += Virtual/ExpandCasts.cc Virtual/ExpandCasts.h
Index: tests/Makefile.am
===================================================================
--- tests/Makefile.am	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ tests/Makefile.am	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -67,5 +67,5 @@
 avl_test_SOURCES = avltree/avl_test.cfa avltree/avl0.cfa avltree/avl1.cfa avltree/avl2.cfa avltree/avl3.cfa avltree/avl4.cfa avltree/avl-private.cfa
 # automake doesn't know we still need C/CPP rules so pretend like we have a C program
-_dummy_hack_SOURCES = .dummy_hack.c .dummy_hackxx.cpp
+nodist__dummy_hack_SOURCES = .dummy_hack.c .dummy_hackxx.cpp
 
 #----------------------------------------------------------------------------------------------------------------
Index: tools/Makefile.am
===================================================================
--- tools/Makefile.am	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ tools/Makefile.am	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -21,8 +21,9 @@
 
 noinst_PROGRAMS = busy catchsig repeat watchdog
+EXTRA_DIST = build/distcc_hash build/push2dist.sh
 
-busy_SOURCES     = busy.c
-busy_LDFLAGS     = -pthread
-catchsig_SOURCES = catchsig.c
-repeat_SOURCES   = repeat.c
-watchdog_SOURCES = watchdog.c
+nodist_busy_SOURCES     = busy.c
+nodist_busy_LDFLAGS     = -pthread
+nodist_catchsig_SOURCES = catchsig.c
+nodist_repeat_SOURCES   = repeat.c
+nodist_watchdog_SOURCES = watchdog.c
Index: tools/prettyprinter/Makefile.am
===================================================================
--- tools/prettyprinter/Makefile.am	(revision 8e2cb4aa6658f98542c6adf760d5dba01324c12c)
+++ tools/prettyprinter/Makefile.am	(revision 856dff84e55b9a9ad3b82f37b8cdae38c497be02)
@@ -30,5 +30,5 @@
 tools_prettyprinter_PROGRAMS = pretty
 tools_prettyprinterdir = ../
-pretty_SOURCES = ${SRC}
+nodist_pretty_SOURCES = ${SRC}
 pretty_LDADD = ${LEXLIB} -ldl			# yywrap
 pretty_CXXFLAGS = -Wno-deprecated -Wall -DYY_NO_INPUT -O2 -g -std=c++14
