diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e0bd2a8 --- /dev/null +++ b/Makefile @@ -0,0 +1,76 @@ +# Makefile + +include config.mak + +all: default + +SRCS = crc/crc.c atsc/atsc.c cablelabs/cablelabs.c dvb/dvb.c hdmv/hdmv.c libmpegts.c + +SRCSO = + +CONFIG := $(shell cat config.h) + +OBJS = $(SRCS:%.c=%.o) +OBJSO = $(SRCSO:%.c=%.o) +DEP = depend + +.PHONY: all default clean distclean install uninstall dox test testclean + +default: $(DEP) + +libmpegts.a: .depend $(OBJS) + $(AR) rc libmpegts.a $(OBJS) + $(RANLIB) libmpegts.a + +$(SONAME): .depend $(OBJS) $(OBJSO) + $(CC) -shared -o $@ $(OBJS) $(OBJSO) $(SOFLAGS) $(LDFLAGS) + +.depend: config.mak + @rm -f .depend + @$(foreach SRC, $(SRCS) $(SRCCLI) $(SRCSO), $(CC) $(CFLAGS) $(SRC) -MT $(SRC:%.c=%.o) -MM -g0 1>> .depend;) + +config.mak: + ./configure + +depend: .depend +ifneq ($(wildcard .depend),) +include .depend +endif + +SRC2 = $(SRCS) $(SRCCLI) + +clean: + rm -f $(OBJS) $(OBJSO) $(SONAME) *.a .depend TAGS + rm -f $(SRC2:%.c=%.gcda) $(SRC2:%.c=%.gcno) + - sed -e 's/ *-fprofile-\(generate\|use\)//g' config.mak > config.mak2 && mv config.mak2 config.mak + +distclean: clean + rm -f config.mak config.h config.log libmpegts.pc + rm -rf test/ + +install: $(SONAME) + install -d $(DESTDIR)$(bindir) + install -d $(DESTDIR)$(includedir) + install -d $(DESTDIR)$(libdir) + install -d $(DESTDIR)$(libdir)/pkgconfig + install -m 644 libmpegts.h $(DESTDIR)$(includedir) + install -m 644 libmpegts.a $(DESTDIR)$(libdir) + install -m 644 libmpegts.pc $(DESTDIR)$(libdir)/pkgconfig + $(RANLIB) $(DESTDIR)$(libdir)/libmpegts.a +ifeq ($(SYS),MINGW) + $(if $(SONAME), install -m 755 $(SONAME) $(DESTDIR)$(bindir)) +else + $(if $(SONAME), ln -f -s $(SONAME) $(DESTDIR)$(libdir)/libmpegts.$(SOSUFFIX)) + $(if $(SONAME), install -m 755 $(SONAME) $(DESTDIR)$(libdir)) +endif + $(if $(IMPLIBNAME), install -m 644 $(IMPLIBNAME) $(DESTDIR)$(libdir)) + +uninstall: + rm -f $(DESTDIR)$(includedir)/libmpegts.h $(DESTDIR)$(libdir)/libmpegts.a + rm -f $(DESTDIR)$(libdir)/pkgconfig/libmpegts.pc + $(if $(SONAME), rm -f $(DESTDIR)$(libdir)/$(SONAME) $(DESTDIR)$(libdir)/libmpegts.$(SOSUFFIX)) + +etags: TAGS + +TAGS: + etags $(SRCS)