大致整理了一下,可以贴出来的Makefile。
直接贴了,加油。
WORKROOT=../../../
LIBPATH=$(WORKROOT)/lib2-64/
LIBPATH2=$(WORKROOT)/public/
INCDIR = -I ./ \
-I$(LIBPATH2)/configure/output/include/ \
-I$(LIBPATH)/ullib/include/ \
-I$(LIBPATH)/ccode/include/ \
LIBDIR = -L ./ \
-L$(LIBPATH2)/configure/output/lib -lconfig \
-L$(LIBPATH)/ullib/lib/ \
-L$(LIBPATH)/ccode/lib -lulccode \
-lullib \
-lpthread \
-ldl \
-lutil \
-lm
//CXX = g++
CXX = /opt/compiler/gcc-4.8.2/bin/g++
#CXX_IND_FLAGS = -c -g -fpic -O3
CXX_IND_FLAGS = -c -g -fpic -O2
TARGET1 = test_lmtrain
TARGET2 = libtxllmtrain.a
TARGET3 = test_mul_lmtrain
OBJ1 = txl_lmtrain.o txl_querylmtrain_api.o lex.o test_lmtrain.o stringprocess.o maptable.o punc.o
OBJ2 = txl_lmtrain.o txl_querylmtrain_api.o lex.o stringprocess.o maptable.o punc.o
OBJ3 = test_mul_lmtrain.o
all: $(TARGET1) $(TARGET2) $(TARGET3)
rm -rf output
mkdir -p output/include
mkdir -p output/lib/
cp api.h output/include/
cp -rf data output
cp $(TARGET1) $(TARGET3) output
cp $(TARGET2) output/lib/
$(TARGET1) : $(OBJ1)
$(CXX) -g -o $@ $^ $(INCDIR) $(LIBDIR)
$(TARGET2) : $(OBJ2)
ar -r $(TARGET2) $(OBJ2)
$(TARGET3) : $(OBJ3)
$(CXX) -g -o $@ $^ -L. -ltxllmtrain $(INCDIR) $(LIBDIR)
%.o:%.cpp
$(CXX) $(CXX_IND_FLAGS) $< -o $@ $(INCDIR)
clean:
rm -rf *.o output
rm -rf $(TARGET1) $(TARGET2) $(TARGET3)