1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
top_builddir = ../..
top_srcdir = @top_srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
libdir = @libdir@
LIBDIR = $(DESTDIR)$(libdir)/mlterm
MOSH_DIR = @MOSH_DIR@
VPATH = ${top_srcdir}/vtemu/libptymosh:$(MOSH_DIR)/src/network:$(MOSH_DIR)/src/crypto:$(MOSH_DIR)/src/terminal:$(MOSH_DIR)/src/util:$(MOSH_DIR)/src/statesync:$(MOSH_DIR)/src/protobufs:$(MOSH_DIR)/src/frontend
# -I$(MOSH_DIR) is for mosh-1.3.2 or before. (config.h is placed at $(MOSH_DIR))
# -I$(MOSH_DIR)/src/include is for mosh-1.4.0 or after. (config.h is placed at $(MOSH_DIR)/src/include)
CFLAGS = $(CFLAGS_LOCAL) -D_GNU_SOURCE @DEB_CFLAGS@ @POBL_CFLAGS@ @MEF_CFLAGS@ @CFLAGS@ @CPPFLAGS@ \
-pthread @PROTOBUF_CFLAGS@ -I/usr/local/include -DLIBDIR=\"$(libdir)\" \
-I$(MOSH_DIR) -I$(MOSH_DIR)/src/protobufs -I$(MOSH_DIR)/src/crypto -I$(MOSH_DIR)/src/network \
-I$(MOSH_DIR)/src/util -I$(MOSH_DIR)/src/terminal -I$(MOSH_DIR)/src/statesync \
-I$(MOSH_DIR)/src/frontend -I$(MOSH_DIR)/src/include
LIBS = $(LIBS_LOCAL) @LPOBL@ ../libptyssh/libptyssh.la -pthread @PROTOBUF_LIBS@ -lz -lcrypto
PROTO = userinput.pb.cc hostinput.pb.cc transportinstruction.pb.cc
OBJ = vt_pty_mosh.o compressor.o network.o transportfragment.o base64.o crypto.o \
parser.o parseraction.o parserstate.o terminal.o terminaldispatcher.o terminaldisplay.o \
terminaldisplayinit.o terminalframebuffer.o terminalfunctions.o terminaluserinput.o \
timestamp.o completeterminal.o user.o terminaloverlay.o @MOSH_OCB_OBJ@ $(PROTO:.cc=.o)
CC = @CXX@
INSTALL = @INSTALL@
LIBTOOL = @LIBTOOL@
LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS)
LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@
LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL)
all: $(PROTO) libptymosh.la
userinput.pb.cc:
protoc --cpp_out=$(MOSH_DIR)/src/protobufs -I$(MOSH_DIR)/src/protobufs $(MOSH_DIR)/src/protobufs/userinput.proto
cp $(MOSH_DIR)/src/protobufs/userinput.pb.* .
hostinput.pb.cc:
protoc --cpp_out=$(MOSH_DIR)/src/protobufs -I$(MOSH_DIR)/src/protobufs $(MOSH_DIR)/src/protobufs/hostinput.proto
cp $(MOSH_DIR)/src/protobufs/hostinput.pb.* .
transportinstruction.pb.cc:
protoc --cpp_out=$(MOSH_DIR)/src/protobufs -I$(MOSH_DIR)/src/protobufs $(MOSH_DIR)/src/protobufs/transportinstruction.proto
cp $(MOSH_DIR)/src/protobufs/transportinstruction.pb.* .
libptymosh.la: $(OBJ)
$(LIBTOOL_LINK) -pthread -o libptymosh.la $(OBJ:.o=.lo) \
-rpath $(libdir)/mlterm -module -avoid-version @NO_UNDEFINED_FLAG@ \
$(LIBS)
.SUFFIXES: .o .cpp .cc
.cpp.o:
$(LIBTOOL_CC) -c $(CFLAGS) $<
.cc.o:
$(LIBTOOL_CC) -c $(CFLAGS) $<
$(LIBDIR):
mkdir -p $(LIBDIR)
install: $(LIBDIR)
$(LIBTOOL_INSTALL) libptymosh.la $(LIBDIR)
uninstall:
rm -f $(LIBDIR)/*ptymosh.*
clean:
rm -rf $(OBJ) $(OBJ:.o=.lo) $(PROTO) $(PROTO:.cc=.h) *ptymosh.* .libs
distclean: clean
rm -f Makefile
|