make/idea/idea.gmk
author prr
Tue, 14 Nov 2017 12:07:55 -0800
changeset 47839 314ac2e2db63
parent 37976 9cc5debe0f47
child 48667 f2344724a475
permissions -rw-r--r--
Merge

include Makefile
include make/MainSupport.gmk

.PHONY: idea

ifeq ($(SPEC),)
  ifneq ($(words $(SPECS)),1)
	@echo "Error: Multiple build specification files found. Please select one explicitly."
	@exit 2
  endif
  idea:
	@cd $(topdir)
	@$(MAKE) $(MFLAGS) $(MAKE_LOG_FLAGS) -r -R -j 1 -f $(topdir)/make/idea/idea.gmk SPEC=$(SPECS) HAS_SPEC=true ACTUAL_TOPDIR=$(topdir) MODULES="$(MODULES)" idea
else #with SPEC
  include make/common/Modules.gmk

  ifeq ($(MODULES),)
    SEL_MODULES := $(call FindAllModules)
  else
    SEL_MODULES := $(MODULES)
  endif

  # Find all source dirs for a particular module
  # $1 - Module to find source dirs for
  FindIdeaModuleSrcDirs = \
    $(strip $(addsuffix /$(strip $1), $(GENERATED_SRC_DIRS) $(IMPORT_MODULES_SRC)) \
        $(wildcard $(foreach sub, $(SRC_SUBDIRS), $(addsuffix /$(strip $1)/$(sub), $(TOP_SRC_DIRS)))))


  idea:
	$(ECHO) "SUPPORT=$(SUPPORT_OUTPUTDIR)" >> $(OUT)
	$(ECHO) "MODULE_ROOTS=\"$(foreach mod, $(SEL_MODULES), $(call FindIdeaModuleSrcDirs,$(mod)))\"" >> $(OUT)
	$(ECHO) "MODULE_NAMES=\"$(strip $(foreach mod, $(SEL_MODULES), $(mod)))\"" >> $(OUT)
	$(ECHO) "SEL_MODULES=\"$(SEL_MODULES)\"" >> $(OUT)
	$(ECHO) "BOOT_JDK=\"$(BOOT_JDK)\"" >> $(OUT)
	$(ECHO) "CYGPATH=\"$(CYGPATH)\"" >> $(OUT)
	$(ECHO) "SPEC=\"$(SPEC)\"" >> $(OUT)
	$(ECHO) "JT_HOME=\"$(JT_HOME)\"" >> $(OUT)

endif