# This makefile tries to build all RPP projects by calling various # Eclipse commands from command line. # # See http://processors.wiki.ti.com/index.php/Projects_-_Command_Line_Build/Create # and https://bugs.eclipse.org/bugs/show_bug.cgi?id=186847 ECLIPSE=/opt/ti/ccsv5/eclipse/eclipse WORKSPACE:=$(shell mktemp --dry-run --tmpdir -d rpp-lib-workspace.XXXXXXXXXX) all: rm -rf $(WORKSPACE) lib: rpp-lib.lib clean: rm -rf $(wildcard $(dir $(WORKSPACE))rpp-lib-workspace.*) rpp-lib.lib .PHONY: rpp-lib.lib rpp-lib.lib: $(MAKE) -C Debug $(WORKSPACE): mkdir -p $(WORKSPACE) # Usage: $(call build_ccs,project directory) or # $(call build_ccs,,project name) for project in current directory define build_ccs all: $(or $2,$(notdir $1)) $(or $2,$(notdir $1)): $(WORKSPACE) $(ECLIPSE) -noSplash -data $(WORKSPACE) -application com.ti.ccstudio.apps.projectImport -ccs.location $(if $1,$(CURDIR)/$1,$(CURDIR)) $(ECLIPSE) -noSplash -data $(WORKSPACE) -application com.ti.ccstudio.apps.projectBuild -ccs.projects $(or $2,$(notdir $1)) # Previous commands do not return non-zero exit code on build failure - invoke make directly to not miss a potential error $(MAKE) -C $(CURDIR)/$1/Debug all endef define build_cdt all: $1 $1: $(WORKSPACE) $(ECLIPSE) -noSplash -data $(WORKSPACE) -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import $(CURDIR)/apps/$1 $(ECLIPSE) -noSplash -data $(WORKSPACE) -application org.eclipse.cdt.managedbuilder.core.headlessbuild -build $1 endef $(eval $(call build_ccs,,rpp-lib)) $(eval $(call build_ccs,apps/rpp-test-suite)) $(eval $(call build_cdt,rpp-lib_posix)) $(eval $(call build_cdt,rpp-test-suite_posix)) ccs-help: $(WORKSPACE) $(ECLIPSE) -noSplash -data $(WORKSPACE) -application com.ti.ccstudio.apps.projectBuild -ccs.help