1VERSION=v2.4 2 3prefix=/usr/local 4 5CC=$(CROSS_COMPILE)gcc 6LD=$(CROSS_COMPILE)ld 7 8SYS=posix 9#SYS=mingw 10 11CRYPTO=OPENSSL 12#CRYPTO=POLARSSL 13#CRYPTO=GNUTLS 14LIBZ=-lz 15LIB_GNUTLS=-lgnutls -lhogweed -lnettle -lgmp $(LIBZ) 16LIB_OPENSSL=-lssl -lcrypto $(LIBZ) 17LIB_POLARSSL=-lpolarssl $(LIBZ) 18CRYPTO_LIB=$(LIB_$(CRYPTO)) 19DEF_=-DNO_CRYPTO 20CRYPTO_DEF=$(DEF_$(CRYPTO)) 21 22DEF=-DRTMPDUMP_VERSION=\"$(VERSION)\" $(CRYPTO_DEF) $(XDEF) 23OPT=-O2 24CFLAGS=-Wall $(XCFLAGS) $(INC) $(DEF) $(OPT) 25LDFLAGS=-Wall $(XLDFLAGS) 26 27bindir=$(prefix)/bin 28sbindir=$(prefix)/sbin 29mandir=$(prefix)/man 30 31BINDIR=$(DESTDIR)$(bindir) 32SBINDIR=$(DESTDIR)$(sbindir) 33MANDIR=$(DESTDIR)$(mandir) 34 35LIBS_posix= 36LIBS_darwin= 37LIBS_mingw=-lws2_32 -lwinmm -lgdi32 38LIB_RTMP=-Llibrtmp -lrtmp 39LIBS=$(LIB_RTMP) $(CRYPTO_LIB) $(LIBS_$(SYS)) $(XLIBS) 40 41THREADLIB_posix=-lpthread 42THREADLIB_darwin=-lpthread 43THREADLIB_mingw= 44THREADLIB=$(THREADLIB_$(SYS)) 45SLIBS=$(THREADLIB) $(LIBS) 46 47LIBRTMP=librtmp/librtmp.a 48INCRTMP=librtmp/rtmp_sys.h librtmp/rtmp.h librtmp/log.h librtmp/amf.h 49 50EXT_posix= 51EXT_darwin= 52EXT_mingw=.exe 53EXT=$(EXT_$(SYS)) 54 55PROGS=rtmpdump rtmpgw rtmpsrv rtmpsuck 56 57all: $(LIBRTMP) $(PROGS) 58 59$(PROGS): $(LIBRTMP) 60 61install: $(PROGS) 62 -mkdir -p $(BINDIR) $(SBINDIR) $(MANDIR)/man1 $(MANDIR)/man8 63 cp rtmpdump$(EXT) $(BINDIR) 64 cp rtmpgw$(EXT) rtmpsrv$(EXT) rtmpsuck$(EXT) $(SBINDIR) 65 cp rtmpdump.1 $(MANDIR)/man1 66 cp rtmpgw.8 $(MANDIR)/man8 67 @cd librtmp; $(MAKE) install 68 69clean: 70 rm -f *.o rtmpdump$(EXT) rtmpgw$(EXT) rtmpsrv$(EXT) rtmpsuck$(EXT) 71 @cd librtmp; $(MAKE) clean 72 73FORCE: 74 75$(LIBRTMP): FORCE 76 @cd librtmp; $(MAKE) all 77 78rtmpdump: rtmpdump.o 79 $(CC) $(LDFLAGS) -o $@$(EXT) $@.o $(LIBS) 80 81rtmpsrv: rtmpsrv.o thread.o 82 $(CC) $(LDFLAGS) -o $@$(EXT) $@.o thread.o $(SLIBS) 83 84rtmpsuck: rtmpsuck.o thread.o 85 $(CC) $(LDFLAGS) -o $@$(EXT) $@.o thread.o $(SLIBS) 86 87rtmpgw: rtmpgw.o thread.o 88 $(CC) $(LDFLAGS) -o $@$(EXT) $@.o thread.o $(SLIBS) 89 90rtmpgw.o: rtmpgw.c $(INCRTMP) Makefile 91rtmpdump.o: rtmpdump.c $(INCRTMP) Makefile 92rtmpsrv.o: rtmpsrv.c $(INCRTMP) Makefile 93rtmpsuck.o: rtmpsuck.c $(INCRTMP) Makefile 94thread.o: thread.c thread.h 95