Rules.gmk revision 4632
2362N/A# Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved. 0N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A# This code is free software; you can redistribute it and/or modify it 0N/A# under the terms of the GNU General Public License version 2 only, as 2362N/A# published by the Free Software Foundation. Oracle designates this 0N/A# particular file as subject to the "Classpath" exception as provided 2362N/A# by Oracle in the LICENSE file that accompanied this code. 0N/A# This code is distributed in the hope that it will be useful, but WITHOUT 0N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A# version 2 for more details (a copy is included in the LICENSE file that 0N/A# accompanied this code). 0N/A# You should have received a copy of the GNU General Public License version 0N/A# 2 along with this work; if not, write to the Free Software Foundation, 0N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 0N/A# Rules shared by all Java makefiles. 0N/A# Used to apply to source file $<, checks code conventions, issues warnings. 0N/A if [
"`$(CAT) -n -v -t $< | $(EGREP) -v '\@\(\#\)' | $(EGREP) '\^[MLI]'`" !=
"" ] ;
then \
0N/A $(ECHO) "WARNING: File contains tabs, ^M, or ^L characters: $<"; \
0N/A# Make sure the default rule is all 0N/A# Directory set up. (Needed by deploy workspace) 4632N/A # TODO(cpc): maybe we should modify JavaSrcDirList macro instead... 0N/A# If AUTO_FILES_PROPERTIES_DIRS used, automatically find properties files 0N/A# Add any automatically found properties files to the properties file list 0N/A# Compiling .java files. 0N/A# Automatically add to FILES_java if AUTO_FILES_JAVA_DIRS is defined 0N/A# There are two basic types of sources, normal source files and the 0N/A# generated ones. The Normal sources will be located in: 0N/A# The generated sources, which might show up late to dinner, are at: 0N/A# and since they could be generated late, we need to be careful that 0N/A# we look for these sources late and not use the ':=' assignment which 0N/A# might miss their generation. 0N/A # Filter out these files or directories 0N/A # First list is the normal sources that should always be there, 0N/A # by using the ':=', which means we do this processing once. 0N/A # Second list is the generated sources that should be rare, but will likely 0N/A # show up late and we need to look for them at the last minute, so we 0N/A # cannot use the ':=' assigment here. But if this gets expanded multiple 0N/A # times, the if tests should make them relatively cheap. 0N/A# Add all found java sources to FILES_java macro (if AUTO_FILES_JAVA_DIRS used) 0N/A# File that will hold java source names that need compiling 0N/A# Add a java source to the list 0N/A#Redirect zh_HK java files to tmp directory which created from zh_TW 0N/A# Rules for closed files 0N/A# If filenames are duplicated between open/closed workspaces, prefer 0N/A# Rule ordering in this Makefile is important: some targets depend 0N/A# on closed files replacing open ones, and thus the closed file rules 0N/A# must be found before the open ones. 0N/A# Don't reorder without consulting teams that depend on this behavior. 4632N/A# TODO(cpc): need to document why this is necessary... 0N/A#Redirect zh_HK java files to tmp directory which created from zh_TW 0N/A# List of class files needed 0N/A# Got to include exported files. 0N/A# Construct list of java sources we need to compile 0N/A# Note that we slip resources in so that compiled properties files get created: 0N/A# Make sure all newer sources are compiled (in a batch) 173N/A $(ECHO) "# Java sources to be compiled: (listed in file $<)"; \
0N/A# C and C++ make dependencies 0N/A# Running Javah to generate stuff into CClassHeaders. 0N/A# Fix when deploy workspace makefiles don't depend on this name 0N/A#CLASSHDR_DOTFILE=$(CLASSHDRDIR)/.classheaders 0N/A# Default dependencies