Replaced $Id$ and $Header$ keywords with $Revision-Id$ Deleted $Log$ keywords and any log messages
158 lines
4.8 KiB
Plaintext
158 lines
4.8 KiB
Plaintext
#*************************************************************************
|
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
|
# National Laboratory.
|
|
# Copyright (c) 2002 The Regents of the University of California, as
|
|
# Operator of Los Alamos National Laboratory.
|
|
# EPICS BASE Versions 3.13.7
|
|
# and higher are distributed subject to a Software License Agreement found
|
|
# in file LICENSE that is included with this distribution.
|
|
#*************************************************************************
|
|
# $Revision-Id$
|
|
#
|
|
|
|
|
|
ifeq ($(BUILD_CLASS),HOST)
|
|
|
|
#-------------------------------------------------------
|
|
# java jdk1.1.5 definitions
|
|
|
|
JAVA_INC = $(JAVA_DIR)/include
|
|
JAVA_BIN = $(JAVA_DIR)/bin
|
|
JAVA_INCLUDES += -I$(JAVA_INC) -I$(JAVA_INC)/$(word 1, $(subst -, ,$(T_A))) -I$(COMMON_DIR)
|
|
|
|
JAVACCMD = $(subst \,/,$(JAVA_BIN)/javac$(EXE) $(CLASSPATH) $(SOURCEPATH) $(JAVACFLAGS))
|
|
JAVAHCMD = $(subst \,/,$(JAVA_BIN)/javah$(EXE) -d $(COMMON_DIR) -force $(CLASSPATH) $(JAVAHFLAGS))
|
|
JARCMD = $(subst \,/,$(JAVA_BIN)/jar$(EXE) $(JAR_OPTIONS) $@ $(JARINPUT) $(JARPACKAGES))
|
|
|
|
#-------------------------------------------------------
|
|
vpath %.java ..
|
|
vpath %.jar .. $(COMMON_DIR)
|
|
|
|
empty:=
|
|
space:= $(empty) $(empty)
|
|
CLASSPATH = -classpath $(subst $(space),:,$(strip $(USR_PRECLASSPATH) $(INSTALL_JAVA) $(USR_CLASSPATH)))
|
|
SOURCEPATH = -sourcepath .:..:../..
|
|
|
|
#-------------------------------------------------------
|
|
# Java directory
|
|
|
|
ifdef JAVA
|
|
JAVA_DIRECTORY_TARGETS += $(INSTALL_JAVA)
|
|
endif
|
|
|
|
#-------------------------------------------------------
|
|
# Java native method C header files
|
|
|
|
JAVAHFLAGS += $(USR_JAVAHFLAGS)
|
|
JAVAINC_CLASSFILES += $(addprefix $(INSTALL_JAVA)/,$(subst _,/,$(subst .h,.class,$(JAVAINC))))
|
|
JAVAINC_CLASSNAMES += $(subst _,.,$(subst .h,,$(JAVAINC)))
|
|
COMMON_JAVAINC += $(addprefix $(COMMON_DIR)/,$(JAVAINC))
|
|
|
|
#-------------------------------------------------------
|
|
# Java class files
|
|
|
|
JAVACFLAGS += $(USR_JAVACFLAGS)
|
|
CLASSES += $(subst .java,.class,$(JAVA))
|
|
INSTALL_CLASSES = $(addprefix $(INSTALL_JAVA)/,$(CLASSES))
|
|
|
|
TESTCLASSES += $(subst .java,.class,$(notdir $(TESTJAVA)))
|
|
COMMON_TESTCLASSES += $(addprefix $(COMMON_DIR)/,$(TESTCLASSES))
|
|
DEPTESTJAVA += $(subst .class,.java,$(TESTCLASSES))
|
|
|
|
#-------------------------------------------------------
|
|
# Java jar file
|
|
|
|
INSTALL_JAR =$(addprefix $(INSTALL_JAVA)/,$(JAR))
|
|
JARMANIFEST += $(firstword $(MANIFEST) $(JAR_MANIFEST))
|
|
JARDEPFILES += $(addprefix $(INSTALL_JAVA)/,$(subst .java,.class,$(JAVA)) $(JAR_INPUT))
|
|
JARINPUT += $(foreach inp,$(JAR_INPUT),-C $(INSTALL_JAVA) $(subst .java,.class,$(inp)))
|
|
JARPACKAGES += $(foreach pkg,$(JAR_PACKAGES),-C $(INSTALL_JAVA) $(subst .,/,$(pkg)))
|
|
PACKAGEDIRS += $(foreach pkg,$(JAR_PACKAGES),$(addprefix $(INSTALL_JAVA)/,$(subst .,/,$(pkg))))
|
|
|
|
ifneq ($(JARMANIFEST),)
|
|
JAR_OPTIONS = cvmf $(JARMANIFEST)
|
|
else
|
|
JAR_OPTIONS = cvf
|
|
endif
|
|
|
|
#-------------------------------------------------------
|
|
# Java doc definitions
|
|
ifdef JAVADOC
|
|
JAVADOCFLAGS += $(USR_JAVADOCFLAGS)
|
|
JAVADOCCMD = $(subst \,/,$(JAVA_BIN)/javadoc$(EXE) $(CLASSPATH) $(SOURCEPATH) $(JAVADOCFLAGS))
|
|
INSTALL_JAVADOC = $(addprefix $(INSTALL_HTML)/,$(JAVADOC))/index.html
|
|
endif
|
|
|
|
#-------------------------------------------------------
|
|
# Java rules
|
|
|
|
all: install
|
|
|
|
install: buildInstall
|
|
|
|
buildInstall : build
|
|
|
|
rebuild: clean install
|
|
|
|
inc: $(JAVA_DIRECTORY_TARGETS) $(INSTALL_CLASSES) $(COMMON_JAVAINC)
|
|
|
|
build: inc
|
|
|
|
build: $(COMMON_TESTCLASSES)
|
|
|
|
buildInstall : $(INSTALL_JAR) $(INSTALL_JAVADOC)
|
|
|
|
#This clean works only from O.* dirs.
|
|
clean::
|
|
@$(RMDIR) $(INSTALL_CLASSES) $(PACKAGEDIRS)
|
|
@$(RM) $(INSTALL_JAR) $(INSTALL_JAVADOC)
|
|
@$(RM) $(COMMON_TESTCLASSES) $(COMMON_JAVAINC)
|
|
|
|
ifdef JAVA_DIRECTORY_TARGETS
|
|
$(JAVA_DIRECTORY_TARGETS):
|
|
$(MKDIR) -p $@
|
|
endif
|
|
|
|
$(COMMON_JAVAINC):$(JAVAINC_CLASSFILES)
|
|
$(ECHO) Creating header files $(COMMON_JAVAINC)
|
|
@$(RM) $@
|
|
$(JAVAHCMD) $(JAVAINC_CLASSNAMES)
|
|
|
|
$(COMMON_TESTCLASSES): $(addprefix ../,$(DEPTESTJAVA))
|
|
$(ECHO) Creating test java class files $(COMMON_TESTCLASSES)
|
|
@$(RM) $@
|
|
$(JAVACCMD) -d $(COMMON_DIR) $^
|
|
|
|
$(INSTALL_CLASSES): $(addprefix ../,$(JAVA))
|
|
$(ECHO) Creating java class files
|
|
@$(RM) $@
|
|
$(JAVACCMD) -d $(INSTALL_JAVA) $^
|
|
|
|
$(INSTALL_JAVADOC): $(addprefix ../,$(JAVA))
|
|
$(ECHO) Creating java doc files
|
|
@$(RM) $@
|
|
$(JAVADOCCMD) -d $(addprefix $(INSTALL_HTML)/,$(JAVADOC)) $^
|
|
|
|
$(COMMON_DIR)/%.jar: $(JARDEPFILES)
|
|
$(ECHO) Creating java jar file $@
|
|
@$(RM) $@
|
|
$(JARCMD)
|
|
|
|
$(INSTALL_JAVA)/%.jar: $(COMMON_DIR)/%.jar
|
|
$(ECHO) "Installing java jar file $@"
|
|
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
|
|
$(INSTALL_JAVA)/%.jar: %.jar
|
|
$(ECHO) "Installing java jar file $@"
|
|
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
|
|
$(addprefix $(INSTALL_JAVA)/, $(JARINPUT)): $(INSTALL_JAVA)/%: ../%
|
|
$(ECHO) "Installing jar input file $@"
|
|
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
|
|
.PHONY: all install buildInstall rebuild clean build inc
|
|
|
|
.PRECIOUS: $(COMMON_JAVAINC)
|
|
|
|
endif
|