Skip to content

Commit

Permalink
Revert "Simplify and improve module dependency management"
Browse files Browse the repository at this point in the history
This reverts commit e1ae8a5.

Signed-off-by: Keith W. Campbell <[email protected]>
  • Loading branch information
keithc-ca committed May 31, 2024
1 parent 47e14b2 commit aa18b22
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 7 deletions.
13 changes: 8 additions & 5 deletions closed/custom/Main-post.gmk → closed/GensrcJ9JCL.gmk
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ===========================================================================
# (c) Copyright IBM Corp. 2020, 2024 All Rights Reserved
# (c) Copyright IBM Corp. 2020, 2023 All Rights Reserved
# ===========================================================================
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
Expand All @@ -18,6 +18,12 @@
# 2 along with this work; if not, see <http://www.gnu.org/licenses/>.
# ===========================================================================

.PHONY : all

all :

include $(SPEC)
include $(TOPDIR)/make/common/MakeBase.gmk
include $(TOPDIR)/closed/JPP.gmk

RecursiveWildcard = $(foreach dir,$(wildcard $1/*),$(call RecursiveWildcard,$(dir),$2) $(filter $(subst *,%,$2),$(dir)))
Expand Down Expand Up @@ -54,8 +60,6 @@ $(eval $(call SetupCopyFiles,COPY_OVERLAY_FILES, \

IncludeIfUnsure := -includeIfUnsure -noWarnIncludeIf

J9JCL_SOURCES_DONEFILE := $(MAKESUPPORT_OUTPUTDIR)/j9jcl.done

$(J9JCL_SOURCES_DONEFILE) : \
$(foreach dir, $(JppSourceDirs), $(call RecursiveWildcard,$(dir),*)) \
$(COPY_OVERLAY_FILES)
Expand All @@ -77,5 +81,4 @@ $(J9JCL_SOURCES_DONEFILE) : \
@$(MKDIR) -p $(@D)
@$(TOUCH) $@

# Force (re-)generation of module dependencies after preprocessing OpenJ9 source files.
$(MODULE_DEPS_MAKEFILE) : $(J9JCL_SOURCES_DONEFILE)
all : $(J9JCL_SOURCES_DONEFILE)
1 change: 1 addition & 0 deletions closed/OpenJ9.gmk
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ ifeq (,$(wildcard $(SPEC)))
endif
include $(SPEC)
include $(TOPDIR)/make/common/MakeBase.gmk
include $(TOPDIR)/closed/JPP.gmk

ifeq (,$(BUILD_ID))
BUILD_ID := 000000
Expand Down
1 change: 1 addition & 0 deletions closed/autoconf/custom-spec.gmk.in
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ $(foreach var, \
$(eval $(var) += -I$(SUPPORT_OUTPUTDIR)/openj9_include))

J9JCL_SOURCES_DIR := $(SUPPORT_OUTPUTDIR)/j9jcl
J9JCL_SOURCES_DONEFILE := $(MAKESUPPORT_OUTPUTDIR)/j9jcl.done

# Required by OpenJCEPlus.
BUILD_OPENJCEPLUS := @BUILD_OPENJCEPLUS@
Expand Down
10 changes: 9 additions & 1 deletion closed/custom/Main.gmk
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ===========================================================================
# (c) Copyright IBM Corp. 2017, 2024 All Rights Reserved
# (c) Copyright IBM Corp. 2017, 2023 All Rights Reserved
# ===========================================================================
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
Expand Down Expand Up @@ -35,6 +35,14 @@ PHASE_MAKEDIRS := $(TOPDIR)/closed/make $(PHASE_MAKEDIRS)

OPENJ9_MAKE := $(MAKE) $(MAKE_ARGS) -f $(TOPDIR)/closed/OpenJ9.gmk

# An early part of the build process involves computing the list of main targets.
# Those targets include {module}-java, {module}-jmod, etc. which requires that the
# set of module names be known. We must build and run the preprocessor to ensure the
# modules specific to OpenJ9 will be found and included in that set. The next two
# rules make that happen.

create-main-targets-include java.base-gensrc : generate-j9jcl-sources

j9vm-build : buildtools-langtools
ifeq ($(BUILD_OPENSSL),yes)
@+$(MAKE) $(MAKE_ARGS) -f $(TOPDIR)/closed/openssl.gmk
Expand Down
15 changes: 14 additions & 1 deletion closed/custom/common/Modules.gmk
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ===========================================================================
# (c) Copyright IBM Corp. 2017, 2024 All Rights Reserved
# (c) Copyright IBM Corp. 2017, 2023 All Rights Reserved
# ===========================================================================
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
Expand Down Expand Up @@ -59,3 +59,16 @@ TOP_SRC_DIRS += \
ifeq (true,$(BUILD_OPENJCEPLUS))
TOP_SRC_DIRS += $(OPENJCEPLUS_TOPDIR)/src/main
endif

.PHONY : generate-j9jcl-sources

generate-j9jcl-sources $(J9JCL_SOURCES_DONEFILE) :
@+$(MAKE) $(MAKE_ARGS) -f $(TOPDIR)/closed/GensrcJ9JCL.gmk

# When building multiple configurations at once (e.g. 'make CONF= images')
# the 'create-main-targets-include' target will only be considered for the
# first configuration; J9JCL source generation will be delayed for other
# configurations. In order to produce a complete module-deps.gmk, we need
# to ensure that the J9JCL source has been generated.

-include $(J9JCL_SOURCES_DONEFILE)

0 comments on commit aa18b22

Please sign in to comment.