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
25 REQ_GNUTLS
=gnutls
,hogweed
,nettle
26 REQ_OPENSSL
=libssl
,libcrypto
31 LIBS_mingw
=-lws2_32
-lwinmm
-lgdi32
32 LIB_GNUTLS
=-lgnutls
-lhogweed
-lnettle
-lgmp
$(LIBZ
)
33 LIB_OPENSSL
=-lssl
-lcrypto
$(LIBZ
)
34 LIB_POLARSSL
=-lpolarssl
$(LIBZ
)
35 PRIVATE_LIBS
=$(LIBS_
$(SYS
))
36 CRYPTO_LIB
=$(LIB_
$(CRYPTO
)) $(PRIVATE_LIBS
)
37 CRYPTO_REQ
=$(REQ_
$(CRYPTO
))
38 CRYPTO_DEF
=$(DEF_
$(CRYPTO
))
39 PUBLIC_LIBS
=$(PUB_
$(CRYPTO
))
46 SO_posix
=.
$(SOX
).
$(SO_VERSION
)
47 SO_darwin
=.
$(SO_VERSION
).
$(SOX
)
48 SO_mingw
=-$(SO_VERSION
).
$(SOX
)
52 SODIR_darwin
=$(LIBDIR
)
56 SO_LDFLAGS_posix
=-shared
-Wl
,-soname
,$@
57 SO_LDFLAGS_darwin
=-dynamiclib
-twolevel_namespace
-undefined dynamic_lookup \
58 -fno-common
-headerpad_max_install_names
-install_name
$(libdir)/$@
59 SO_LDFLAGS_mingw
=-shared
-Wl
,--out-implib
,librtmp.dll.a
60 SO_LDFLAGS
=$(SO_LDFLAGS_
$(SYS
))
63 INSTALL_IMPLIB_darwin
=
64 INSTALL_IMPLIB_mingw
=cp librtmp.dll.a
$(LIBDIR
)
65 INSTALL_IMPLIB
=$(INSTALL_IMPLIB_
$(SYS
))
69 SOLIB_yes
=librtmp
$(SO_EXT
)
71 SO_DEF
=$(SODEF_
$(SHARED
))
72 SO_LIB
=$(SOLIB_
$(SHARED
))
73 SO_INST
=$(SOINST_
$(SHARED
))
75 DEF
=-DRTMPDUMP_VERSION
=\"$(VERSION
)\" $(CRYPTO_DEF
) $(XDEF
)
77 CFLAGS
=-Wall
$(XCFLAGS
) $(INC
) $(DEF
) $(OPT
) $(SO_DEF
)
81 OBJS
=rtmp.o log.o amf.o hashswf.o parseurl.o
83 all: librtmp.a
$(SO_LIB
)
86 rm -f
*.o
*.a
*.
$(SOX
) *$(SO_EXT
) librtmp.
pc
91 librtmp
$(SO_EXT
): $(OBJS
)
92 $(CC
) $(SO_LDFLAGS
) $(LDFLAGS
) -o
$@
$^
$> $(CRYPTO_LIB
)
93 ln
-sf
$@ librtmp.
$(SOX
)
95 log.o
: log.c log.h Makefile
96 rtmp.o
: rtmp.c rtmp.h rtmp_sys.h handshake.h dh.h log.h amf.h Makefile
97 amf.o
: amf.c amf.h bytes.h log.h Makefile
98 hashswf.o
: hashswf.c http.h rtmp.h rtmp_sys.h Makefile
99 parseurl.o
: parseurl.c rtmp.h rtmp_sys.h log.h Makefile
101 librtmp.
pc: librtmp.
pc.in Makefile
102 sed
-e
"s;@prefix@;$(prefix);" -e
"s;@libdir@;$(libdir);" \
103 -e
"s;@VERSION@;$(VERSION);" \
104 -e
"s;@CRYPTO_REQ@;$(CRYPTO_REQ);" \
105 -e
"s;@PUBLIC_LIBS@;$(PUBLIC_LIBS);" \
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
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
)
119 cp librtmp
$(SO_EXT
) $(SODIR
)
121 cd
$(SODIR
); ln
-sf librtmp
$(SO_EXT
) librtmp.
$(SOX
)