## LIM OpenMAX top-level helper Makefile.


## LIM OpenMAX source distribution.
LIM_OMX_DIST_VERSION = major.minor
LIM_DIST = lim-omx-$(LIM_OMX_DIST_VERSION)


## LIM OpenMAX development tree ?
lim_dev_tree := $(shell \
	if [ -e limutil ]; then \
		echo "y"; else echo "n"; \
	fi)


.PHONY: usage
usage:
	@echo
	@echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
	@echo "LIM OpenMAX Build System"
	@echo
	@echo "    make osm            : bootstrap and build everything"
	@echo "    make all            : build everything"
	@echo "    make clean          : clean everything"
	@echo "    make distclean      : deep distribution clean"
	@echo "    make install        : install everything"
ifeq ($(lim_dev_tree),y)
	@echo "    make dist           : distribution creation"
endif
	@echo


## repos
REPOS = limutil limoi-core limoi-base limoi-plugins limoi-components limoa


.PHONY: osm
osm:
	@for ii in `echo $(REPOS)`; do \
		set -e ; \
		cd $$ii* ; \
		./osm ; \
		cd .. ; \
	done


.PHONY: all clean distclean install dist $(REPOS)
all clean distclean install: $(REPOS)
$(REPOS):
	$(MAKE) -C $@* $(MAKECMDGOALS)


ifeq ($(lim_dev_tree),y)
dist:
	@mkdir -p $(LIM_DIST)
	@for ii in `echo $(REPOS)`; do \
		rm -f ./$$ii/*.gz ; \
		make -C $$ii $@; \
		cd $(LIM_DIST) ; \
		tar xzf ../$$ii/*.gz ; \
		if [ -d lib$$ii* ] ; then \
		mv lib$$ii* `echo lib$$ii* | sed s/lib//` ;\
		fi ;\
		cd .. ; \
	done

	@cp README $(LIM_DIST)
	@cp Makefile $(LIM_DIST)
	@tar -czf $(LIM_DIST).tar.gz $(LIM_DIST)
	@echo
	@echo "created package: $(LIM_DIST).tar.gz"
	@echo
	@rm -rf $(LIM_DIST)
endif
