makefile
.PHONY : ninja
root := .
builddir := build
cxx := g++
ar := ar
cflags := -std=c++11 -g -Wall -Wextra -Wno-deprecated -Wno-missing-field-initializers \
-Wno-unused-parameter -fno-rtti -fno-exceptions -fvisibility=hidden \
-pipe '-DNINJA_PYTHON="python"' -O2 -DNDEBUG -fdiagnostics-color \
-DUSE_PPOLL -DNINJA_HAVE_BROWSE -I.
ldflags := -L$(builddir) -pthread
CXX := ${cxx} -MMD -MT
end = ${cflags} -c $^ -o $@
ninja: ${builddir}/ninja.o ${builddir}/libninja.a
${cxx} ${ldflags} -o ninja ${builddir}/ninja.o -lninja
rm ${builddir}/*.d
${builddir}/ninja.o: $(root)/src/ninja.cc
${CXX} ${builddir}/ninja.o -MF ${builddir}/ninja.o.d ${cflags} -c $(root)/src/ninja.cc -o ${builddir}/ninja.o
$(builddir)/browse_py.h: $(root)/src/browse.py $(root)/src/inline.sh
"${root}/src/inline.sh" kBrowsePy <$(root)/src/browse.py> $(builddir)/browse_py.h
objects=$(builddir)/browse.o $(builddir)/build.o \
$(builddir)/build_log.o $(builddir)/clean.o $(builddir)/clparser.o \
$(builddir)/debug_flags.o $(builddir)/depfile_parser.o $(builddir)/deps_log.o \
$(builddir)/disk_interface.o $(builddir)/edit_distance.o \
$(builddir)/eval_env.o $(builddir)/graph.o $(builddir)/graphviz.o \
$(builddir)/lexer.o $(builddir)/line_printer.o $(builddir)/manifest_parser.o \
$(builddir)/metrics.o $(builddir)/state.o $(builddir)/string_piece_util.o \
$(builddir)/util.o $(builddir)/version.o $(builddir)/subprocess-posix.o \
${builddir}/dyndep.o ${builddir}/dyndep_parser.o ${builddir}/manifest_chunk_parser.o \
${builddir}/parser.o ${builddir}/proto.o ${builddir}/status.o ${builddir}/thread_pool.o
$(builddir)/graph.o: ${root}/src/graph.cc
${CXX} $(builddir)/graph.o -MF $(builddir)/graph.o.d ${cflags} -c $^ -o $@
$(builddir)/eval_env.o: ${root}/src/eval_env.cc
${CXX} $(builddir)/eval_env.o -MF $(builddir)/eval_env.o.d ${cflags} -c $^ -o $@
$(builddir)/browse.o: ${root}/src/browse.cc $(builddir)/browse_py.h
${CXX} ${builddir}/browse.o -MF ${builddir}/browse.o.d ${cflags} -c ${root}/src/browse.cc -o $(builddir)/browse.o
$(builddir)/build.o: ${root}/src/build.cc
${CXX} ${builddir}/build.o -MF ${builddir}/build.o.d ${cflags} -c $^ -o $@
$(builddir)/build_log.o: ${root}/src/build_log.cc
${CXX} ${builddir}/build_log.o -MF ${builddir}/build_log.o.d ${cflags} -c $^ -o $@
$(builddir)/clean.o: ${root}/src/clean.cc
${CXX} ${builddir}/clean.o -MF ${builddir}/clean.o.d ${cflags} -c $^ -o $@
$(builddir)/clparser.o: ${root}/src/clparser.cc
${CXX} ${builddir}/clparser.o -MF ${builddir}/clparser.o.d ${cflags} -c $^ -o $@
$(builddir)/debug_flags.o: ${root}/src/debug_flags.cc
${CXX} ${builddir}/debug_flags.o -MF ${builddir}/debug_flags.o.d ${cflags} -c $^ -o $@
$(builddir)/depfile_parser.o: ${root}/src/depfile_parser.cc
${CXX} ${builddir}/depfile_parser.o -MF ${builddir}/depfile_parser.o.d ${cflags} -c $^ -o $@
$(builddir)/deps_log.o: ${root}/src/deps_log.cc
${CXX} ${builddir}/deps_log.o -MF ${builddir}/deps_log