##########################################################################
# Copyright (c) 2020 MBARI
# MBARI Proprietary Information.  All Rights Reserved
##########################################################################

LCM_TYPES:=types
LCM_UTILS:=utils
LCM_RAW:=raw
EXAMPLE:=example
DOCS:=docs

LCM_OPTS:=
ifeq ($(findstring lcmPython,$(MAKECMDGOALS)),lcmPython)
	LCM_OPTS=lcmPython
endif
ifeq ($(findstring lcmJava,$(MAKECMDGOALS)),lcmJava)
	LCM_OPTS=lcmJava
endif

.PHONY: $(LCM_TYPES) \
		$(EXAMPLE) \
		$(DOCS)

all: lcm

lpc3250: lcm example_lpc3250

lcm: $(LCM_TYPES)

lcmPython: $(LCM_TYPES)

lcmJava: $(LCM_TYPES)

example: types
	@echo 'Building target $@:'
	$(MAKE) -C $(EXAMPLE)
	@echo 'Finished building target: $@'

example_lpc3250: types
	$(MAKE) -C $(EXAMPLE) lpc3250

types:
	@echo 'Genrating TethysLcmTypes:'
	$(MAKE) -C $(LCM_TYPES) $(LCM_OPTS)
	@echo ''

docs: types
	@echo 'Genrating Doxygen docs:'
	cd $(DOCS); doxygen TethysLcmTypes.doxyfile
	@echo ''
	@echo 'Done. Access project documentation at: $(DOCS)/docs.html'

clean:
	$(MAKE) -C $(EXAMPLE) clean
	$(MAKE) -C $(LCM_TYPES) clean
	rm -rf $(DOCS)/html

