< prev index next >
make/ZipSource.gmk
Print this page
*** 1,7 ****
#
! # Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# 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
# published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
#
! # Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# 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
# published by the Free Software Foundation. Oracle designates this
*** 26,88 ****
default: all
include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
# Hook to include the corresponding custom file, if present.
$(eval $(call IncludeCustomExtension, , ZipSource.gmk))
################################################################################
! # Use ?= to enable override in custom makefile
! SRC_ZIP_INCLUDES ?= \
! com \
! java \
! javax \
! jdk \
! org \
! sun \
! #
!
! SRC_ZIP_EXCLUDES ?=
!
! SRC_ZIP_SRCS += $(wildcard \
! $(JDK_TOPDIR)/src/*/share/classes \
! $(JDK_TOPDIR)/src/*/$(OPENJDK_TARGET_OS)/classes \
! $(JDK_TOPDIR)/src/*/$(OPENJDK_TARGET_OS_API_DIR)/classes \
! $(LANGTOOLS_TOPDIR)/src/*/share/classes \
! $(CORBA_TOPDIR)/src/*/share/classes \
! $(JAXP_TOPDIR)/src/*/share/classes \
! $(JAXWS_TOPDIR)/src/*/share/classes \
! $(SUPPORT_OUTPUTDIR)/gensrc/j* \
! $(SUPPORT_OUTPUTDIR)/rmic/j* \
) \
! #
! # Need to copy launcher src files into desired directory structure
! # before zipping the sources.
! $(eval $(call SetupCopyFiles,COPY_LAUNCHER_SRC, \
! SRC := $(JDK_TOPDIR)/src/java.base, \
! DEST := $(SUPPORT_OUTPUTDIR)/src/launcher, \
! FLATTEN := true, \
! FILES := $(wildcard \
! $(JDK_TOPDIR)/src/java.base/share/native/launcher/* \
! $(JDK_TOPDIR)/src/java.base/share/native/libjli/* \
! $(JDK_TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_API_DIR)/native/libjli/java_md*)))
!
! # This dir needs to exist before macro is evaluated to avoid warning from find.
! $(call MakeDir, $(SUPPORT_OUTPUTDIR)/src)
! $(eval $(call SetupZipArchive,BUILD_SRC_ZIP, \
! SRC := $(SRC_ZIP_SRCS) $(SUPPORT_OUTPUTDIR)/src, \
! INCLUDES := $(SRC_ZIP_INCLUDES) launcher, \
EXCLUDES := $(SRC_ZIP_EXCLUDES), \
EXCLUDE_FILES := $(SRC_ZIP_EXCLUDE_FILES), \
! SUFFIXES := .java .c .h, \
ZIP := $(SUPPORT_OUTPUTDIR)/src.zip, \
! EXTRA_DEPS := $(COPY_LAUNCHER_SRC)))
################################################################################
! all: $(BUILD_SRC_ZIP)
! .PHONY: default all
--- 26,95 ----
default: all
include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
+ include Modules.gmk
+
+ SRC_ZIP_WORK_DIR := $(SUPPORT_OUTPUTDIR)/src
# Hook to include the corresponding custom file, if present.
$(eval $(call IncludeCustomExtension, , ZipSource.gmk))
################################################################################
+ # Create the directory structure for src.zip using symlinks.
+ # <module>/<package>/<file>.java
! # Find extra source dirs for a module that are not part of normal compilation
! # but should be included in src.zip.
! # $1: Module to find dirs for
! ExtraSrcDirs = \
! $(wildcard $(SUPPORT_OUTPUTDIR)/rmic/$(strip $1))
!
! ALL_MODULES := $(FindAllModules)
!
! # Generate the src dirs in the first make invocation and then call this makefile
! # again to create src.zip.
! $(foreach m, $(ALL_MODULES), \
! $(foreach d, $(call FindModuleSrcDirs, $m) $(call ExtraSrcDirs, $m), \
! $(eval $d_TARGET := $(SRC_ZIP_WORK_DIR)/$(patsubst $(TOPDIR)/%,%,$d)/$m) \
! $(if $(SRC_GENERATED), , \
! $(eval $$($d_TARGET): $d ; \
! $$(if $(filter $(TOPDIR)/%, $d), $$(link-file-relative), $$(link-file-absolute)) \
! ) \
! ) \
! $(eval SRC_ZIP_SRCS += $$($d_TARGET)) \
! $(eval SRC_ZIP_SRCS_$m += $$($d_TARGET)) \
) \
! )
! TARGETS += $(SRC_ZIP_SRCS)
!
! ################################################################################
! # Only evaluate the creation of src.zip in a sub make call when the symlinked
! # src directory structure has been generated.
! ifeq ($(SRC_GENERATED), true)
! $(eval $(call SetupZipArchive, BUILD_SRC_ZIP, \
! SRC := $(dir $(SRC_ZIP_SRCS)), \
! INCLUDES := $(SRC_ZIP_INCLUDES), \
! INCLUDE_FILES := $(SRC_ZIP_INCLUDE_FILES), \
EXCLUDES := $(SRC_ZIP_EXCLUDES), \
EXCLUDE_FILES := $(SRC_ZIP_EXCLUDE_FILES), \
! SUFFIXES := .java, \
ZIP := $(SUPPORT_OUTPUTDIR)/src.zip, \
! ))
!
! do-zip: $(BUILD_SRC_ZIP)
!
! .PHONY: do-zip
! endif
!
! zip: $(SRC_ZIP_SRCS)
! +$(MAKE) $(MAKE_ARGS) -f ZipSource.gmk do-zip SRC_GENERATED=true
!
! TARGETS += zip
################################################################################
! all: $(TARGETS)
! .PHONY: default all zip
< prev index next >