****Makefile****
CXXFLAGS=-std=c++11 -Wall -MMD

OBJS=main.o

all: $(OBJS)
    cc -o a.exe $(OBJS)

clean:
	rm -f *.d
	rm -f *.o
	rm -f *.exe

-include *.d

****main.d****
main.o: main.cpp expression.h terminal.h expression_base.h subscription.h \
 tag.h function_call.h unary_operator.h binary_operator.h \
 expression_builder.h literal.h io.h ../Tuple/for_each.h \
 ../Tuple/unpack_tuple.h ../Tuple/index_tuple.h to_string.h ../Tuple/io.h \
 ../Tuple/transform.h default_context.h ../Tuple/index_tuple.h \
 ../Tuple/unpack_tuple.h evaluate.h callable_context.h
