Advertisement
Guest User

Untitled

a guest
Oct 1st, 2014
263
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.31 KB | None | 0 0
  1. #Common renames -o -> /Fo, .o -> .obj, .a -> .lib
  2. #Also done: changing compiler to cc, adding include dirs
  3.  
  4. VERSION=v2.4
  5.  
  6. prefix=/usr/local
  7.  
  8. incdir=$(prefix)/include/librtmp
  9. bindir=$(prefix)/bin
  10. libdir=$(prefix)/lib
  11. mandir=$(prefix)/man
  12. BINDIR=$(DESTDIR)$(bindir)
  13. INCDIR=$(DESTDIR)$(incdir)
  14. LIBDIR=$(DESTDIR)$(libdir)
  15. MANDIR=$(DESTDIR)$(mandir)
  16.  
  17. CC=$(CROSS_COMPILE)cl
  18. LD=$(CROSS_COMPILE)ld
  19. AR=$(CROSS_COMPILE)ar
  20.  
  21. SYS=posix
  22. CRYPTO=OPENSSL
  23. #CRYPTO=GNUTLS
  24. DEF_POLARSSL=-DUSE_POLARSSL
  25. DEF_OPENSSL=-DUSE_OPENSSL
  26. DEF_GNUTLS=-DUSE_GNUTLS
  27. DEF_=-DNO_CRYPTO
  28. REQ_GNUTLS=gnutls,hogweed,nettle
  29. REQ_OPENSSL=libssl,libcrypto
  30. PUB_GNUTLS=-lgmp
  31. LIBZ=-lz
  32. LIBS_posix=
  33. LIBS_darwin=
  34. LIBS_mingw=-lws2_32 -lwinmm -lgdi32
  35. LIB_GNUTLS=-lgnutls -lhogweed -lnettle -lgmp $(LIBZ)
  36. LIB_OPENSSL=-lssl -lcrypto $(LIBZ)
  37. LIB_POLARSSL=-lpolarssl $(LIBZ)
  38. PRIVATE_LIBS=$(LIBS_$(SYS))
  39. CRYPTO_LIB=$(LIB_$(CRYPTO)) $(PRIVATE_LIBS)
  40. CRYPTO_REQ=$(REQ_$(CRYPTO))
  41. CRYPTO_DEF=$(DEF_$(CRYPTO))
  42. PUBLIC_LIBS=$(PUB_$(CRYPTO))
  43.  
  44. SO_VERSION=1
  45. SOX_posix=so
  46. SOX_darwin=dylib
  47. SOX_mingw=dll
  48. SOX=$(SOX_$(SYS))
  49. SO_posix=.$(SOX).$(SO_VERSION)
  50. SO_darwin=.$(SO_VERSION).$(SOX)
  51. SO_mingw=-$(SO_VERSION).$(SOX)
  52. SO_EXT=$(SO_$(SYS))
  53.  
  54. SODIR_posix=$(LIBDIR)
  55. SODIR_darwin=$(LIBDIR)
  56. SODIR_mingw=$(BINDIR)
  57. SODIR=$(SODIR_$(SYS))
  58.  
  59. SO_LDFLAGS_posix=-shared -Wl,-soname,$@
  60. SO_LDFLAGS_darwin=-dynamiclib -twolevel_namespace -undefined dynamic_lookup \
  61. -fno-common -headerpad_max_install_names -install_name $(libdir)/$@
  62. SO_LDFLAGS_mingw=-shared -Wl,--out-implib,librtmp.dll.lib
  63. SO_LDFLAGS=$(SO_LDFLAGS_$(SYS))
  64.  
  65. INSTALL_IMPLIB_posix=
  66. INSTALL_IMPLIB_darwin=
  67. INSTALL_IMPLIB_mingw=cp librtmp.dll.lib $(LIBDIR)
  68. INSTALL_IMPLIB=$(INSTALL_IMPLIB_$(SYS))
  69.  
  70. SHARED=yes
  71. SODEF_yes=-fPIC
  72. SOLIB_yes=librtmp$(SO_EXT)
  73. SOINST_yes=install_so
  74. SO_DEF=$(SODEF_$(SHARED))
  75. SO_LIB=$(SOLIB_$(SHARED))
  76. SO_INST=$(SOINST_$(SHARED))
  77.  
  78. DEF=-DRTMPDUMP_VERSION=\"$(VERSION)\" $(CRYPTO_DEF) $(XDEF)
  79. OPT=-O2
  80. CFLAGS=-Wall $(XCFLAGS) $(INC) $(DEF) $(OPT) $(SO_DEF) -IC:/Build-OpenSSL-VC-32/include -IC:/users/brendan/Source/Repos/zlib
  81. LDFLAGS=$(XLDFLAGS)
  82.  
  83.  
  84. OBJS=rtmp.obj log.obj amf.obj hashswf.obj parseurl.obj
  85.  
  86. all: librtmp.lib $(SO_LIB)
  87.  
  88. clean:
  89. rm -f *.obj *.lib *.$(SOX) *$(SO_EXT) librtmp.pc
  90.  
  91. librtmp.lib: $(OBJS)
  92. $(AR) rs $@ $?
  93.  
  94. librtmp$(SO_EXT): $(OBJS)
  95. $(CC) $(SO_LDFLAGS) $(LDFLAGS) /Fo $@ $^ $> $(CRYPTO_LIB)
  96. ln -sf $@ librtmp.$(SOX)
  97.  
  98. log.obj: log.c log.h Makefile
  99. rtmp.obj: rtmp.c rtmp.h rtmp_sys.h handshake.h dh.h log.h amf.h Makefile
  100. amf.obj: amf.c amf.h bytes.h log.h Makefile
  101. hashswf.obj: hashswf.c http.h rtmp.h rtmp_sys.h Makefile
  102. parseurl.obj: parseurl.c rtmp.h rtmp_sys.h log.h Makefile
  103.  
  104. librtmp.pc: librtmp.pc.in Makefile
  105. sed -e "s;@prefix@;$(prefix);" -e "s;@libdir@;$(libdir);" \
  106. -e "s;@VERSION@;$(VERSION);" \
  107. -e "s;@CRYPTO_REQ@;$(CRYPTO_REQ);" \
  108. -e "s;@PUBLIC_LIBS@;$(PUBLIC_LIBS);" \
  109. -e "s;@PRIVATE_LIBS@;$(PRIVATE_LIBS);" librtmp.pc.in > $@
  110.  
  111. install: install_base $(SO_INST)
  112.  
  113. install_base: librtmp.lib librtmp.pc
  114. -mkdir -p $(INCDIR) $(LIBDIR)/pkgconfig $(MANDIR)/man3 $(SODIR)
  115. cp amf.h http.h log.h rtmp.h $(INCDIR)
  116. cp librtmp.lib $(LIBDIR)
  117. cp librtmp.pc $(LIBDIR)/pkgconfig
  118. cp librtmp.3 $(MANDIR)/man3
  119.  
  120. install_so: librtmp$(SO_EXT)
  121. cp librtmp$(SO_EXT) $(SODIR)
  122. $(INSTALL_IMPLIB)
  123. cd $(SODIR); ln -sf librtmp$(SO_EXT) librtmp.$(SOX)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement