5 incdir
=$(prefix)/include/librtmp
9 BINDIR
=$(DESTDIR
)$(bindir)
10 INCDIR
=$(DESTDIR
)$(incdir
)
11 LIBDIR
=$(DESTDIR
)$(libdir)
12 MANDIR
=$(DESTDIR
)$(mandir)
14 CC
=$(CROSS_COMPILE
)gcc
21 DEF_POLARSSL
=-DUSE_POLARSSL
22 DEF_OPENSSL
=-DUSE_OPENSSL
23 DEF_GNUTLS
=-DUSE_GNUTLS
24 DEF_GNUTLS_NETTLE
=-DUSE_GNUTLS_NETTLE
27 REQ_GNUTLS_NETTLE
=gnutls
28 REQ_OPENSSL
=libssl
,libcrypto
32 LIBS_mingw
=-lws2_32
-lwinmm
-lgdi32
33 LIB_GNUTLS
=-lgnutls
-lgcrypt
$(LIBZ
)
34 LIB_GNUTLS_NETTLE
=-lgnutls
-lhogweed
-lnettle
-lgmp
$(LIBZ
)
35 LIB_OPENSSL
=-lssl
-lcrypto
$(LIBZ
)
36 LIB_POLARSSL
=-lpolarssl
$(LIBZ
)
37 PRIVATE_LIBS
=$(LIBS_
$(SYS
))
38 CRYPTO_LIB
=$(LIB_
$(CRYPTO
)) $(PRIVATE_LIBS
)
39 CRYPTO_REQ
=$(REQ_
$(CRYPTO
))
40 CRYPTO_DEF
=$(DEF_
$(CRYPTO
))
45 SOX_mingw
=so
# useless
47 SO_posix
=$(SOX
).
$(SO_VERSION
)
48 SO_darwin
=$(SO_VERSION
).
$(SOX
)
53 SODIR_darwin
=$(LIBDIR
)
57 SO_LDFLAGS_posix
=-shared
-Wl
,-soname
,$@
58 SO_LDFLAGS_darwin
=-dynamiclib
-twolevel_namespace
-undefined dynamic_lookup \
59 -fno-common
-headerpad_max_install_names
-install_name
$(libdir)/$@
60 SO_LDFLAGS_mingw
=-shared
-Wl
,--out-implib
,librtmp.dll.a
61 SO_LDFLAGS
=$(SO_LDFLAGS_
$(SYS
))
64 INSTALL_IMPLIB_darwin
=
65 INSTALL_IMPLIB_mingw
=cp librtmp.dll.a
$(LIBDIR
)
66 INSTALL_IMPLIB
=$(INSTALL_IMPLIB_
$(SYS
))
70 SOLIB_yes
=librtmp.
$(SO_EXT
)
72 SO_DEF
=$(SODEF_
$(SHARED
))
73 SO_LIB
=$(SOLIB_
$(SHARED
))
74 SO_INST
=$(SOINST_
$(SHARED
))
76 DEF
=-DRTMPDUMP_VERSION
=\"$(VERSION
)\" $(CRYPTO_DEF
) $(XDEF
)
78 CFLAGS
=-Wall
$(XCFLAGS
) $(INC
) $(DEF
) $(OPT
) $(SO_DEF
)
82 OBJS
=rtmp.o log.o amf.o hashswf.o parseurl.o
84 all: librtmp.a
$(SO_LIB
)
87 rm -f
*.o
*.a
*.
$(SOX
) *.
$(SO_EXT
) librtmp.
pc
92 librtmp.
$(SO_EXT
): $(OBJS
)
93 $(CC
) $(SO_LDFLAGS
) $(LDFLAGS
) -o
$@
$^
$> $(CRYPTO_LIB
)
94 ln
-sf
$@ librtmp.
$(SOX
)
96 log.o
: log.c log.h Makefile
97 rtmp.o
: rtmp.c rtmp.h rtmp_sys.h handshake.h dh.h log.h amf.h Makefile
98 amf.o
: amf.c amf.h bytes.h log.h Makefile
99 hashswf.o
: hashswf.c http.h rtmp.h rtmp_sys.h Makefile
100 parseurl.o
: parseurl.c rtmp.h rtmp_sys.h log.h Makefile
102 librtmp.
pc: librtmp.
pc.in Makefile
103 sed
-e
"s;@prefix@;$(prefix);" -e
"s;@libdir@;$(libdir);" \
104 -e
"s;@VERSION@;$(VERSION);" \
105 -e
"s;@CRYPTO_REQ@;$(CRYPTO_REQ);" \
106 -e
"s;@PRIVATE_LIBS@;$(PRIVATE_LIBS);" librtmp.
pc.in
> $@
108 install: install_base
$(SO_INST
)
110 install_base
: librtmp.a librtmp.
pc
111 -mkdir
-p
$(INCDIR
) $(LIBDIR
)/pkgconfig
$(MANDIR
)/man3
$(SODIR
)
112 cp amf.h http.h log.h rtmp.h
$(INCDIR
)
113 cp librtmp.a
$(LIBDIR
)
114 cp librtmp.
pc $(LIBDIR
)/pkgconfig
115 cp librtmp
.3 $(MANDIR
)/man3
117 install_so
: librtmp.
$(SO_EXT
)
118 cp librtmp.
$(SO_EXT
) $(SODIR
)
120 cd
$(SODIR
); ln
-sf librtmp.
$(SO_EXT
) librtmp.
$(SOX
)