NAME := $(shell perl -le '$$_=shift;m|.*/([^/]+)/?$$|;print "$$1"' $(PWD))
OLDVERSION=7c
VERSION=7e-pre7

CP=cp
CD=cd
LN=ln
RM=rm
MKDIR=mkdir

include ./global_config

all: 
	+make -C libmpeg3
	+make -C quicktime
	+make -C rtjpeg
	+make -C video
	+if [ "x$(DONT_USE_AVI)" != "x1" ]; then make -C avifile_audiodecoder; fi
	+if [ -d audiomp2 ]; then make -C audiomp2; fi
	+if [ -d audiomp3 ]; then make -C audiomp3; fi
	+if [ -d mplexhi ]; then make -C mplexhi; fi
	+if [ -d mplexlo ]; then make -C mplexlo; fi

exportvideo: 
	+make -C libmpeg3
	+make -C quicktime
	+make -C rtjpeg
	+if [ "x$(DONT_USE_AVI)" != "x1" ]; then make -C avifile_audiodecoder; fi
	+VIDEO_EXPORT_ONLY=1 make -C video exportvideo
	+if [ -d audiomp2 ]; then make -C audiomp2; fi
	+if [ -d mplexhi ]; then make -C mplexhi; fi
	+if [ -d mplexlo ]; then make -C mplexlo; fi

clean:
	+make -C libmpeg3 clean
	+make -C quicktime clean
	+make -C rtjpeg clean
	+make -C video clean
	+make -C avifile_audiodecoder clean
	+if [ -d audiomp2 ]; then make -C audiomp2 clean; fi
	+if [ -d audiomp3 ]; then make -C audiomp3 clean; fi
	+if [ -d mplexhi ]; then make -C mplexhi clean; fi
	+if [ -d mplexlo ]; then make -C mplexlo clean; fi

	
backup: clean
	$(CD) .. && \
	tar zcf mpeg2_movie.tar.gz mpeg2_movie

exportvideo-tgz:
	./configure && \
	$(CD) .. && \
	$(LN) -s $(NAME) exportvideo.$(VERSION) && \
	tar czvf exportvideo.$(VERSION).tar.gz exportvideo.$(VERSION)/README* exportvideo.$(VERSION)/Makefile exportvideo.$(VERSION)/configure exportvideo.$(VERSION)/global_config exportvideo.$(VERSION)/libmpeg3 exportvideo.$(VERSION)/quicktime exportvideo.$(VERSION)/Makefile exportvideo.$(VERSION)/rtjpeg exportvideo.$(VERSION)/Makefile exportvideo.$(VERSION)/video/Makefile exportvideo.$(VERSION)/video/mpeg2enc.c exportvideo.$(VERSION)/video/mpeg2enc.h exportvideo.$(VERSION)/video/readpic.c exportvideo.$(VERSION)/video/areaDeinterlace.c exportvideo.$(VERSION)/video/areaDeinterlace.h exportvideo.$(VERSION)/video/rtjpeg_input.c exportvideo.$(VERSION)/video/rtjpeg_plugin.c exportvideo.$(VERSION)/video/rtjpeg_plugin.h exportvideo.$(VERSION)/video/avi_input.c exportvideo.$(VERSION)/video/aviplugin.C exportvideo.$(VERSION)/video/aviplugin.h exportvideo.$(VERSION)/video/codecmanager.c exportvideo.$(VERSION)/video/codecs exportvideo.$(VERSION)/video/yuvscaler.c exportvideo.$(VERSION)/video/timestamp.c exportvideo.$(VERSION)/video/minilzo.h exportvideo.$(VERSION)/video/lzoconf.h exportvideo.$(VERSION)/video/global.h exportvideo.$(VERSION)/video/config.h exportvideo.$(VERSION)/video/conv_color.c exportvideo.$(VERSION)/video/cpu_accel.c exportvideo.$(VERSION)/video/conv_color.c exportvideo.$(VERSION)/video/aspectcode.c exportvideo.$(VERSION)/avifile_audiodecoder ; \
	$(RM) exportvideo.$(VERSION)

avi2mpegpatch: ../$(NAME).$(VERSION)
	$(CD) .. && \
	tar czvf $(NAME).$(VERSION).tar.gz $(NAME).$(VERSION)

nuvpatch: ../mpeg2_movie-1.5-avi-nuv ../$(NAME).$(VERSION)
	$(CD) .. && \
	diff -u -r --new-file mpeg2_movie-1.5-avi-nuv $(NAME).$(VERSION) | gzip > $(NAME).$(VERSION).patch.gz

completepatch: ../mpeg2_movie-1.5 ../$(NAME).$(VERSION)
	$(CD) .. && \
	diff -u -r --new-file mpeg2_movie-1.5 $(NAME).$(VERSION) | gzip > $(NAME).$(VERSION).complete.patch.gz

olddiff: ../$(NAME).$(OLDVERSION) ../$(NAME).$(VERSION)
	$(CD) .. && \
	diff -u -r --new-file $(NAME).$(OLDVERSION) $(NAME).$(VERSION) | gzip > $(NAME).$(OLDVERSION)-$(VERSION).patch.gz

release: test-compile bin-release clean ../$(NAME).$(VERSION) exportvideo-tgz avi2mpegpatch nuvpatch completepatch olddiff
	scp RE* ../$(NAME).$(VERSION).tar.gz ../exportvideo.$(VERSION).tar.gz ../$(NAME).$(VERSION).patch.gz ../$(NAME).$(VERSION).complete.patch.gz ../$(NAME).$(OLDVERSION)-$(VERSION).patch.gz ../$(NAME).bin.$(VERSION).tar.gz 131.130.199.155:html/mystuff/mpeg2_movie-avipatch

bin-release: 
	$(CD) .. && \
	$(RM) -rf $(NAME).bin.$(VERSION) && \
	$(MKDIR) $(NAME).bin.$(VERSION) && \
	$(CP) $(NAME)/video/exportvideo $(NAME).bin.$(VERSION)/exportvideo.$(VERSION) && \
	$(CP) `ldd $(NAME).bin.$(VERSION)/exportvideo.$(VERSION)|cut -f3 -d\\ ` $(NAME).bin.$(VERSION) && \
	$(CP) $(NAME)/audiomp2/toolame $(NAME).bin.$(VERSION) && \
	$(CP) $(NAME)/mplexlo/mplex $(NAME).bin.$(VERSION)/mplexlo && \
	$(CP) $(NAME)/mplexfast/mplex $(NAME).bin.$(VERSION)/mplexfast && \
	$(LN) -s mplexfast $(NAME).bin.$(VERSION)/mplexhi && \
	$(CP) $(NAME)/avifile_audiodecoder/decoder $(NAME).bin.$(VERSION)/avifile_audiodecoder && \
	tar -czvf $(NAME).bin.$(VERSION).tar.gz $(NAME).bin.$(VERSION)
	
../$(NAME).$(VERSION):
	$(CD) .. && \
	$(RM) -rf $(NAME).$(VERSION) && \
	$(CP) -rf $(NAME) $(NAME).$(VERSION)

test-compile: exportvideo
	@echo "all ok." 

print-version:
	@echo $(VERSION)
