|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CCACHE = ccache |
|
|
OPTI = 3 |
|
|
EXE_TAG = exe |
|
|
PROF = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SHELL = bash |
|
|
MAKEFLAGS += --warn-undefined-variables |
|
|
.DEFAULT_GOAL = all |
|
|
.SUFFIXES: |
|
|
|
|
|
|
|
|
|
|
|
HOST ?= $(shell hostname) |
|
|
HOSTTYPE ?= $(shell uname -m) |
|
|
KERNEL = $(shell uname -r) |
|
|
|
|
|
MOSES_ROOT ?= ${HOME}/code/mosesdecoder |
|
|
WDIR = build/${HOSTTYPE}/${KERNEL}/${OPTI} |
|
|
VPATH = ${HOME}/code/mosesdecoder/ |
|
|
CXXFLAGS = ${PROF} -ggdb -Wall -O${OPTI} ${INCLUDES} |
|
|
CXXFLAGS += -DMAX_NUM_FACTORS=4 |
|
|
CXXFLAGS += -DKENLM_MAX_ORDER=5 |
|
|
modirs := $(addprefix -I,$(shell find ${MOSES_ROOT}/moses ${MOSES_ROOT}/contrib -type d)) |
|
|
CXXFLAGS += -I${MOSES_ROOT} |
|
|
INCLUDES = |
|
|
BZLIB = |
|
|
BOOSTLIBTAG = |
|
|
|
|
|
REQLIBS = m z pthread lzma ${BZLIB} \ |
|
|
boost_thread${BOOSTLIBTAG} \ |
|
|
boost_iostreams${BOOSTLIBTAG} \ |
|
|
boost_program_options${BOOSTLIBTAG} \ |
|
|
boost_system${BOOSTLIBTAG} \ |
|
|
boost_filesystem${BOOSTLIBTAG} |
|
|
|
|
|
|
|
|
|
|
|
LIBS = $(addprefix -l, ${REQLIBS} moses) |
|
|
LIBDIRS = -L${HOME}/code/mosesdecoder/lib |
|
|
LIBDIRS += -L${HOME}/lib |
|
|
PREFIX ?= . |
|
|
BINDIR ?= ${PREFIX}/bin |
|
|
ifeq "$(OPTI)" "0" |
|
|
BINPREF = debug. |
|
|
else |
|
|
BINPREF = |
|
|
endif |
|
|
|
|
|
|
|
|
OBJ2 := |
|
|
|
|
|
define compile |
|
|
|
|
|
DEP += ${WDIR}/$(basename $(notdir $1)).d |
|
|
${WDIR}/$(basename $(notdir $1)).o : $1 $(wildcard $(basename $1).h) |
|
|
@echo -e "COMPILING $1" |
|
|
@mkdir -p $$(@D) |
|
|
${CXX} ${CXXFLAGS} -MD -MP -c $$(abspath $$<) -o $$@ |
|
|
|
|
|
endef |
|
|
|
|
|
testprogs = test-dynamic-im-tsa |
|
|
programs = mtt-build mtt-dump symal2mam custom-pt mmlex-build ${testprogs} |
|
|
programs += mtt-count-words calc-coverage |
|
|
|
|
|
all: $(addprefix ${BINDIR}/${BINPREF}, $(programs)) |
|
|
@echo $^ |
|
|
clean: |
|
|
rm -f ${WDIR}/*.o ${WDIR}/*.d |
|
|
|
|
|
custom-pt: ${BINDIR}/${BINPREF}custom-pt |
|
|
echo $^ |
|
|
|
|
|
INMOGEN = $(wildcard ${MOSES_ROOT}/moses/TranslationModel/UG/generic/*/*.cpp) |
|
|
OBJ = $(patsubst %.cc,%.o,$(wildcard $(patsubst %.h,%.cc,$(wildcard *.h)))) |
|
|
OBJ += $(patsubst %.cpp,%.o,${INMOGEN}) |
|
|
EXE = $(patsubst %.cc,%.o,$(filter-out $(patsubst %.h,%.cc,$(wildcard *.h)),$(wildcard *.cc))) |
|
|
|
|
|
$(foreach cpp,${INMOGEN},$(eval $(call compile,${cpp}))) |
|
|
$(foreach cpp,$(wildcard *.cc),$(eval $(call compile,${cpp}))) |
|
|
$(addprefix ${BINDIR}/${BINPREF}, $(programs)): $(addprefix ${WDIR}/,$(notdir ${OBJ})) |
|
|
$(addprefix ${BINDIR}/${BINPREF}, $(programs)): ${MOSES_ROOT}/lib/libmoses.a |
|
|
${BINDIR}/${BINPREF}%: ${WDIR}/%.o |
|
|
echo PREREQS: $< |
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ ${LIBDIRS} ${LIBS} |
|
|
|
|
|
.SECONDARY: |
|
|
|
|
|
-include $(DEP) |
|
|
|
|
|
|