Initial load
This commit is contained in:
parent
686d76f772
commit
319a3b9947
jdk
.hgignoreASSEMBLY_EXCEPTIONLICENSEREADMETHIRD_PARTY_README
make
ASSEMBLY_EXCEPTIONLICENSEMakefilePatchList.solarisREADMEREADME-builds.htmlREADME.htmlTHIRD_PARTY_README
com
Makefile
sun
Makefile
crypto/provider
demo
image
inputmethods
jarsigner
java
jmx
jndi
net
org
rowset
script
security
sql
tools
xml
common
BuildToolJar.gmkCancelImplicits.gmkClasses.gmkCscope.gmkDefs-linux.gmkDefs-solaris.gmkDefs-windows.gmkDefs.gmkDemo.gmkLibrary.gmkMapfile-vers.gmkProgram.gmkRelease.gmkRules-SCCS.gmkRules.gmkSanity.gmk
internal
BinaryPlugs.gmkDefs-corba.gmkDefs-jaxp.gmkDefs-jaxws.gmkDefs-langtools.gmkImportComponents.gmkNativeCompileRules.gmkResources.gmk
shared
3
jdk/.hgignore
Normal file
3
jdk/.hgignore
Normal file
@ -0,0 +1,3 @@
|
||||
^build/
|
||||
^dist/
|
||||
^nbproject/private/
|
27
jdk/ASSEMBLY_EXCEPTION
Normal file
27
jdk/ASSEMBLY_EXCEPTION
Normal file
@ -0,0 +1,27 @@
|
||||
|
||||
OPENJDK ASSEMBLY EXCEPTION
|
||||
|
||||
The OpenJDK source code made available by Sun at openjdk.java.net and
|
||||
openjdk.dev.java.net ("OpenJDK Code") is distributed under the terms of the
|
||||
GNU General Public License <http://www.gnu.org/copyleft/gpl.html> version 2
|
||||
only ("GPL2"), with the following clarification and special exception.
|
||||
|
||||
Linking this OpenJDK Code statically or dynamically with other code
|
||||
is making a combined work based on this library. Thus, the terms
|
||||
and conditions of GPL2 cover the whole combination.
|
||||
|
||||
As a special exception, Sun gives you permission to link this
|
||||
OpenJDK Code with certain code licensed by Sun as indicated at
|
||||
http://openjdk.java.net/legal/exception-modules-2007-05-08.html
|
||||
("Designated Exception Modules") to produce an executable,
|
||||
regardless of the license terms of the Designated Exception Modules,
|
||||
and to copy and distribute the resulting executable under GPL2,
|
||||
provided that the Designated Exception Modules continue to be
|
||||
governed by the licenses under which they were offered by Sun.
|
||||
|
||||
As such, it allows licensees and sublicensees of Sun's GPL2 OpenJDK Code to
|
||||
build an executable that includes those portions of necessary code that Sun
|
||||
could not provide under GPL2 (or that Sun has provided under GPL2 with the
|
||||
Classpath exception). If you modify or add to the OpenJDK code, that new
|
||||
GPL2 code may still be combined with Designated Exception Modules if the
|
||||
new code is made subject to this exception by its copyright holder.
|
347
jdk/LICENSE
Normal file
347
jdk/LICENSE
Normal file
@ -0,0 +1,347 @@
|
||||
The GNU General Public License (GPL)
|
||||
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this license
|
||||
document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your freedom to share
|
||||
and change it. By contrast, the GNU General Public License is intended to
|
||||
guarantee your freedom to share and change free software--to make sure the
|
||||
software is free for all its users. This General Public License applies to
|
||||
most of the Free Software Foundation's software and to any other program whose
|
||||
authors commit to using it. (Some other Free Software Foundation software is
|
||||
covered by the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not price. Our
|
||||
General Public Licenses are designed to make sure that you have the freedom to
|
||||
distribute copies of free software (and charge for this service if you wish),
|
||||
that you receive source code or can get it if you want it, that you can change
|
||||
the software or use pieces of it in new free programs; and that you know you
|
||||
can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid anyone to deny
|
||||
you these rights or to ask you to surrender the rights. These restrictions
|
||||
translate to certain responsibilities for you if you distribute copies of the
|
||||
software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether gratis or for
|
||||
a fee, you must give the recipients all the rights that you have. You must
|
||||
make sure that they, too, receive or can get the source code. And you must
|
||||
show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and (2)
|
||||
offer you this license which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain that
|
||||
everyone understands that there is no warranty for this free software. If the
|
||||
software is modified by someone else and passed on, we want its recipients to
|
||||
know that what they have is not the original, so that any problems introduced
|
||||
by others will not reflect on the original authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software patents. We
|
||||
wish to avoid the danger that redistributors of a free program will
|
||||
individually obtain patent licenses, in effect making the program proprietary.
|
||||
To prevent this, we have made it clear that any patent must be licensed for
|
||||
everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and modification
|
||||
follow.
|
||||
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains a notice
|
||||
placed by the copyright holder saying it may be distributed under the terms of
|
||||
this General Public License. The "Program", below, refers to any such program
|
||||
or work, and a "work based on the Program" means either the Program or any
|
||||
derivative work under copyright law: that is to say, a work containing the
|
||||
Program or a portion of it, either verbatim or with modifications and/or
|
||||
translated into another language. (Hereinafter, translation is included
|
||||
without limitation in the term "modification".) Each licensee is addressed as
|
||||
"you".
|
||||
|
||||
Activities other than copying, distribution and modification are not covered by
|
||||
this License; they are outside its scope. The act of running the Program is
|
||||
not restricted, and the output from the Program is covered only if its contents
|
||||
constitute a work based on the Program (independent of having been made by
|
||||
running the Program). Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's source code as
|
||||
you receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice and
|
||||
disclaimer of warranty; keep intact all the notices that refer to this License
|
||||
and to the absence of any warranty; and give any other recipients of the
|
||||
Program a copy of this License along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and you may
|
||||
at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion of it, thus
|
||||
forming a work based on the Program, and copy and distribute such modifications
|
||||
or work under the terms of Section 1 above, provided that you also meet all of
|
||||
these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices stating
|
||||
that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in whole or
|
||||
in part contains or is derived from the Program or any part thereof, to be
|
||||
licensed as a whole at no charge to all third parties under the terms of
|
||||
this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively when run,
|
||||
you must cause it, when started running for such interactive use in the
|
||||
most ordinary way, to print or display an announcement including an
|
||||
appropriate copyright notice and a notice that there is no warranty (or
|
||||
else, saying that you provide a warranty) and that users may redistribute
|
||||
the program under these conditions, and telling the user how to view a copy
|
||||
of this License. (Exception: if the Program itself is interactive but does
|
||||
not normally print such an announcement, your work based on the Program is
|
||||
not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If identifiable
|
||||
sections of that work are not derived from the Program, and can be reasonably
|
||||
considered independent and separate works in themselves, then this License, and
|
||||
its terms, do not apply to those sections when you distribute them as separate
|
||||
works. But when you distribute the same sections as part of a whole which is a
|
||||
work based on the Program, the distribution of the whole must be on the terms
|
||||
of this License, whose permissions for other licensees extend to the entire
|
||||
whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest your
|
||||
rights to work written entirely by you; rather, the intent is to exercise the
|
||||
right to control the distribution of derivative or collective works based on
|
||||
the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program with the
|
||||
Program (or with a work based on the Program) on a volume of a storage or
|
||||
distribution medium does not bring the other work under the scope of this
|
||||
License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it, under
|
||||
Section 2) in object code or executable form under the terms of Sections 1 and
|
||||
2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable source
|
||||
code, which must be distributed under the terms of Sections 1 and 2 above
|
||||
on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three years, to
|
||||
give any third party, for a charge no more than your cost of physically
|
||||
performing source distribution, a complete machine-readable copy of the
|
||||
corresponding source code, to be distributed under the terms of Sections 1
|
||||
and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer to
|
||||
distribute corresponding source code. (This alternative is allowed only
|
||||
for noncommercial distribution and only if you received the program in
|
||||
object code or executable form with such an offer, in accord with
|
||||
Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for making
|
||||
modifications to it. For an executable work, complete source code means all
|
||||
the source code for all modules it contains, plus any associated interface
|
||||
definition files, plus the scripts used to control compilation and installation
|
||||
of the executable. However, as a special exception, the source code
|
||||
distributed need not include anything that is normally distributed (in either
|
||||
source or binary form) with the major components (compiler, kernel, and so on)
|
||||
of the operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the source
|
||||
code from the same place counts as distribution of the source code, even though
|
||||
third parties are not compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program except as
|
||||
expressly provided under this License. Any attempt otherwise to copy, modify,
|
||||
sublicense or distribute the Program is void, and will automatically terminate
|
||||
your rights under this License. However, parties who have received copies, or
|
||||
rights, from you under this License will not have their licenses terminated so
|
||||
long as such parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not signed it.
|
||||
However, nothing else grants you permission to modify or distribute the Program
|
||||
or its derivative works. These actions are prohibited by law if you do not
|
||||
accept this License. Therefore, by modifying or distributing the Program (or
|
||||
any work based on the Program), you indicate your acceptance of this License to
|
||||
do so, and all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the Program),
|
||||
the recipient automatically receives a license from the original licensor to
|
||||
copy, distribute or modify the Program subject to these terms and conditions.
|
||||
You may not impose any further restrictions on the recipients' exercise of the
|
||||
rights granted herein. You are not responsible for enforcing compliance by
|
||||
third parties to this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues), conditions
|
||||
are imposed on you (whether by court order, agreement or otherwise) that
|
||||
contradict the conditions of this License, they do not excuse you from the
|
||||
conditions of this License. If you cannot distribute so as to satisfy
|
||||
simultaneously your obligations under this License and any other pertinent
|
||||
obligations, then as a consequence you may not distribute the Program at all.
|
||||
For example, if a patent license would not permit royalty-free redistribution
|
||||
of the Program by all those who receive copies directly or indirectly through
|
||||
you, then the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply and
|
||||
the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any patents or
|
||||
other property right claims or to contest validity of any such claims; this
|
||||
section has the sole purpose of protecting the integrity of the free software
|
||||
distribution system, which is implemented by public license practices. Many
|
||||
people have made generous contributions to the wide range of software
|
||||
distributed through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing to
|
||||
distribute software through any other system and a licensee cannot impose that
|
||||
choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to be a
|
||||
consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in certain
|
||||
countries either by patents or by copyrighted interfaces, the original
|
||||
copyright holder who places the Program under this License may add an explicit
|
||||
geographical distribution limitation excluding those countries, so that
|
||||
distribution is permitted only in or among countries not thus excluded. In
|
||||
such case, this License incorporates the limitation as if written in the body
|
||||
of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions of the
|
||||
General Public License from time to time. Such new versions will be similar in
|
||||
spirit to the present version, but may differ in detail to address new problems
|
||||
or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any later
|
||||
version", you have the option of following the terms and conditions either of
|
||||
that version or of any later version published by the Free Software Foundation.
|
||||
If the Program does not specify a version number of this License, you may
|
||||
choose any version ever published by the Free Software Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free programs
|
||||
whose distribution conditions are different, write to the author to ask for
|
||||
permission. For software which is copyrighted by the Free Software Foundation,
|
||||
write to the Free Software Foundation; we sometimes make exceptions for this.
|
||||
Our decision will be guided by the two goals of preserving the free status of
|
||||
all derivatives of our free software and of promoting the sharing and reuse of
|
||||
software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
|
||||
THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
|
||||
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
|
||||
PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
|
||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
|
||||
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE,
|
||||
YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
|
||||
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE
|
||||
PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
|
||||
INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
|
||||
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
|
||||
OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest possible
|
||||
use to the public, the best way to achieve this is to make it free software
|
||||
which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest to attach
|
||||
them to the start of each source file to most effectively convey the exclusion
|
||||
of warranty; and each file should have at least the "copyright" line and a
|
||||
pointer to where the full notice is found.
|
||||
|
||||
One line to give the program's name and a brief idea of what it does.
|
||||
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation; either version 2 of the License, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc., 59
|
||||
Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this when it
|
||||
starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
|
||||
with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free
|
||||
software, and you are welcome to redistribute it under certain conditions;
|
||||
type 'show c' for details.
|
||||
|
||||
The hypothetical commands 'show w' and 'show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may be
|
||||
called something other than 'show w' and 'show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary. Here
|
||||
is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
'Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
signature of Ty Coon, 1 April 1989
|
||||
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General Public
|
||||
License instead of this License.
|
||||
|
||||
|
||||
"CLASSPATH" EXCEPTION TO THE GPL
|
||||
|
||||
Certain source files distributed by Sun Microsystems, Inc. are subject to
|
||||
the following clarification and special exception to the GPL, but only where
|
||||
Sun has expressly included in the particular source file's header the words
|
||||
"Sun designates this particular file as subject to the "Classpath" exception
|
||||
as provided by Sun in the LICENSE file that accompanied this code."
|
||||
|
||||
Linking this library statically or dynamically with other modules is making
|
||||
a combined work based on this library. Thus, the terms and conditions of
|
||||
the GNU General Public License cover the whole combination.
|
||||
|
||||
As a special exception, the copyright holders of this library give you
|
||||
permission to link this library with independent modules to produce an
|
||||
executable, regardless of the license terms of these independent modules,
|
||||
and to copy and distribute the resulting executable under terms of your
|
||||
choice, provided that you also meet, for each linked independent module,
|
||||
the terms and conditions of the license of that module. An independent
|
||||
module is a module which is not derived from or based on this library. If
|
||||
you modify this library, you may extend this exception to your version of
|
||||
the library, but you are not obligated to do so. If you do not wish to do
|
||||
so, delete this exception statement from your version.
|
34
jdk/README
Normal file
34
jdk/README
Normal file
@ -0,0 +1,34 @@
|
||||
README:
|
||||
This file should be located at the top of the jdk Mercurial repository.
|
||||
|
||||
See http://openjdk.java.net/ for more information about the OpenJDK.
|
||||
|
||||
Simple Build Instructions:
|
||||
|
||||
1. Download and install a JDK 6 from
|
||||
http://java.sun.com/javase/downloads/index.jsp
|
||||
Set the environment variable ALT_BOOTDIR to the location of this JDK 6.
|
||||
|
||||
2. Download and install the Binary Plugs for the most recent JDK7 from
|
||||
http://download.java.net/openjdk/jdk7/
|
||||
Set the environment variable ALT_BINARY_PLUGS_PATH to the location of
|
||||
these binary plugs.
|
||||
|
||||
3. Either download and install the latest JDK7 from
|
||||
http://download.java.net/openjdk/jdk7/, or build your own complete
|
||||
OpenJDK7 by using the top level Makefile in the OpenJDK Mercurial forest.
|
||||
Set the environment variable ALT_JDK_IMPORT_PATH to the location of
|
||||
this latest JDK7 or OpenJDK7 build.
|
||||
|
||||
4. Check the sanity of doing a build with the current machine:
|
||||
cd make && gnumake sanity
|
||||
See README-builds.html if you run into problems.
|
||||
|
||||
5. Do a partial build of the jdk:
|
||||
cd make && gnumake all
|
||||
|
||||
6. Construct the images:
|
||||
cd make && gnumake images
|
||||
The resulting JDK image should be found in build/*/j2sdk-image
|
||||
|
||||
|
1616
jdk/THIRD_PARTY_README
Normal file
1616
jdk/THIRD_PARTY_README
Normal file
File diff suppressed because it is too large
Load Diff
27
jdk/make/ASSEMBLY_EXCEPTION
Normal file
27
jdk/make/ASSEMBLY_EXCEPTION
Normal file
@ -0,0 +1,27 @@
|
||||
|
||||
OPENJDK ASSEMBLY EXCEPTION
|
||||
|
||||
The OpenJDK source code made available by Sun at openjdk.java.net and
|
||||
openjdk.dev.java.net ("OpenJDK Code") is distributed under the terms of the
|
||||
GNU General Public License <http://www.gnu.org/copyleft/gpl.html> version 2
|
||||
only ("GPL2"), with the following clarification and special exception.
|
||||
|
||||
Linking this OpenJDK Code statically or dynamically with other code
|
||||
is making a combined work based on this library. Thus, the terms
|
||||
and conditions of GPL2 cover the whole combination.
|
||||
|
||||
As a special exception, Sun gives you permission to link this
|
||||
OpenJDK Code with certain code licensed by Sun as indicated at
|
||||
http://openjdk.java.net/legal/exception-modules-2007-05-08.html
|
||||
("Designated Exception Modules") to produce an executable,
|
||||
regardless of the license terms of the Designated Exception Modules,
|
||||
and to copy and distribute the resulting executable under GPL2,
|
||||
provided that the Designated Exception Modules continue to be
|
||||
governed by the licenses under which they were offered by Sun.
|
||||
|
||||
As such, it allows licensees and sublicensees of Sun's GPL2 OpenJDK Code to
|
||||
build an executable that includes those portions of necessary code that Sun
|
||||
could not provide under GPL2 (or that Sun has provided under GPL2 with the
|
||||
Classpath exception). If you modify or add to the OpenJDK code, that new
|
||||
GPL2 code may still be combined with Designated Exception Modules if the
|
||||
new code is made subject to this exception by its copyright holder.
|
347
jdk/make/LICENSE
Normal file
347
jdk/make/LICENSE
Normal file
@ -0,0 +1,347 @@
|
||||
The GNU General Public License (GPL)
|
||||
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this license
|
||||
document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your freedom to share
|
||||
and change it. By contrast, the GNU General Public License is intended to
|
||||
guarantee your freedom to share and change free software--to make sure the
|
||||
software is free for all its users. This General Public License applies to
|
||||
most of the Free Software Foundation's software and to any other program whose
|
||||
authors commit to using it. (Some other Free Software Foundation software is
|
||||
covered by the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not price. Our
|
||||
General Public Licenses are designed to make sure that you have the freedom to
|
||||
distribute copies of free software (and charge for this service if you wish),
|
||||
that you receive source code or can get it if you want it, that you can change
|
||||
the software or use pieces of it in new free programs; and that you know you
|
||||
can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid anyone to deny
|
||||
you these rights or to ask you to surrender the rights. These restrictions
|
||||
translate to certain responsibilities for you if you distribute copies of the
|
||||
software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether gratis or for
|
||||
a fee, you must give the recipients all the rights that you have. You must
|
||||
make sure that they, too, receive or can get the source code. And you must
|
||||
show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and (2)
|
||||
offer you this license which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain that
|
||||
everyone understands that there is no warranty for this free software. If the
|
||||
software is modified by someone else and passed on, we want its recipients to
|
||||
know that what they have is not the original, so that any problems introduced
|
||||
by others will not reflect on the original authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software patents. We
|
||||
wish to avoid the danger that redistributors of a free program will
|
||||
individually obtain patent licenses, in effect making the program proprietary.
|
||||
To prevent this, we have made it clear that any patent must be licensed for
|
||||
everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and modification
|
||||
follow.
|
||||
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains a notice
|
||||
placed by the copyright holder saying it may be distributed under the terms of
|
||||
this General Public License. The "Program", below, refers to any such program
|
||||
or work, and a "work based on the Program" means either the Program or any
|
||||
derivative work under copyright law: that is to say, a work containing the
|
||||
Program or a portion of it, either verbatim or with modifications and/or
|
||||
translated into another language. (Hereinafter, translation is included
|
||||
without limitation in the term "modification".) Each licensee is addressed as
|
||||
"you".
|
||||
|
||||
Activities other than copying, distribution and modification are not covered by
|
||||
this License; they are outside its scope. The act of running the Program is
|
||||
not restricted, and the output from the Program is covered only if its contents
|
||||
constitute a work based on the Program (independent of having been made by
|
||||
running the Program). Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's source code as
|
||||
you receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice and
|
||||
disclaimer of warranty; keep intact all the notices that refer to this License
|
||||
and to the absence of any warranty; and give any other recipients of the
|
||||
Program a copy of this License along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and you may
|
||||
at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion of it, thus
|
||||
forming a work based on the Program, and copy and distribute such modifications
|
||||
or work under the terms of Section 1 above, provided that you also meet all of
|
||||
these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices stating
|
||||
that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in whole or
|
||||
in part contains or is derived from the Program or any part thereof, to be
|
||||
licensed as a whole at no charge to all third parties under the terms of
|
||||
this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively when run,
|
||||
you must cause it, when started running for such interactive use in the
|
||||
most ordinary way, to print or display an announcement including an
|
||||
appropriate copyright notice and a notice that there is no warranty (or
|
||||
else, saying that you provide a warranty) and that users may redistribute
|
||||
the program under these conditions, and telling the user how to view a copy
|
||||
of this License. (Exception: if the Program itself is interactive but does
|
||||
not normally print such an announcement, your work based on the Program is
|
||||
not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If identifiable
|
||||
sections of that work are not derived from the Program, and can be reasonably
|
||||
considered independent and separate works in themselves, then this License, and
|
||||
its terms, do not apply to those sections when you distribute them as separate
|
||||
works. But when you distribute the same sections as part of a whole which is a
|
||||
work based on the Program, the distribution of the whole must be on the terms
|
||||
of this License, whose permissions for other licensees extend to the entire
|
||||
whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest your
|
||||
rights to work written entirely by you; rather, the intent is to exercise the
|
||||
right to control the distribution of derivative or collective works based on
|
||||
the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program with the
|
||||
Program (or with a work based on the Program) on a volume of a storage or
|
||||
distribution medium does not bring the other work under the scope of this
|
||||
License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it, under
|
||||
Section 2) in object code or executable form under the terms of Sections 1 and
|
||||
2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable source
|
||||
code, which must be distributed under the terms of Sections 1 and 2 above
|
||||
on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three years, to
|
||||
give any third party, for a charge no more than your cost of physically
|
||||
performing source distribution, a complete machine-readable copy of the
|
||||
corresponding source code, to be distributed under the terms of Sections 1
|
||||
and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer to
|
||||
distribute corresponding source code. (This alternative is allowed only
|
||||
for noncommercial distribution and only if you received the program in
|
||||
object code or executable form with such an offer, in accord with
|
||||
Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for making
|
||||
modifications to it. For an executable work, complete source code means all
|
||||
the source code for all modules it contains, plus any associated interface
|
||||
definition files, plus the scripts used to control compilation and installation
|
||||
of the executable. However, as a special exception, the source code
|
||||
distributed need not include anything that is normally distributed (in either
|
||||
source or binary form) with the major components (compiler, kernel, and so on)
|
||||
of the operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the source
|
||||
code from the same place counts as distribution of the source code, even though
|
||||
third parties are not compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program except as
|
||||
expressly provided under this License. Any attempt otherwise to copy, modify,
|
||||
sublicense or distribute the Program is void, and will automatically terminate
|
||||
your rights under this License. However, parties who have received copies, or
|
||||
rights, from you under this License will not have their licenses terminated so
|
||||
long as such parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not signed it.
|
||||
However, nothing else grants you permission to modify or distribute the Program
|
||||
or its derivative works. These actions are prohibited by law if you do not
|
||||
accept this License. Therefore, by modifying or distributing the Program (or
|
||||
any work based on the Program), you indicate your acceptance of this License to
|
||||
do so, and all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the Program),
|
||||
the recipient automatically receives a license from the original licensor to
|
||||
copy, distribute or modify the Program subject to these terms and conditions.
|
||||
You may not impose any further restrictions on the recipients' exercise of the
|
||||
rights granted herein. You are not responsible for enforcing compliance by
|
||||
third parties to this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues), conditions
|
||||
are imposed on you (whether by court order, agreement or otherwise) that
|
||||
contradict the conditions of this License, they do not excuse you from the
|
||||
conditions of this License. If you cannot distribute so as to satisfy
|
||||
simultaneously your obligations under this License and any other pertinent
|
||||
obligations, then as a consequence you may not distribute the Program at all.
|
||||
For example, if a patent license would not permit royalty-free redistribution
|
||||
of the Program by all those who receive copies directly or indirectly through
|
||||
you, then the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply and
|
||||
the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any patents or
|
||||
other property right claims or to contest validity of any such claims; this
|
||||
section has the sole purpose of protecting the integrity of the free software
|
||||
distribution system, which is implemented by public license practices. Many
|
||||
people have made generous contributions to the wide range of software
|
||||
distributed through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing to
|
||||
distribute software through any other system and a licensee cannot impose that
|
||||
choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to be a
|
||||
consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in certain
|
||||
countries either by patents or by copyrighted interfaces, the original
|
||||
copyright holder who places the Program under this License may add an explicit
|
||||
geographical distribution limitation excluding those countries, so that
|
||||
distribution is permitted only in or among countries not thus excluded. In
|
||||
such case, this License incorporates the limitation as if written in the body
|
||||
of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions of the
|
||||
General Public License from time to time. Such new versions will be similar in
|
||||
spirit to the present version, but may differ in detail to address new problems
|
||||
or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any later
|
||||
version", you have the option of following the terms and conditions either of
|
||||
that version or of any later version published by the Free Software Foundation.
|
||||
If the Program does not specify a version number of this License, you may
|
||||
choose any version ever published by the Free Software Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free programs
|
||||
whose distribution conditions are different, write to the author to ask for
|
||||
permission. For software which is copyrighted by the Free Software Foundation,
|
||||
write to the Free Software Foundation; we sometimes make exceptions for this.
|
||||
Our decision will be guided by the two goals of preserving the free status of
|
||||
all derivatives of our free software and of promoting the sharing and reuse of
|
||||
software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
|
||||
THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
|
||||
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
|
||||
PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
|
||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
|
||||
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE,
|
||||
YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
|
||||
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE
|
||||
PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
|
||||
INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
|
||||
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
|
||||
OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest possible
|
||||
use to the public, the best way to achieve this is to make it free software
|
||||
which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest to attach
|
||||
them to the start of each source file to most effectively convey the exclusion
|
||||
of warranty; and each file should have at least the "copyright" line and a
|
||||
pointer to where the full notice is found.
|
||||
|
||||
One line to give the program's name and a brief idea of what it does.
|
||||
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation; either version 2 of the License, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc., 59
|
||||
Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this when it
|
||||
starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
|
||||
with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free
|
||||
software, and you are welcome to redistribute it under certain conditions;
|
||||
type 'show c' for details.
|
||||
|
||||
The hypothetical commands 'show w' and 'show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may be
|
||||
called something other than 'show w' and 'show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary. Here
|
||||
is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
'Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
signature of Ty Coon, 1 April 1989
|
||||
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General Public
|
||||
License instead of this License.
|
||||
|
||||
|
||||
"CLASSPATH" EXCEPTION TO THE GPL
|
||||
|
||||
Certain source files distributed by Sun Microsystems, Inc. are subject to
|
||||
the following clarification and special exception to the GPL, but only where
|
||||
Sun has expressly included in the particular source file's header the words
|
||||
"Sun designates this particular file as subject to the "Classpath" exception
|
||||
as provided by Sun in the LICENSE file that accompanied this code."
|
||||
|
||||
Linking this library statically or dynamically with other modules is making
|
||||
a combined work based on this library. Thus, the terms and conditions of
|
||||
the GNU General Public License cover the whole combination.
|
||||
|
||||
As a special exception, the copyright holders of this library give you
|
||||
permission to link this library with independent modules to produce an
|
||||
executable, regardless of the license terms of these independent modules,
|
||||
and to copy and distribute the resulting executable under terms of your
|
||||
choice, provided that you also meet, for each linked independent module,
|
||||
the terms and conditions of the license of that module. An independent
|
||||
module is a module which is not derived from or based on this library. If
|
||||
you modify this library, you may extend this exception to your version of
|
||||
the library, but you are not obligated to do so. If you do not wish to do
|
||||
so, delete this exception statement from your version.
|
349
jdk/make/Makefile
Normal file
349
jdk/make/Makefile
Normal file
@ -0,0 +1,349 @@
|
||||
#
|
||||
# Copyright 1995-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building and packaging all of the JDK and the JRE. See
|
||||
# also included files.
|
||||
#
|
||||
|
||||
BUILDDIR=.
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Make sure we are clear what the default target is
|
||||
#
|
||||
default_target: all
|
||||
|
||||
#
|
||||
# Check target
|
||||
#
|
||||
|
||||
check: variable_check
|
||||
|
||||
#
|
||||
# Help target
|
||||
#
|
||||
help: intro_help target_help variable_help notes_help examples_help
|
||||
|
||||
# Intro help message
|
||||
intro_help:
|
||||
@$(ECHO) "\
|
||||
Makefile for the main JDK workspace. \n\
|
||||
Default behavior is to use the BOOTDIR javac to bootstrap the build and \n\
|
||||
import in pre-built components like the VM from the JDK_IMPORT_PATH. \n\
|
||||
"
|
||||
|
||||
# Target help
|
||||
target_help:
|
||||
@$(ECHO) "\
|
||||
--- Common Targets --- \n\
|
||||
all -- build the core JDK (default target) \n\
|
||||
help -- Print out help information \n\
|
||||
check -- Check make variable values for correctness \n\
|
||||
sanity -- Perform detailed sanity checks on system and settings \n\
|
||||
openjdk -- synonym for 'OPENJDK=true all' \n\
|
||||
fastdebug -- build the core JDK in 'fastdebug' mode (-g -O) \n\
|
||||
debug -- build the core JDK in 'debug' mode (-g) \n\
|
||||
clean -- remove all built and imported files \n\
|
||||
clobber -- same as clean \n\
|
||||
docs -- run javadoc to generate the JDK documentation \n\
|
||||
images -- build the jdk and jre image directories \n\
|
||||
import -- copy in the pre-built components (e.g. VM) \n\
|
||||
import_product -- copy in the product components \n\
|
||||
import_fastdebug -- copy in the fastdebug components \n\
|
||||
import_debug -- copy in the debug components \n\
|
||||
sccs_get -- make sure all SCCS files are up-to-date (need SCCS) \n\
|
||||
create_links -- create softlinks in Solaris 32bit build to 64bit dirs \n\
|
||||
"
|
||||
|
||||
# Variable help (only common ones used by this workspace)
|
||||
variable_help: variable_help_intro variable_list variable_help_end
|
||||
variable_help_intro:
|
||||
@$(ECHO) "--- Common Variables ---"
|
||||
variable_help_end:
|
||||
@$(ECHO) " "
|
||||
|
||||
# One line descriptions for the variables
|
||||
OUTPUTDIR.desc = Output directory
|
||||
PARALLEL_COMPILE_JOBS.desc = Solaris/Linux parallel compile run count
|
||||
SLASH_JAVA.desc = Root of all build tools, e.g. /java or J:
|
||||
BOOTDIR.desc = JDK used to boot the build
|
||||
LANGTOOLS_DIST.desc = langtools dist area used to build
|
||||
CORBA_DIST.desc = corba dist area
|
||||
JAXP_DIST.desc = jaxp dist area
|
||||
JAXWS_DIST.desc = jaxws dist area
|
||||
JDK_IMPORT_PATH.desc = JDK used to import components of the build
|
||||
COMPILER_PATH.desc = Compiler install directory
|
||||
CACERTS_FILE.desc = Location of certificates file
|
||||
DEVTOOLS_PATH.desc = Directory containing zip and unzip
|
||||
CUPS_HEADERS_PATH.desc = Include directory location for CUPS header files
|
||||
DXSDK_PATH.desc = Root directory of DirectX SDK
|
||||
MSDEVTOOLS_PATH.desc = Root directory of VC++ tools (e.g. rc.exe)
|
||||
MSVCRT_DLL_PATH.desc = Directory containing mscvrt.dll
|
||||
|
||||
# Make variables to print out (description and value)
|
||||
VARIABLE_PRINTVAL_LIST += \
|
||||
OUTPUTDIR \
|
||||
PARALLEL_COMPILE_JOBS \
|
||||
SLASH_JAVA \
|
||||
BOOTDIR \
|
||||
LANGTOOLS_DIST \
|
||||
JAXWS_DIST \
|
||||
CORBA_DIST \
|
||||
JAXP_DIST \
|
||||
JDK_IMPORT_PATH \
|
||||
COMPILER_PATH \
|
||||
CACERTS_FILE \
|
||||
DEVTOOLS_PATH
|
||||
|
||||
# Make variables that should refer to directories that exist
|
||||
VARIABLE_CHECKDIR_LIST += \
|
||||
SLASH_JAVA \
|
||||
BOOTDIR \
|
||||
JDK_IMPORT_PATH \
|
||||
COMPILER_PATH \
|
||||
DEVTOOLS_PATH
|
||||
|
||||
# Make variables that should refer to files that exist
|
||||
VARIABLE_CHECKFIL_LIST += \
|
||||
CACERTS_FILE
|
||||
|
||||
# Some are windows specific
|
||||
ifeq ($(PLATFORM), windows)
|
||||
|
||||
VARIABLE_PRINTVAL_LIST += \
|
||||
DXSDK_PATH \
|
||||
MSDEVTOOLS_PATH \
|
||||
MSVCRT_DLL_PATH
|
||||
|
||||
VARIABLE_CHECKDIR_LIST += \
|
||||
DXSDK_PATH \
|
||||
MSDEVTOOLS_PATH \
|
||||
MSVCRT_DLL_PATH
|
||||
|
||||
endif
|
||||
|
||||
# For pattern rules below, so all are treated the same
|
||||
DO_PRINTVAL_LIST=$(VARIABLE_PRINTVAL_LIST:%=%.printval)
|
||||
DO_CHECKDIR_LIST=$(VARIABLE_CHECKDIR_LIST:%=%.checkdir)
|
||||
DO_CHECKFIL_LIST=$(VARIABLE_CHECKFIL_LIST:%=%.checkfil)
|
||||
|
||||
# Complete variable check
|
||||
variable_check: $(DO_CHECKDIR_LIST) $(DO_CHECKFIL_LIST)
|
||||
variable_list: $(DO_PRINTVAL_LIST) variable_check
|
||||
|
||||
# Pattern rule for printing out a variable
|
||||
%.printval:
|
||||
@$(ECHO) " ALT_$* - $($*.desc)"
|
||||
@$(ECHO) " \t $*=$($*)"
|
||||
|
||||
# Pattern rule for checking to see if a variable with a directory exists
|
||||
%.checkdir:
|
||||
@if [ ! -d $($*) ] ; then \
|
||||
$(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \
|
||||
fi
|
||||
|
||||
# Pattern rule for checking to see if a variable with a file exists
|
||||
%.checkfil:
|
||||
@if [ ! -f $($*) ] ; then \
|
||||
$(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \
|
||||
fi
|
||||
|
||||
# Misc notes on help
|
||||
notes_help:
|
||||
@$(ECHO) "\
|
||||
--- Notes --- \n\
|
||||
- All builds use same output directory unless overridden with \n\
|
||||
\t ALT_OUTPUTDIR=<dir>, changing from product to fastdebug you may want \n\
|
||||
\t to use the clean target first. \n\
|
||||
- LANGTOOLS_DIST must refer to a langtools dist area, used to build. \n\
|
||||
- CORBA_DIST must refer to a corba dist area. \n\
|
||||
- JAXP_DIST must refer to a jaxp dist area. \n\
|
||||
- JAXWS_DIST must refer to a jaxws dist area. \n\
|
||||
- JDK_IMPORT_PATH must refer to a compatible build, not all past promoted \n\
|
||||
\t builds or previous release JDK builds will work. \n\
|
||||
- The 'debug' target and 'import_debug' only works when a debug promoted \n\
|
||||
\t build is available, and they currently are not. \n\
|
||||
- The fastest builds have been when the workspace and the BOOTDIR are on \n\
|
||||
\t local disk. \n\
|
||||
"
|
||||
|
||||
examples_help:
|
||||
@$(ECHO) "\
|
||||
--- Examples --- \n\
|
||||
$(MAKE) fastdebug \n\
|
||||
$(MAKE) ALT_OUTPUTDIR=/tmp/foobar all \n\
|
||||
$(MAKE) ALT_OUTPUTDIR=/tmp/foobar fastdebug images \n\
|
||||
$(MAKE) ALT_OUTPUTDIR=/tmp/foobar all docs images \n\
|
||||
$(MAKE) ALT_BOOTDIR=/opt/java/jdk1.6.0 \n\
|
||||
$(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk1.7.0 \n\
|
||||
"
|
||||
|
||||
#
|
||||
# 'all' target intro
|
||||
#
|
||||
all::
|
||||
@$(ECHO) $(PLATFORM) $(ARCH) $(RELEASE) build started: $(shell $(DATE) '+%y-%m-%d %H:%M')
|
||||
|
||||
# Just in case anyone uses this old name, same as 'build'
|
||||
optimized: build
|
||||
|
||||
openjdk:
|
||||
$(MAKE) OPENJDK=true all
|
||||
|
||||
#
|
||||
# Special debug rules (You may also want to set ALT_OUTPUTDIR)
|
||||
#
|
||||
debug:
|
||||
$(MAKE) VARIANT=DBG all
|
||||
fastdebug:
|
||||
$(MAKE) VARIANT=DBG FASTDEBUG=true all
|
||||
|
||||
#
|
||||
# Rules to re-import VM and other JDK files
|
||||
#
|
||||
import:
|
||||
$(CD) java/redist; $(MAKE) clean all
|
||||
|
||||
import_fastdebug:
|
||||
$(MAKE) VARIANT=DBG FASTDEBUG=true import
|
||||
|
||||
import_product:
|
||||
$(MAKE) VARIANT=OPT FASTDEBUG=false import
|
||||
|
||||
#
|
||||
# Core.
|
||||
#
|
||||
|
||||
all build:: sanity-all post-sanity-all
|
||||
|
||||
SUBDIRS = tools java javax org sun sunw com jpda mkdemo mksample launchers
|
||||
all build::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
clean clobber::
|
||||
$(RM) -r $(OUTPUTDIR)
|
||||
|
||||
#
|
||||
# Docs
|
||||
#
|
||||
OTHERSUBDIRS = docs
|
||||
docs:: sanity-docs post-sanity-docs
|
||||
$(OTHERSUBDIRS-loop)
|
||||
|
||||
#
|
||||
# Release engineering targets.
|
||||
#
|
||||
include $(BUILDDIR)/common/Release.gmk
|
||||
|
||||
#
|
||||
# Cscope targets.
|
||||
#
|
||||
include $(BUILDDIR)/common/Cscope.gmk
|
||||
|
||||
#
|
||||
# Sanity checks.
|
||||
#
|
||||
include $(BUILDDIR)/common/Sanity.gmk
|
||||
|
||||
$(OUTPUTDIR) $(TEMPDIR):
|
||||
$(MKDIR) -p $@
|
||||
|
||||
# cleanup everything. If the workspace is not being built by the control
|
||||
# workspace, and if it is a Teamware workspace, then see if there are
|
||||
# any files which are not under SCCS control.
|
||||
clean clobber::
|
||||
ifndef EXTERNALSANITYCONTROL
|
||||
@if [ -d $(TOPDIR)/Codemgr_wsdata ]; then \
|
||||
$(ECHO) '\nPerforming workspace scan for remnant files.\n' \
|
||||
' Any files listed below are not under SCCS control in the workspace\n' \
|
||||
' and you should review them and possibly remove them manually:' ; \
|
||||
$(FIND) $(TOPDIR)/make $(TOPDIR)/src -type f | \
|
||||
$(SED) 's+SCCS/[ps]\.++' | $(SORT) | $(UNIQ) -c | $(NAWK) '$$1<2 {print $$2;}' ; \
|
||||
$(ECHO) 'End of workspace scan.' ; \
|
||||
fi
|
||||
endif
|
||||
|
||||
# this should be the last rule in this file:
|
||||
all::
|
||||
@if [ -r $(WARNING_FILE) ]; then \
|
||||
$(CAT) $(WARNING_FILE) ; \
|
||||
fi
|
||||
@$(ECHO) $(PLATFORM) $(ARCH) $(RELEASE) build finished: $(shell $(DATE) '+%y-%m-%d %H:%M')
|
||||
|
||||
#
|
||||
# Developer rule that links 32 and 64 bit builds on Solaris by creating
|
||||
# softlinks in the 32bit outputdir to the 64bit outputdir.
|
||||
#
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
ifeq ($(ARCH_FAMILY), sparc)
|
||||
ARCH32 = sparc
|
||||
ARCH64 = sparcv9
|
||||
else
|
||||
ARCH32 = i586
|
||||
ARCH64 = amd64
|
||||
endif
|
||||
OUTPUTDIR32 = $(ABS_OUTPUTDIR)/../$(PLATFORM)-$(ARCH32)
|
||||
OUTPUTDIR64 = $(ABS_OUTPUTDIR)/../$(PLATFORM)-$(ARCH64)
|
||||
endif
|
||||
|
||||
create_links:
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
@if [ -d $(OUTPUTDIR32) -a -d $(OUTPUTDIR64) ] ; then \
|
||||
dirlist=`($(CD) $(OUTPUTDIR64); $(FIND) . -name $(ARCH64))`; \
|
||||
for sd in $$dirlist ; do \
|
||||
pdir=`$(DIRNAME) $$sd`; \
|
||||
if [ -d $(OUTPUTDIR32)/$$pdir ] ; then \
|
||||
echo "Creating link for $$sd"; \
|
||||
(cd $(OUTPUTDIR32)/$$pdir; $(RM) $(ARCH64); \
|
||||
$(LN) -s $(OUTPUTDIR64)/$$sd ); \
|
||||
fi; \
|
||||
done; \
|
||||
else \
|
||||
$(ECHO) "Build both 32 and 64 bit versions first"; \
|
||||
fi
|
||||
else
|
||||
$(ECHO) "Rule $@ does not apply on $(PLATFORM)-$(ARCH)"
|
||||
endif
|
||||
|
||||
#
|
||||
# Binary Plug rules and macros
|
||||
#
|
||||
include $(BUILDDIR)/common/internal/BinaryPlugs.gmk
|
||||
|
||||
#
|
||||
# Get top level sccs_get rule
|
||||
#
|
||||
include $(BUILDDIR)/common/Rules-SCCS.gmk
|
||||
|
||||
# JPRT rules
|
||||
include jprt.gmk
|
||||
|
||||
#
|
||||
# Phonies to avoid accidents.
|
||||
#
|
||||
.PHONY: all build clean clobber optimized debug fastdebug create_links \
|
||||
import import_product import_fastdebug import_debug
|
||||
|
31
jdk/make/PatchList.solaris
Normal file
31
jdk/make/PatchList.solaris
Normal file
@ -0,0 +1,31 @@
|
||||
BUILD,RUNTIME 5.8 Sparc 109147-24 x86 109148-24 REQ "Linker patch"
|
||||
BUILD,RUNTIME 5.8 Sparc 108652-66 x86 108653-55 REQ "Xserver patch"
|
||||
BUILD,RUNTIME 5.8 Sparc 108940-52 x86 108941-52 REQ "Motif 2.1 patch"
|
||||
BUILD,RUNTIME 5.8 Sparc 108989-02 x86 108990-02 REQ "Accounting patch"
|
||||
BUILD,RUNTIME 5.8 Sparc none x86 111307-04 REQ "boot.bin, bootconf.exe, bootenv.rc and nbp patch"
|
||||
BUILD,RUNTIME 5.8 Sparc 111310-01 x86 111311-01 REQ "libhcpagent.so.l patch"
|
||||
BUILD,RUNTIME 5.8 Sparc 112396-02 x86 112397-02 REQ "fgrep patch"
|
||||
BUILD,RUNTIME 5.8 Sparc 108987-13 x86 108988-13 REQ "patchadd, patchrm patch"
|
||||
BUILD,RUNTIME 5.8 Sparc 111111-03 x86 111112-03 REQ "nawk patch"
|
||||
BUILD,RUNTIME 5.8 Sparc 108528-20 x86 108529-20 REQ "Kernel update"
|
||||
BUILD,RUNTIME 5.8 Sparc 108993-18 x86 none REQ "LDAP2 Patch"
|
||||
BUILD,RUNTIME 5.8 Sparc none x86 110400-01 REQ "RBAC Feature patch"
|
||||
BUILD,RUNTIME 5.8 Sparc none x86 111024-02 REQ "/kernel/fs/mntfs patch"
|
||||
BUILD,RUNTIME 5.8 Sparc none x86 108994-18 REQ "LDAP2 patch"
|
||||
BUILD,RUNTIME 5.8 Sparc 109147-23 x86 109148-23 REQ "linker patch"
|
||||
BUILD,RUNTIME 5.8 Sparc 111308-03 x86 111309-03 REQ "Performance for apps using memory alloc"
|
||||
RUNTIME 5.8 Sparc 112003-03 x86 none REQ "Fontset patch for sparcv9"
|
||||
RUNTIME 5.8 Sparc 108921-16 x86 108922-16 REQ "CDE patch"
|
||||
RUNTIME 5.8 Sparc 108773-18 x86 108774-18 REQ "X input method patch"
|
||||
RUNTIME 5.8 Sparc 110386-03 x86 none REQ "RBAC Feature Patch"
|
||||
RUNTIME 5.8 Sparc 111023-02 x86 none REQ "/kernel/fs/mntfs and /kernel/fs/sparcv9/mntfs patch"
|
||||
RUNTIME 5.8 Sparc 112472-01 x86 112473-01 OPT "Font2DTest2 patch"
|
||||
RUNTIME 5.8 Sparc 112438-01 x86 112439-01 REQ "/kernel/drv/random patch"
|
||||
|
||||
COMPILER 5.8 Sparc 109505-06 x86 109502-03 REQ "For C 5.0, C++ 5.0"
|
||||
COMPILER 5.8 Sparc 109513-05 x86 109514-03 REQ "For Forte Development 6 C compiler"
|
||||
COMPILER 5.8 Sparc 109508-03 x86 109509-03 REQ "For Forte Development 6 update 1 C++ compiler"
|
||||
COMPILER 5.8 Sparc 109510-03 x86 109511-03 REQ "For Forte 6.1 Debugger"
|
||||
COMPILER 5.8 Sparc 109516-02 x86 109517-02 REQ "For Forte 6.1 Performance Analyzer"
|
||||
COMPILER 5.8 Sparc 110480-01 x86 110481-01 REQ "For Forte TeamWare"
|
||||
|
34
jdk/make/README
Normal file
34
jdk/make/README
Normal file
@ -0,0 +1,34 @@
|
||||
README:
|
||||
This file should be located at the top of the jdk Mercurial repository.
|
||||
|
||||
See http://openjdk.java.net/ for more information about the OpenJDK.
|
||||
|
||||
Simple Build Instructions:
|
||||
|
||||
1. Download and install a JDK 6 from
|
||||
http://java.sun.com/javase/downloads/index.jsp
|
||||
Set the environment variable ALT_BOOTDIR to the location of this JDK 6.
|
||||
|
||||
2. Download and install the Binary Plugs for the most recent JDK7 from
|
||||
http://download.java.net/openjdk/jdk7/
|
||||
Set the environment variable ALT_BINARY_PLUGS_PATH to the location of
|
||||
these binary plugs.
|
||||
|
||||
3. Either download and install the latest JDK7 from
|
||||
http://download.java.net/openjdk/jdk7/, or build your own complete
|
||||
OpenJDK7 by using the top level Makefile in the OpenJDK Mercurial forest.
|
||||
Set the environment variable ALT_JDK_IMPORT_PATH to the location of
|
||||
this latest JDK7 or OpenJDK7 build.
|
||||
|
||||
4. Check the sanity of doing a build with the current machine:
|
||||
cd make && gnumake sanity
|
||||
See README-builds.html if you run into problems.
|
||||
|
||||
5. Do a partial build of the jdk:
|
||||
cd make && gnumake all
|
||||
|
||||
6. Construct the images:
|
||||
cd make && gnumake images
|
||||
The resulting JDK image should be found in build/*/j2sdk-image
|
||||
|
||||
|
1452
jdk/make/README-builds.html
Normal file
1452
jdk/make/README-builds.html
Normal file
File diff suppressed because it is too large
Load Diff
28
jdk/make/README.html
Normal file
28
jdk/make/README.html
Normal file
@ -0,0 +1,28 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
|
||||
<head> <title>OpenJDK README</title> </head>
|
||||
|
||||
<!-- ====================================================== -->
|
||||
<hr noshade="noshade" size="3">
|
||||
<center>
|
||||
<h1>OpenJDK README</h1>
|
||||
</center>
|
||||
|
||||
<!-- ------------------------------------------------------ -->
|
||||
<hr noshade="noshade" size="3">
|
||||
|
||||
<h2>TBD</h2>
|
||||
|
||||
<h2>Building the OpenJDK</h2>
|
||||
|
||||
<p>
|
||||
Refer to <a href="README-builds.html">the OpenJDK Build README</a>
|
||||
for build instructions.
|
||||
|
||||
<!-- ====================================================== -->
|
||||
|
||||
<hr noshade="noshade" size="3">
|
||||
|
||||
</body>
|
||||
</html>
|
1616
jdk/make/THIRD_PARTY_README
Normal file
1616
jdk/make/THIRD_PARTY_README
Normal file
File diff suppressed because it is too large
Load Diff
37
jdk/make/com/Makefile
Normal file
37
jdk/make/com/Makefile
Normal file
@ -0,0 +1,37 @@
|
||||
#
|
||||
# Copyright 1997-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building all of java
|
||||
#
|
||||
|
||||
BUILDDIR = ..
|
||||
PRODUCT = com
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = sun
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
48
jdk/make/com/sun/Makefile
Normal file
48
jdk/make/com/sun/Makefile
Normal file
@ -0,0 +1,48 @@
|
||||
#
|
||||
# Copyright 1997-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building com/sun
|
||||
#
|
||||
|
||||
BUILDDIR = ../..
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
ifndef OPENJDK
|
||||
ORG_EXISTS := $(call DirExists,$(CLOSED_SRC)/share/classes/sun/org,,)
|
||||
ifneq ("$(ORG_EXISTS)", "")
|
||||
SCRIPT_SUBDIR = script
|
||||
endif
|
||||
endif
|
||||
|
||||
# Omit mirror since it's built with the apt tool.
|
||||
SUBDIRS = $(SCRIPT_SUBDIR) image security crypto/provider jndi jmx \
|
||||
java inputmethods org xml rowset net/httpserver net/ssl demo \
|
||||
tools jarsigner
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
283
jdk/make/com/sun/crypto/provider/Makefile
Normal file
283
jdk/make/com/sun/crypto/provider/Makefile
Normal file
@ -0,0 +1,283 @@
|
||||
#
|
||||
# Copyright 2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building sunjce_provider.jar.
|
||||
#
|
||||
# This file was derived from make/javax/crypto/Makefile.
|
||||
#
|
||||
|
||||
#
|
||||
# (The terms "OpenJDK" and "JDK" below refer to OpenJDK and Sun JDK builds
|
||||
# respectively.)
|
||||
#
|
||||
# JCE builds are very different between OpenJDK and JDK. The OpenJDK JCE
|
||||
# jar files do not require signing, but those for JDK do. If an unsigned
|
||||
# jar file is installed into JDK, things will break when the crypto
|
||||
# routines are called.
|
||||
#
|
||||
# This Makefile does the "real" build of the JCE files. There are some
|
||||
# javac options currently specific to JCE, so we recompile now to make
|
||||
# sure any implicit compilations didn't use any incorrect flags.
|
||||
#
|
||||
# For OpenJDK, the jar files built here are installed directly into the
|
||||
# OpenJDK.
|
||||
#
|
||||
# For JDK, the binaries use pre-built/pre-signed/pre-obfuscated binary
|
||||
# files stored in the closed workspace that are not shipped in the
|
||||
# OpenJDK workspaces. We still build the JDK files here to verify the
|
||||
# files compile, and in preparation for possible signing and
|
||||
# obfuscation. Developers working on JCE in JDK must sign the JCE files
|
||||
# before testing: obfuscation is optional during development. The JCE
|
||||
# signing key is kept separate from the JDK workspace to prevent its
|
||||
# disclosure. The obfuscation tool has not been licensed for general
|
||||
# usage.
|
||||
#
|
||||
# SPECIAL NOTE TO JCE/JDK developers: The source files must eventually
|
||||
# be built, obfuscated, signed, and then the resulting jar files MUST BE
|
||||
# CHECKED INTO THE CLOSED PART OF THE WORKSPACE*. This separate step
|
||||
# *MUST NOT BE FORGOTTEN*, otherwise a bug fixed in the source code will
|
||||
# not be reflected in the shipped binaries. The "release" target should be
|
||||
# used to generate the required files.
|
||||
#
|
||||
# There are a number of targets to help both JDK/OpenJDK developers.
|
||||
#
|
||||
# Main Targets (JDK/OPENJDK):
|
||||
#
|
||||
# all/clobber/clean The usual.
|
||||
# If OpenJDK, installs sunjce_provider.jar.
|
||||
# If JDK, installs prebuilt
|
||||
# sunjce_provider.jar.
|
||||
#
|
||||
# jar Builds/installs sunjce_provider.jar
|
||||
# If OpenJDK, does not sign.
|
||||
# If JDK, tries to sign.
|
||||
#
|
||||
# Other lesser-used Targets (JDK/OPENJDK):
|
||||
#
|
||||
# build-jar Builds sunjce_provider.jar
|
||||
# (does not sign/install)
|
||||
#
|
||||
# install-jar Alias for "jar" above.
|
||||
#
|
||||
# Other targets (JDK only):
|
||||
#
|
||||
# sign Alias for sign-jar
|
||||
# sign-jar Builds/signs sunjce_provider.jar (no install)
|
||||
#
|
||||
# obfus Builds/obfuscates/signs/installs
|
||||
# sunjce_provider.jar
|
||||
#
|
||||
# release Builds all targets in preparation
|
||||
# for workspace integration.
|
||||
#
|
||||
# install-prebuilt Installs the pre-built jar files
|
||||
#
|
||||
# This makefile was written to support parallel target execution.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
PACKAGE = com.sun.crypto.provider
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
include $(BUILDDIR)/javax/crypto/Defs-jce.gmk
|
||||
|
||||
#
|
||||
# Location for the newly built classfiles.
|
||||
#
|
||||
CLASSDESTDIR = $(TEMPDIR)/classes
|
||||
|
||||
#
|
||||
# Subdirectories of these are automatically included.
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = \
|
||||
com/sun/crypto/provider
|
||||
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
|
||||
#
|
||||
# Some licensees do not get the security sources, but we still need to
|
||||
# be able to build "all" for them. Check here to see if the sources were
|
||||
# available. If not, then we don't need to continue this rule.
|
||||
#
|
||||
|
||||
ifdef OPENJDK
|
||||
all: build-jar install-jar
|
||||
else # OPENJDK
|
||||
ifeq ($(strip $(FILES_java)),)
|
||||
all: install-prebuilt
|
||||
$(no-source-warning)
|
||||
else # FILES_java available
|
||||
all: build-jar install-prebuilt
|
||||
$(build-warning)
|
||||
endif # $(FILES_java) available
|
||||
endif # OPENJDK
|
||||
|
||||
#
|
||||
# We use a variety of subdirectories in the $(TEMPDIR) depending on what
|
||||
# part of the build we're doing. Both OPENJDK/JDK builds are initially
|
||||
# done in the unsigned area. When files are signed or obfuscated in JDK,
|
||||
# they will be placed in the appropriate areas.
|
||||
#
|
||||
UNSIGNED_DIR = $(TEMPDIR)/unsigned
|
||||
|
||||
|
||||
# =====================================================
|
||||
# Build the unsigned sunjce_provider.jar file.
|
||||
#
|
||||
|
||||
JAR_DESTFILE = $(EXTDIR)/sunjce_provider.jar
|
||||
|
||||
#
|
||||
# The sunjce_provider.jar needs to be in the extension class directory,
|
||||
# therefore none of its classes should appear in $(CLASSBINDIR).
|
||||
# Currently no one is using any of the SunJCE internals, so these files
|
||||
# should not have been built.
|
||||
#
|
||||
|
||||
#
|
||||
# Since the -C option to jar is used below, each directory entry must be
|
||||
# preceded with the appropriate directory to "cd" into.
|
||||
#
|
||||
JAR_DIRS = $(patsubst %, -C $(CLASSDESTDIR) %, $(AUTO_FILES_JAVA_DIRS))
|
||||
|
||||
build-jar: $(UNSIGNED_DIR)/sunjce_provider.jar
|
||||
|
||||
#
|
||||
# Build sunjce_provider.jar.
|
||||
#
|
||||
$(UNSIGNED_DIR)/sunjce_provider.jar: build $(JCE_MANIFEST_FILE)
|
||||
$(prep-target)
|
||||
$(BOOT_JAR_CMD) cmf $(JCE_MANIFEST_FILE) $@ $(JAR_DIRS) \
|
||||
$(JAR_JFLAGS)
|
||||
@$(java-vm-cleanup)
|
||||
|
||||
|
||||
ifndef OPENJDK
|
||||
# =====================================================
|
||||
# Sign the provider jar file. Not needed for OpenJDK.
|
||||
#
|
||||
|
||||
SIGNED_DIR = $(TEMPDIR)/signed
|
||||
|
||||
sign: sign-jar
|
||||
|
||||
sign-jar: $(SIGNED_DIR)/sunjce_provider.jar
|
||||
|
||||
$(SIGNED_DIR)/sunjce_provider.jar: $(UNSIGNED_DIR)/sunjce_provider.jar
|
||||
$(sign-file)
|
||||
|
||||
# =====================================================
|
||||
# Obfuscate/sign/install the JDK build. Not needed for OpenJDK.
|
||||
#
|
||||
|
||||
OBFUS_DIR = $(TEMPDIR)/obfus
|
||||
|
||||
CLOSED_DIR = $(BUILDDIR)/closed/com/sun/crypto/provider
|
||||
|
||||
obfus: $(OBFUS_DIR)/sunjce_provider.jar
|
||||
$(release-warning)
|
||||
|
||||
$(OBFUS_DIR)/sunjce_provider.jar: build-jar $(JCE_MANIFEST_FILE)
|
||||
$(presign)
|
||||
$(preobfus)
|
||||
@$(ECHO) ">>>Obfuscating Sun JCE Provider..."
|
||||
$(prep-target)
|
||||
$(CD) $(OBFUS_DIR); \
|
||||
$(OBFUSCATOR) -fv \
|
||||
$(CURRENT_DIRECTORY)/$(CLOSED_DIR)/obfus/sunjce.dox
|
||||
@$(CD) $(OBFUS_DIR); $(java-vm-cleanup)
|
||||
$(BOOT_JAR_CMD) cmf $(JCE_MANIFEST_FILE) $@ \
|
||||
-C $(OBFUS_DIR)/build com \
|
||||
$(JAR_JFLAGS)
|
||||
$(sign-target)
|
||||
$(MKDIR) -p $(dir $(JAR_DESTFILE))
|
||||
$(RM) $(JAR_DESTFILE)
|
||||
$(CP) $@ $(JAR_DESTFILE)
|
||||
@$(java-vm-cleanup)
|
||||
|
||||
#
|
||||
# The current obfuscator has a limitation in that it currently only
|
||||
# supports up to v49 class file format. Force v49 classfiles in our
|
||||
# builds for now.
|
||||
#
|
||||
TARGET_CLASS_VERSION = 5
|
||||
|
||||
|
||||
# =====================================================
|
||||
# Create the Release Engineering files. Obfuscated builds, etc.
|
||||
#
|
||||
|
||||
release: $(OBFUS_DIR)/sunjce_provider.jar
|
||||
$(RM) $(RELEASE_DIR)/sunjce_provider.jar
|
||||
$(MKDIR) -p $(RELEASE_DIR)
|
||||
$(CP) $(OBFUS_DIR)/sunjce_provider.jar $(RELEASE_DIR)
|
||||
$(release-warning)
|
||||
|
||||
endif # OPENJDK
|
||||
|
||||
|
||||
# =====================================================
|
||||
# Install routines.
|
||||
#
|
||||
|
||||
#
|
||||
# Install sunjce_provider.jar, depending on which type is requested.
|
||||
#
|
||||
install-jar jar: $(JAR_DESTFILE)
|
||||
ifndef OPENJDK
|
||||
$(release-warning)
|
||||
endif
|
||||
|
||||
ifdef OPENJDK
|
||||
$(JAR_DESTFILE): $(UNSIGNED_DIR)/sunjce_provider.jar
|
||||
else
|
||||
$(JAR_DESTFILE): $(SIGNED_DIR)/sunjce_provider.jar
|
||||
endif
|
||||
$(install-file)
|
||||
|
||||
ifndef OPENJDK
|
||||
install-prebuilt:
|
||||
@$(ECHO) "\n>>>Installing prebuilt SunJCE provider..."
|
||||
$(RM) $(JAR_DESTFILE)
|
||||
$(CP) $(PREBUILT_DIR)/jce/sunjce_provider.jar $(JAR_DESTFILE)
|
||||
endif
|
||||
|
||||
|
||||
# =====================================================
|
||||
# Support routines.
|
||||
#
|
||||
|
||||
clobber clean::
|
||||
$(RM) -r $(JAR_DESTFILE) $(TEMPDIR)
|
||||
|
||||
.PHONY: build-jar jar install-jar
|
||||
ifndef OPENJDK
|
||||
.PHONY: sign sign-jar obfus release install-prebuilt
|
||||
endif
|
43
jdk/make/com/sun/demo/Makefile
Normal file
43
jdk/make/com/sun/demo/Makefile
Normal file
@ -0,0 +1,43 @@
|
||||
#
|
||||
# Copyright 2004-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# - Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# - Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# - Neither the name of Sun Microsystems nor the names of its
|
||||
# contributors may be used to endorse or promote products derived
|
||||
# from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building demo classes
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = jvmti
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
43
jdk/make/com/sun/demo/jvmti/Makefile
Normal file
43
jdk/make/com/sun/demo/jvmti/Makefile
Normal file
@ -0,0 +1,43 @@
|
||||
#
|
||||
# Copyright 2004-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# - Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# - Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# - Neither the name of Sun Microsystems nor the names of its
|
||||
# contributors may be used to endorse or promote products derived
|
||||
# from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building demo jvmti classes
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = hprof
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
47
jdk/make/com/sun/demo/jvmti/hprof/Makefile
Normal file
47
jdk/make/com/sun/demo/jvmti/hprof/Makefile
Normal file
@ -0,0 +1,47 @@
|
||||
#
|
||||
# Copyright 2004-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# - Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# - Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# - Neither the name of Sun Microsystems nor the names of its
|
||||
# contributors may be used to endorse or promote products derived
|
||||
# from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../../..
|
||||
PACKAGE = com.sun.demo.jvmti.hprof
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files to compile
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/demo/jvmti/hprof
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
||||
all: classes
|
42
jdk/make/com/sun/image/Makefile
Normal file
42
jdk/make/com/sun/image/Makefile
Normal file
@ -0,0 +1,42 @@
|
||||
#
|
||||
# Copyright 1998-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# makefile for building JPEG classes
|
||||
|
||||
BUILDDIR = ../../..
|
||||
PACKAGE = com.sun.image.codec.jpeg
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/image/codec/jpeg
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
37
jdk/make/com/sun/inputmethods/Makefile
Normal file
37
jdk/make/com/sun/inputmethods/Makefile
Normal file
@ -0,0 +1,37 @@
|
||||
#
|
||||
# Copyright 2002-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building Java input methods
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = indicim thaiim
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
79
jdk/make/com/sun/inputmethods/indicim/Makefile
Normal file
79
jdk/make/com/sun/inputmethods/indicim/Makefile
Normal file
@ -0,0 +1,79 @@
|
||||
#
|
||||
# Copyright 2002-2006 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for indic input method.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
|
||||
PACKAGE = com.sun.inputmethods.internal.indicim
|
||||
PRODUCT = sun
|
||||
|
||||
CLASSDESTDIR = $(TEMPDIR)/classes
|
||||
SERVICESDIR=META-INF/services
|
||||
IMJAR = $(IMJARDIR)/indicim.jar
|
||||
IMJARDIR=$(LIBDIR)/im
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/inputmethods/internal/indicim
|
||||
|
||||
FILES_copy = \
|
||||
$(CLASSDESTDIR)/com/sun/inputmethods/internal/indicim/resources/DisplayNames.properties
|
||||
|
||||
PROVIDER_CONF_FILE = \
|
||||
$(CLASSDESTDIR)/$(SERVICESDIR)/java.awt.im.spi.InputMethodDescriptor
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
||||
build: $(IMJAR)
|
||||
|
||||
#
|
||||
# Extra rules to build im.
|
||||
#
|
||||
|
||||
$(CLASSDESTDIR)/com/sun/inputmethods/internal/indicim/resources/% : $(SHARE_SRC)/classes/com/sun/inputmethods/internal/indicim/resources/%
|
||||
$(install-file)
|
||||
|
||||
$(CLASSDESTDIR)/$(SERVICESDIR)/java.awt.im.spi.InputMethodDescriptor : $(SHARE_SRC)/classes/com/sun/inputmethods/internal/indicim/java.awt.im.spi.InputMethodDescriptor
|
||||
$(install-file)
|
||||
|
||||
$(IMJAR): $(FILES_class) $(FILES_copy) $(PROVIDER_CONF_FILE)
|
||||
$(prep-target)
|
||||
$(BOOT_JAR_CMD) -cf $@ \
|
||||
-C $(CLASSDESTDIR) com \
|
||||
-C $(CLASSDESTDIR) $(SERVICESDIR) \
|
||||
$(JAR_JFLAGS)
|
||||
@$(java-vm-cleanup)
|
||||
|
||||
clean::
|
||||
$(RM) -r $(CLASSDESTDIR)
|
||||
$(RM) $(IMJAR)
|
79
jdk/make/com/sun/inputmethods/thaiim/Makefile
Normal file
79
jdk/make/com/sun/inputmethods/thaiim/Makefile
Normal file
@ -0,0 +1,79 @@
|
||||
#
|
||||
# Copyright 2002-2006 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for thai input method.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
|
||||
PACKAGE = com.sun.inputmethods.internal.thaiim
|
||||
PRODUCT = sun
|
||||
|
||||
CLASSDESTDIR = $(TEMPDIR)/classes
|
||||
SERVICESDIR=META-INF/services
|
||||
IMJAR = $(IMJARDIR)/thaiim.jar
|
||||
IMJARDIR=$(LIBDIR)/im
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/inputmethods/internal/thaiim
|
||||
|
||||
FILES_copy = \
|
||||
$(CLASSDESTDIR)/com/sun/inputmethods/internal/thaiim/resources/DisplayNames.properties
|
||||
|
||||
PROVIDER_CONF_FILE = \
|
||||
$(CLASSDESTDIR)/$(SERVICESDIR)/java.awt.im.spi.InputMethodDescriptor
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
||||
build: $(IMJAR)
|
||||
|
||||
#
|
||||
# Extra rules to build im.
|
||||
#
|
||||
|
||||
$(CLASSDESTDIR)/com/sun/inputmethods/internal/thaiim/resources/% : $(SHARE_SRC)/classes/com/sun/inputmethods/internal/thaiim/resources/%
|
||||
$(install-file)
|
||||
|
||||
$(CLASSDESTDIR)/$(SERVICESDIR)/java.awt.im.spi.InputMethodDescriptor : $(SHARE_SRC)/classes/com/sun/inputmethods/internal/thaiim/java.awt.im.spi.InputMethodDescriptor
|
||||
$(install-file)
|
||||
|
||||
$(IMJAR): $(FILES_class) $(FILES_copy) $(PROVIDER_CONF_FILE)
|
||||
$(prep-target)
|
||||
$(BOOT_JAR_CMD) -cf $@ \
|
||||
-C $(CLASSDESTDIR) com \
|
||||
-C $(CLASSDESTDIR) $(SERVICESDIR) \
|
||||
$(JAR_JFLAGS)
|
||||
@$(java-vm-cleanup)
|
||||
|
||||
clean::
|
||||
$(RM) -r $(CLASSDESTDIR)
|
||||
$(RM) $(IMJAR)
|
40
jdk/make/com/sun/jarsigner/Makefile
Normal file
40
jdk/make/com/sun/jarsigner/Makefile
Normal file
@ -0,0 +1,40 @@
|
||||
#
|
||||
# Copyright 2003-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
PACKAGE = com.sun.jarsigner
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files to compile.
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/jarsigner
|
||||
|
||||
#
|
||||
# Rules.
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
37
jdk/make/com/sun/java/Makefile
Normal file
37
jdk/make/com/sun/java/Makefile
Normal file
@ -0,0 +1,37 @@
|
||||
#
|
||||
# Copyright 2000-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building all of java
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
PRODUCT = plugin
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = browser pack
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
37
jdk/make/com/sun/java/browser/Makefile
Normal file
37
jdk/make/com/sun/java/browser/Makefile
Normal file
@ -0,0 +1,37 @@
|
||||
#
|
||||
# Copyright 2000-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building all of java
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
PRODUCT = plugin
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = dom net
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
42
jdk/make/com/sun/java/browser/dom/Makefile
Normal file
42
jdk/make/com/sun/java/browser/dom/Makefile
Normal file
@ -0,0 +1,42 @@
|
||||
#
|
||||
# Copyright 2000-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# makefile for building Common DOM classes
|
||||
|
||||
BUILDDIR = ../../../../..
|
||||
PACKAGE = com.sun.java.browser.dom
|
||||
PRODUCT = plugin
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/java/browser/dom
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
42
jdk/make/com/sun/java/browser/net/Makefile
Normal file
42
jdk/make/com/sun/java/browser/net/Makefile
Normal file
@ -0,0 +1,42 @@
|
||||
#
|
||||
# Copyright 2001-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# makefile for building browser proxy service classes
|
||||
|
||||
BUILDDIR = ../../../../..
|
||||
PACKAGE = com.sun.java.browser.net
|
||||
PRODUCT = plugin
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/java/browser/net
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
32
jdk/make/com/sun/java/pack/FILES_cpp.gmk
Normal file
32
jdk/make/com/sun/java/pack/FILES_cpp.gmk
Normal file
@ -0,0 +1,32 @@
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
FILES_cpp = \
|
||||
bands.cpp \
|
||||
bytes.cpp \
|
||||
coding.cpp \
|
||||
jni.cpp \
|
||||
unpack.cpp \
|
||||
utils.cpp \
|
||||
zip.cpp
|
169
jdk/make/com/sun/java/pack/Makefile
Normal file
169
jdk/make/com/sun/java/pack/Makefile
Normal file
@ -0,0 +1,169 @@
|
||||
#
|
||||
# Copyright 2003-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building Pack200
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
PACKAGE = com.sun.java.util.jar.pack
|
||||
LIBRARY = unpack
|
||||
PRODUCT = sun
|
||||
PGRM = unpack200
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
CPLUSPLUSLIBRARY=true
|
||||
|
||||
FILES_m = mapfile-vers
|
||||
include $(BUILDDIR)/common/Mapfile-vers.gmk
|
||||
|
||||
#
|
||||
# Files to compile
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/java/util/jar/pack
|
||||
|
||||
include FILES_cpp.gmk
|
||||
|
||||
FILES_export = $(PKGDIR)/NativeUnpack.java
|
||||
|
||||
#
|
||||
# Rules
|
||||
include $(BUILDDIR)/common/Library.gmk
|
||||
|
||||
build: unpacker
|
||||
|
||||
vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ifeq ($(STANDALONE),true)
|
||||
ZIPOBJDIR = $(OUTPUTDIR)/tmp/sun/java.util.zip/zip/$(OBJDIRNAME)
|
||||
|
||||
ZIPOBJS = $(ZIPOBJDIR)/zcrc32.$(OBJECT_SUFFIX) \
|
||||
$(ZIPOBJDIR)/deflate.$(OBJECT_SUFFIX) \
|
||||
$(ZIPOBJDIR)/trees.$(OBJECT_SUFFIX) \
|
||||
$(ZIPOBJDIR)/zadler32.$(OBJECT_SUFFIX) \
|
||||
$(ZIPOBJDIR)/zutil.$(OBJECT_SUFFIX) \
|
||||
$(ZIPOBJDIR)/inflate.$(OBJECT_SUFFIX) \
|
||||
$(ZIPOBJDIR)/infblock.$(OBJECT_SUFFIX) \
|
||||
$(ZIPOBJDIR)/infcodes.$(OBJECT_SUFFIX) \
|
||||
$(ZIPOBJDIR)/inftrees.$(OBJECT_SUFFIX) \
|
||||
$(ZIPOBJDIR)/infutil.$(OBJECT_SUFFIX) \
|
||||
$(ZIPOBJDIR)/inffast.$(OBJECT_SUFFIX)
|
||||
|
||||
ZINCLUDE=-I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3
|
||||
OTHER_CXXFLAGS += $(ZINCLUDE)
|
||||
LDDFLAGS += $(ZIPOBJS)
|
||||
else
|
||||
OTHER_CXXFLAGS += -DNO_ZLIB -DUNPACK_JNI
|
||||
OTHER_LDLIBS += $(JVMLIB)
|
||||
endif
|
||||
|
||||
CXXFLAGS_DBG += -DFULL
|
||||
CXXFLAGS_OPT += -DPRODUCT
|
||||
CXXFLAGS_COMMON += -DFULL
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
CXXFLAGS_COMMON += $(MS_RUNTIME_OPTION)
|
||||
LDOUTPUT = -Fe
|
||||
|
||||
# J2SE name required here
|
||||
RC_FLAGS += /D "J2SE_FNAME=$(PGRM).exe" \
|
||||
/D "J2SE_INTERNAL_NAME=$(PGRM)" \
|
||||
/D "J2SE_FTYPE=0x1L"
|
||||
|
||||
RES = $(OBJDIR)/$(PGRM).res
|
||||
|
||||
# Files built here do not compile with warning level 3 if warnings are fatal
|
||||
COMPILER_WARNINGS_FATAL=false
|
||||
else
|
||||
LDOUTPUT = -o #Have a space
|
||||
LDDFLAGS += -lc
|
||||
OTHER_LDLIBS += $(LIBCXX)
|
||||
# setup the list of libraries to link in...
|
||||
ifeq ($(PLATFORM), linux)
|
||||
ifeq ("$(CC_VER_MAJOR)", "3")
|
||||
OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
|
||||
endif
|
||||
endif #LINUX
|
||||
endif #PLATFORM
|
||||
|
||||
UNPACK_EXE = $(BINDIR)/unpack200$(EXE_SUFFIX)
|
||||
|
||||
UNPACK_EXE_FILES_cpp = $(filter-out jni.cpp,$(FILES_cpp))
|
||||
|
||||
UNPACK_EXE_FILES_cpp += main.cpp
|
||||
|
||||
UNPACK_EXE_FILES_o = $(addprefix $(COBJDIR)/, \
|
||||
$(notdir \
|
||||
$(patsubst %.cpp,%.$(OBJECT_SUFFIX),$(UNPACK_EXE_FILES_cpp)) \
|
||||
))
|
||||
|
||||
COBJDIR = $(strip $(subst unpack,unpack-cmd,$(OBJDIR)))
|
||||
|
||||
all: build
|
||||
|
||||
build: prop
|
||||
|
||||
prop:
|
||||
$(MAKE) -C prop
|
||||
|
||||
unpacker:
|
||||
$(MAKE) $(UNPACK_EXE) STANDALONE=true LDMAPFLAGS_OPT= LDMAPFLAGS_DBG=
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
winres:: $(RES)
|
||||
else
|
||||
winres::
|
||||
$(ECHO) "Resource files not required for Unix"
|
||||
endif
|
||||
|
||||
$(UNPACK_EXE): $(UNPACK_EXE_FILES_o) winres
|
||||
$(prep-target)
|
||||
$(LINKER) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(LIBCXX) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX)
|
||||
$(CP) $(TEMPDIR)/unpack200$(EXE_SUFFIX) $(UNPACK_EXE)
|
||||
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
$(RES):: $(VERSIONINFO_RESOURCE)
|
||||
$(prep-target)
|
||||
$(RC) $(RC_FLAGS) $(CC_OBJECT_OUTPUT_FLAG)$(@) $(VERSIONINFO_RESOURCE)
|
||||
endif
|
||||
|
||||
$(COBJDIR)/%.$(OBJECT_SUFFIX): %.cpp
|
||||
$(prep-target)
|
||||
$(COMPILE.cc) $(CC_OBJECT_OUTPUT_FLAG)$(COBJDIR)/$*.$(OBJECT_SUFFIX) $<
|
||||
|
||||
#
|
||||
# Clean up.
|
||||
#
|
||||
clean::
|
||||
$(RM) -r $(CLASSDESTDIR)/com/sun/java/util/jar/pack $(TEMPDIR)
|
||||
$(RM) -r $(OUTPUTDIR)/tmp/$(PRODUCT)/$(PACKAGE)
|
||||
$(MAKE) -C prop clean
|
||||
|
||||
.PHONY: unpacker clean winres prop
|
40
jdk/make/com/sun/java/pack/mapfile-vers
Normal file
40
jdk/make/com/sun/java/pack/mapfile-vers
Normal file
@ -0,0 +1,40 @@
|
||||
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# Define library interface.
|
||||
|
||||
SUNWprivate_1.1 {
|
||||
global:
|
||||
Java_com_sun_java_util_jar_pack_NativeUnpack_finish;
|
||||
Java_com_sun_java_util_jar_pack_NativeUnpack_getNextFile;
|
||||
Java_com_sun_java_util_jar_pack_NativeUnpack_getOption;
|
||||
Java_com_sun_java_util_jar_pack_NativeUnpack_getUnusedInput;
|
||||
Java_com_sun_java_util_jar_pack_NativeUnpack_initIDs;
|
||||
Java_com_sun_java_util_jar_pack_NativeUnpack_setOption;
|
||||
Java_com_sun_java_util_jar_pack_NativeUnpack_start;
|
||||
local:
|
||||
*;
|
||||
};
|
42
jdk/make/com/sun/java/pack/prop/Makefile
Normal file
42
jdk/make/com/sun/java/pack/prop/Makefile
Normal file
@ -0,0 +1,42 @@
|
||||
#
|
||||
# Copyright 2003-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building intrinsic.properties for Pack200
|
||||
# Unfortunately this file needs to be on its own due
|
||||
# to a collision of rules with Classes.gmk and Library.gmk
|
||||
|
||||
BUILDDIR = ../../../../..
|
||||
PACKAGE = com.sun.java.util.jar.pack
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
OTHER_PROPERTIES = $(PKGDIR)/intrinsic.properties
|
||||
|
||||
#
|
||||
# Rules.
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
118
jdk/make/com/sun/jmx/Makefile
Normal file
118
jdk/make/com/sun/jmx/Makefile
Normal file
@ -0,0 +1,118 @@
|
||||
#
|
||||
# Copyright 2003-2006 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building RMI stubs of JMX Remote
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
PACKAGE = javax.management
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files to compile
|
||||
#
|
||||
|
||||
# NO java files to compile: already compiled in javax/management/Makefile
|
||||
|
||||
# Note : some targets are double colon rules and some single colon rules
|
||||
# within common included gmk files : that is why the following for loop
|
||||
# has been duplicated.
|
||||
SUBDIRS = snmp
|
||||
|
||||
all build:
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
||||
build: stubs
|
||||
|
||||
#
|
||||
# Clean up internal-use-only package.
|
||||
#
|
||||
clean ::
|
||||
$(RM) -r $(CLASSDESTDIR)/com/sun/jmx \
|
||||
$(CLASSDESTDIR)/com/sun/management/jmx \
|
||||
$(CLASSDESTDIR)/org/omg/stub/javax/management/remote/rmi \
|
||||
|
||||
|
||||
#
|
||||
# The remainder of this makefile contains defs and rules
|
||||
# for generating RMI stubs.
|
||||
# With inspiration from com/sun/jndi/rmi/registry
|
||||
#
|
||||
|
||||
#
|
||||
# Full class names of implementations requiring stubs
|
||||
#
|
||||
REMOTE_impls = \
|
||||
javax.management.remote.rmi.RMIConnectionImpl \
|
||||
javax.management.remote.rmi.RMIServerImpl \
|
||||
|
||||
|
||||
REMOTE_files = $(subst .,/,$(REMOTE_impls))
|
||||
FILES_stubs = $(REMOTE_files:%=$(CLASSDESTDIR)/%_Stub.class)
|
||||
FILES_ties = $(subst javax/management/remote/rmi/,javax/management/remote/rmi/_,$(REMOTE_files:%=$(CLASSDESTDIR)/%_Tie.class))
|
||||
|
||||
|
||||
#
|
||||
# Compile stubs and skeletons for remote implementations
|
||||
#
|
||||
# Keep generated RMI/JRMP Stub source files and copy them to GENSRCDIR
|
||||
# so that javadoc can include them in the API (4997471)
|
||||
#
|
||||
# For RMI/IIOP call rmic a second time with -standardPackage option
|
||||
# so that *_tie classes are generated in package without the prefix
|
||||
# org.omg.stub (6375696)
|
||||
#
|
||||
$(CLASSDESTDIR)/%_Stub.class: $(CLASSDESTDIR)/%.class
|
||||
$(prep-target)
|
||||
$(RMIC) -classpath "$(CLASSDESTDIR)" \
|
||||
-d $(CLASSDESTDIR) \
|
||||
-v1.2 \
|
||||
-keepgenerated \
|
||||
$(subst /,.,$(<:$(CLASSDESTDIR)/%.class=%))
|
||||
$(MKDIR) -p $(@D:$(CLASSDESTDIR)/%=$(GENSRCDIR)/%)
|
||||
$(CP) $(@:%.class=%.java) \
|
||||
$(@D:$(CLASSDESTDIR)/%=$(GENSRCDIR)/%)
|
||||
$(RMIC) -classpath "$(CLASSDESTDIR)" \
|
||||
-d $(CLASSDESTDIR) \
|
||||
-iiop -v1.2 \
|
||||
$(subst /,.,$(<:$(CLASSDESTDIR)/%.class=%))
|
||||
$(RMIC) $(HOTSPOT_INTERPRETER_FLAG) -classpath "$(CLASSDESTDIR)" \
|
||||
-d $(CLASSDESTDIR) \
|
||||
-iiop -v1.2 \
|
||||
-standardPackage \
|
||||
$(subst /,.,$(<:$(CLASSDESTDIR)/%.class=%))
|
||||
@$(java-vm-cleanup)
|
||||
|
||||
stubs: $(FILES_stubs)
|
45
jdk/make/com/sun/jmx/snmp/Makefile
Normal file
45
jdk/make/com/sun/jmx/snmp/Makefile
Normal file
@ -0,0 +1,45 @@
|
||||
#
|
||||
# Copyright 2003-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building SNMP runtime support for
|
||||
# Sun-specific JDK out of the box management support.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
PACKAGE = com.sun.jmx.snmp
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files to compile
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/jmx/snmp
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
38
jdk/make/com/sun/jndi/Makefile
Normal file
38
jdk/make/com/sun/jndi/Makefile
Normal file
@ -0,0 +1,38 @@
|
||||
#
|
||||
# Copyright 1999-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building JNDI service providers
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = toolkit cosnaming ldap rmi dns
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
clean clobber::
|
||||
$(RM) -r $(CLASSDESTDIR)/com/sun/jndi
|
49
jdk/make/com/sun/jndi/cosnaming/Makefile
Normal file
49
jdk/make/com/sun/jndi/cosnaming/Makefile
Normal file
@ -0,0 +1,49 @@
|
||||
#
|
||||
# Copyright 1999-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building JNDI COS Naming service provider
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
PACKAGE = com.sun.jndi.cosnaming
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Resources
|
||||
#
|
||||
OTHER_PROPERTIES = $(PKGDIR)/jndiprovider.properties
|
||||
|
||||
#
|
||||
# Files to compile
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/jndi/cosnaming com/sun/jndi/url
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
44
jdk/make/com/sun/jndi/dns/Makefile
Normal file
44
jdk/make/com/sun/jndi/dns/Makefile
Normal file
@ -0,0 +1,44 @@
|
||||
#
|
||||
# Copyright 2000-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building JNDI DNS Naming service provider
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
PACKAGE = com.sun.jndi.dns
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files to compile
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/jndi/dns com/sun/jndi/url/dns
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
49
jdk/make/com/sun/jndi/ldap/Makefile
Normal file
49
jdk/make/com/sun/jndi/ldap/Makefile
Normal file
@ -0,0 +1,49 @@
|
||||
#
|
||||
# Copyright 1999-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building JNDI LDAP service provider
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
PACKAGE = com.sun.jndi.ldap
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Resources
|
||||
#
|
||||
OTHER_PROPERTIES = $(PKGDIR)/jndiprovider.properties
|
||||
|
||||
#
|
||||
# Files to compile
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/jndi/ldap com/sun/jndi/url/ldap
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
38
jdk/make/com/sun/jndi/rmi/Makefile
Normal file
38
jdk/make/com/sun/jndi/rmi/Makefile
Normal file
@ -0,0 +1,38 @@
|
||||
#
|
||||
# Copyright 1999-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building JNDI RMI registry service provider
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = registry
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
clean clobber::
|
||||
$(RM) -r $(CLASSDESTDIR)/com/sun/jndi/rmi
|
73
jdk/make/com/sun/jndi/rmi/registry/Makefile
Normal file
73
jdk/make/com/sun/jndi/rmi/registry/Makefile
Normal file
@ -0,0 +1,73 @@
|
||||
#
|
||||
# Copyright 1999-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building JNDI RMI registry service provider
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../../..
|
||||
PACKAGE = com.sun.jndi.rmi.registry
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files to compile
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/jndi/rmi/registry com/sun/jndi/url/rmi
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
||||
build: stubs
|
||||
|
||||
#
|
||||
# The remainder of this makefile contains defs and rules
|
||||
# for generating RMI stubs.
|
||||
# With inspiration from build/solaris/sun/rmi/rmi/GNUmakefile.
|
||||
#
|
||||
|
||||
#
|
||||
# Full class names of implementations requiring stubs
|
||||
#
|
||||
REMOTE_impls = \
|
||||
$(PACKAGE).ReferenceWrapper
|
||||
|
||||
REMOTE_files = $(subst .,/,$(REMOTE_impls))
|
||||
FILES_stubs = $(REMOTE_files:%=$(CLASSDESTDIR)/%_Stub.class)
|
||||
FILES_skels = $(REMOTE_files:%=$(CLASSDESTDIR)/%_Skel.class)
|
||||
|
||||
#
|
||||
# Compile stubs and skeletons for remote implementations
|
||||
#
|
||||
$(CLASSDESTDIR)/%_Skel.class $(CLASSDESTDIR)/%_Stub.class: \
|
||||
$(CLASSDESTDIR)/%.class
|
||||
$(RMIC) -classpath "$(CLASSDESTDIR)" \
|
||||
-d $(CLASSDESTDIR) \
|
||||
$(subst /,.,$(<:$(CLASSDESTDIR)/%.class=%))
|
||||
@$(java-vm-cleanup)
|
||||
|
||||
stubs: $(FILES_stubs) $(FILES_skels)
|
43
jdk/make/com/sun/jndi/toolkit/Makefile
Normal file
43
jdk/make/com/sun/jndi/toolkit/Makefile
Normal file
@ -0,0 +1,43 @@
|
||||
#
|
||||
# Copyright 1999-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building JNDI service provider toolkit
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
PACKAGE = com.sun.jndi.toolkit
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files to compile
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/jndi/toolkit
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
39
jdk/make/com/sun/net/httpserver/Makefile
Normal file
39
jdk/make/com/sun/net/httpserver/Makefile
Normal file
@ -0,0 +1,39 @@
|
||||
#
|
||||
# Copyright 2005-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
PACKAGE = com.sun.net.httpserver
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files to compile
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/net/httpserver sun/net/httpserver
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
45
jdk/make/com/sun/net/ssl/Makefile
Normal file
45
jdk/make/com/sun/net/ssl/Makefile
Normal file
@ -0,0 +1,45 @@
|
||||
#
|
||||
# Copyright 2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
PACKAGE = com.sun.net.ssl
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files to compile
|
||||
#
|
||||
# Note that we implicitly includes the files in com/sun/net/ssl/internal/ssl.
|
||||
# They are also compiled by make/sun/security/other/Makefile and logically
|
||||
# belong there, but compiling them here as well is fine, too.
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = \
|
||||
com/sun/security/cert \
|
||||
com/sun/net/ssl
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
37
jdk/make/com/sun/org/Makefile
Normal file
37
jdk/make/com/sun/org/Makefile
Normal file
@ -0,0 +1,37 @@
|
||||
#
|
||||
# Copyright 2003-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building apache implementations
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
PRODUCT = org
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = apache
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
36
jdk/make/com/sun/org/apache/Makefile
Normal file
36
jdk/make/com/sun/org/apache/Makefile
Normal file
@ -0,0 +1,36 @@
|
||||
#
|
||||
# Copyright 2003-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building com.sun.org.apache code
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = xml
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
54
jdk/make/com/sun/org/apache/xml/Makefile
Normal file
54
jdk/make/com/sun/org/apache/xml/Makefile
Normal file
@ -0,0 +1,54 @@
|
||||
#
|
||||
# Copyright 2003-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building com.sun.org.apache.xml
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../../..
|
||||
PACKAGE = com.sun.org.apache.xml
|
||||
PRODUCT = xml
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files to compile
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/org/apache/xml
|
||||
|
||||
#
|
||||
# Resources
|
||||
#
|
||||
LOCALE_SET_DEFINITION = jre
|
||||
NEW_RESOURCE_BUNDLES_PROPERTIES = \
|
||||
$(PKGDIR)/internal/security/resource/config.dtd \
|
||||
$(PKGDIR)/internal/security/resource/config.xml \
|
||||
$(PKGDIR)/internal/security/resource/xmlsecurity_de.properties \
|
||||
$(PKGDIR)/internal/security/resource/xmlsecurity_en.properties \
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
50
jdk/make/com/sun/rowset/Makefile
Normal file
50
jdk/make/com/sun/rowset/Makefile
Normal file
@ -0,0 +1,50 @@
|
||||
#
|
||||
# Copyright 2003-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building JDBC API and JDBC RowSet
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
PACKAGE = com.sun.rowset
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files to compile.
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/rowset
|
||||
|
||||
#
|
||||
# Resources
|
||||
#
|
||||
LOCALE_SET_DEFINITION = jre
|
||||
RESOURCE_BUNDLES_PROPERTIES = $(PKGDIR)/RowSetResourceBundle.properties
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
62
jdk/make/com/sun/script/Makefile
Normal file
62
jdk/make/com/sun/script/Makefile
Normal file
@ -0,0 +1,62 @@
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
|
||||
BUILDDIR = ../../..
|
||||
PACKAGE = com.sun.script
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/script
|
||||
|
||||
#
|
||||
# Files that need to be copied
|
||||
#
|
||||
SERVICEDIR = $(CLASSBINDIR)/META-INF/services
|
||||
|
||||
FILES_copy = \
|
||||
$(SERVICEDIR)/javax.script.ScriptEngineFactory
|
||||
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
||||
all: classes copy-files
|
||||
|
||||
#
|
||||
# Copy the service provider configuration file into the resource
|
||||
# directory.
|
||||
#
|
||||
|
||||
copy-files: $(FILES_copy)
|
||||
|
||||
$(SERVICEDIR)/%: $(SHARE_SRC)/classes/com/sun/script/javascript/META-INF/services/%
|
||||
$(install-file)
|
||||
|
||||
.PHONY: copy-files
|
||||
|
||||
|
||||
clean::
|
||||
$(RM) -r $(CLASSDESTDIR)/com/sun/script/javascript
|
||||
$(RM) $(FILES_copy)
|
||||
|
38
jdk/make/com/sun/security/Makefile
Normal file
38
jdk/make/com/sun/security/Makefile
Normal file
@ -0,0 +1,38 @@
|
||||
#
|
||||
# Copyright 2000-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for com.sun.security packages.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = jgss sasl auth auth/module
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
clean clobber::
|
||||
$(RM) -r $(CLASSDESTDIR)/com/sun/security
|
50
jdk/make/com/sun/security/auth/FILES_java.gmk
Normal file
50
jdk/make/com/sun/security/auth/FILES_java.gmk
Normal file
@ -0,0 +1,50 @@
|
||||
#
|
||||
# Copyright 2000-2006 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
FILES_java = \
|
||||
com/sun/security/auth/login/ConfigFile.java \
|
||||
com/sun/security/auth/NTDomainPrincipal.java \
|
||||
com/sun/security/auth/NTNumericCredential.java \
|
||||
com/sun/security/auth/NTSid.java \
|
||||
com/sun/security/auth/NTSidDomainPrincipal.java \
|
||||
com/sun/security/auth/NTSidGroupPrincipal.java \
|
||||
com/sun/security/auth/NTSidPrimaryGroupPrincipal.java \
|
||||
com/sun/security/auth/NTSidUserPrincipal.java \
|
||||
com/sun/security/auth/NTUserPrincipal.java \
|
||||
com/sun/security/auth/SolarisNumericUserPrincipal.java \
|
||||
com/sun/security/auth/SolarisPrincipal.java \
|
||||
com/sun/security/auth/SolarisNumericGroupPrincipal.java \
|
||||
com/sun/security/auth/UnixNumericUserPrincipal.java \
|
||||
com/sun/security/auth/UnixPrincipal.java \
|
||||
com/sun/security/auth/UnixNumericGroupPrincipal.java \
|
||||
com/sun/security/auth/X500Principal.java \
|
||||
com/sun/security/auth/UserPrincipal.java \
|
||||
com/sun/security/auth/LdapPrincipal.java \
|
||||
com/sun/security/auth/PolicyFile.java \
|
||||
com/sun/security/auth/SubjectCodeSource.java \
|
||||
com/sun/security/auth/PolicyParser.java \
|
||||
com/sun/security/auth/PrincipalComparator.java \
|
||||
com/sun/security/auth/callback/TextCallbackHandler.java \
|
||||
com/sun/security/auth/callback/DialogCallbackHandler.java
|
46
jdk/make/com/sun/security/auth/Makefile
Normal file
46
jdk/make/com/sun/security/auth/Makefile
Normal file
@ -0,0 +1,46 @@
|
||||
#
|
||||
# Copyright 2000-2002 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
PACKAGE = com.sun.security.auth
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files
|
||||
#
|
||||
include FILES_java.gmk
|
||||
|
||||
#
|
||||
# Resources
|
||||
#
|
||||
LOCALE_SET_DEFINITION = jre
|
||||
RESOURCE_BUNDLES_JAVA = sun/security/util/AuthResources.java
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
27
jdk/make/com/sun/security/auth/module/FILES_c_solaris.gmk
Normal file
27
jdk/make/com/sun/security/auth/module/FILES_c_solaris.gmk
Normal file
@ -0,0 +1,27 @@
|
||||
#
|
||||
# Copyright 2000 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
FILES_c += \
|
||||
Solaris.c
|
27
jdk/make/com/sun/security/auth/module/FILES_c_unix.gmk
Normal file
27
jdk/make/com/sun/security/auth/module/FILES_c_unix.gmk
Normal file
@ -0,0 +1,27 @@
|
||||
#
|
||||
# Copyright 2000 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
FILES_c = \
|
||||
Unix.c
|
26
jdk/make/com/sun/security/auth/module/FILES_c_windows.gmk
Normal file
26
jdk/make/com/sun/security/auth/module/FILES_c_windows.gmk
Normal file
@ -0,0 +1,26 @@
|
||||
#
|
||||
# Copyright 2000 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
FILES_c = nt.c
|
@ -0,0 +1,28 @@
|
||||
#
|
||||
# Copyright 2000-2002 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
FILES_export += \
|
||||
com/sun/security/auth/module/SolarisLoginModule.java \
|
||||
com/sun/security/auth/module/SolarisSystem.java \
|
28
jdk/make/com/sun/security/auth/module/FILES_export_unix.gmk
Normal file
28
jdk/make/com/sun/security/auth/module/FILES_export_unix.gmk
Normal file
@ -0,0 +1,28 @@
|
||||
#
|
||||
# Copyright 2000-2002 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
FILES_export = \
|
||||
com/sun/security/auth/module/UnixLoginModule.java \
|
||||
com/sun/security/auth/module/UnixSystem.java
|
@ -0,0 +1,28 @@
|
||||
#
|
||||
# Copyright 2000-2002 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
FILES_export = \
|
||||
com/sun/security/auth/module/NTLoginModule.java \
|
||||
com/sun/security/auth/module/NTSystem.java
|
31
jdk/make/com/sun/security/auth/module/FILES_java.gmk
Normal file
31
jdk/make/com/sun/security/auth/module/FILES_java.gmk
Normal file
@ -0,0 +1,31 @@
|
||||
#
|
||||
# Copyright 2000-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
FILES_java = \
|
||||
com/sun/security/auth/module/Krb5LoginModule.java \
|
||||
com/sun/security/auth/module/JndiLoginModule.java \
|
||||
com/sun/security/auth/module/LdapLoginModule.java \
|
||||
com/sun/security/auth/module/KeyStoreLoginModule.java \
|
||||
com/sun/security/auth/module/Crypt.java
|
87
jdk/make/com/sun/security/auth/module/Makefile
Normal file
87
jdk/make/com/sun/security/auth/module/Makefile
Normal file
@ -0,0 +1,87 @@
|
||||
#
|
||||
# Copyright 2000-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# Makefile for building auth modules.
|
||||
|
||||
BUILDDIR = ../../../../..
|
||||
PACKAGE = com.sun.security.auth.module
|
||||
PRODUCT = sun
|
||||
|
||||
# LIBRARY name changed later below, but it is important to tell Defs some name
|
||||
# upfront so that it knows it is building a library.
|
||||
LIBRARY = jaas
|
||||
|
||||
# Force name of temp directory (needed due to LIBRARY change below)
|
||||
LIBRARY_OUTPUT = jaas
|
||||
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files to compile.
|
||||
#
|
||||
|
||||
include FILES_java.gmk
|
||||
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
|
||||
LIBRARY = jaas_nt
|
||||
include FILES_export_windows.gmk
|
||||
include FILES_c_windows.gmk
|
||||
# We need some extra libs for windows
|
||||
ifneq ($(LIBRARY),fdlibm)
|
||||
EXTRA_LIBS += netapi32.lib user32.lib mpr.lib
|
||||
endif #fdlibm
|
||||
# code generates errors when compiled at warning level 3 and warnings are fatal
|
||||
ifeq ($(ARCH_DATA_MODEL), 64)
|
||||
COMPILER_WARNINGS_FATAL=false
|
||||
endif # ARCH_DATA_MODEL
|
||||
endif # windows
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
LIBRARY = jaas_unix
|
||||
FILES_m = mapfile-vers
|
||||
include $(BUILDDIR)/common/Mapfile-vers.gmk
|
||||
include FILES_export_unix.gmk
|
||||
include FILES_export_solaris.gmk
|
||||
include FILES_c_unix.gmk
|
||||
include FILES_c_solaris.gmk
|
||||
endif # solaris
|
||||
|
||||
ifeq ($(PLATFORM), linux)
|
||||
LIBRARY = jaas_unix
|
||||
include FILES_export_unix.gmk
|
||||
include FILES_c_unix.gmk
|
||||
endif # linux
|
||||
|
||||
#
|
||||
# Rules.
|
||||
#
|
||||
include $(BUILDDIR)/common/Library.gmk
|
||||
|
||||
#
|
||||
# JVMDI implementation lives in the VM.
|
||||
#
|
||||
OTHER_LDLIBS = $(JVMLIB)
|
35
jdk/make/com/sun/security/auth/module/mapfile-vers
Normal file
35
jdk/make/com/sun/security/auth/module/mapfile-vers
Normal file
@ -0,0 +1,35 @@
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# Define library interface.
|
||||
|
||||
SUNWprivate_1.1 {
|
||||
global:
|
||||
Java_com_sun_security_auth_module_SolarisSystem_getSolarisInfo;
|
||||
Java_com_sun_security_auth_module_UnixSystem_getUnixInfo;
|
||||
local:
|
||||
*;
|
||||
};
|
||||
|
39
jdk/make/com/sun/security/jgss/Makefile
Normal file
39
jdk/make/com/sun/security/jgss/Makefile
Normal file
@ -0,0 +1,39 @@
|
||||
#
|
||||
# Copyright 2000-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
PACKAGE = com.sun.security.jgss
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/security/jgss
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
39
jdk/make/com/sun/security/sasl/Makefile
Normal file
39
jdk/make/com/sun/security/sasl/Makefile
Normal file
@ -0,0 +1,39 @@
|
||||
#
|
||||
# Copyright 2003-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
PACKAGE = com.sun.security.sasl
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/security/sasl
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
28
jdk/make/com/sun/sql/FILES_java.gmk
Normal file
28
jdk/make/com/sun/sql/FILES_java.gmk
Normal file
@ -0,0 +1,28 @@
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
FILES_java = \
|
||||
com/sun/rowset/DataSetImpl.java \
|
||||
com/sun/rowset/QueryObjectGeneratorImpl.java
|
43
jdk/make/com/sun/sql/Makefile
Normal file
43
jdk/make/com/sun/sql/Makefile
Normal file
@ -0,0 +1,43 @@
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building JDBC API and JDBC RowSet
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
PACKAGE = com.sun.sql
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files to compile.
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/sql
|
||||
|
||||
#
|
||||
# Rules.
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
44
jdk/make/com/sun/tools/Makefile
Normal file
44
jdk/make/com/sun/tools/Makefile
Normal file
@ -0,0 +1,44 @@
|
||||
#
|
||||
# Copyright 2003-2006 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building com/sun/tools
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
PACKAGE = com.sun.tools
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/tools/extcheck
|
||||
|
||||
SUBDIRS = attach
|
||||
all build:
|
||||
$(SUBDIRS-loop)
|
||||
clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
47
jdk/make/com/sun/tools/attach/Exportedfiles.gmk
Normal file
47
jdk/make/com/sun/tools/attach/Exportedfiles.gmk
Normal file
@ -0,0 +1,47 @@
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# These are the names of Java classes for which we will make .h files.
|
||||
#
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
FILES_export = \
|
||||
sun/tools/attach/WindowsAttachProvider.java \
|
||||
sun/tools/attach/WindowsVirtualMachine.java
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
FILES_export = \
|
||||
sun/tools/attach/SolarisVirtualMachine.java
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), linux)
|
||||
FILES_export = \
|
||||
sun/tools/attach/LinuxVirtualMachine.java
|
||||
endif
|
||||
|
||||
|
||||
|
42
jdk/make/com/sun/tools/attach/FILES_c.gmk
Normal file
42
jdk/make/com/sun/tools/attach/FILES_c.gmk
Normal file
@ -0,0 +1,42 @@
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
ifeq ($(PLATFORM),windows)
|
||||
FILES_c = \
|
||||
WindowsAttachProvider.c \
|
||||
WindowsVirtualMachine.c
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM),solaris)
|
||||
FILES_c = \
|
||||
SolarisVirtualMachine.c
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM),linux)
|
||||
FILES_c = \
|
||||
LinuxVirtualMachine.c
|
||||
endif
|
||||
|
||||
|
54
jdk/make/com/sun/tools/attach/FILES_java.gmk
Normal file
54
jdk/make/com/sun/tools/attach/FILES_java.gmk
Normal file
@ -0,0 +1,54 @@
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
FILES_java = \
|
||||
com/sun/tools/attach/AgentLoadException.java \
|
||||
com/sun/tools/attach/AgentInitializationException.java \
|
||||
com/sun/tools/attach/AttachPermission.java \
|
||||
com/sun/tools/attach/AttachNotSupportedException.java \
|
||||
com/sun/tools/attach/VirtualMachine.java \
|
||||
com/sun/tools/attach/VirtualMachineDescriptor.java \
|
||||
com/sun/tools/attach/spi/AttachProvider.java \
|
||||
sun/tools/attach/HotSpotAttachProvider.java \
|
||||
sun/tools/attach/HotSpotVirtualMachine.java
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
FILES_java += \
|
||||
sun/tools/attach/SolarisAttachProvider.java
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), linux)
|
||||
FILES_java += \
|
||||
sun/tools/attach/LinuxAttachProvider.java
|
||||
endif
|
||||
|
||||
#
|
||||
# Files that need to be copied
|
||||
#
|
||||
SERVICEDIR = $(CLASSBINDIR)/META-INF/services
|
||||
|
||||
FILES_copy = \
|
||||
$(SERVICEDIR)/com.sun.tools.attach.spi.AttachProvider
|
||||
|
||||
|
86
jdk/make/com/sun/tools/attach/Makefile
Normal file
86
jdk/make/com/sun/tools/attach/Makefile
Normal file
@ -0,0 +1,86 @@
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
|
||||
BUILDDIR = ../../../..
|
||||
PACKAGE = com.sun.tools.attach
|
||||
LIBRARY = attach
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
FILES_m = mapfile-solaris
|
||||
endif
|
||||
ifeq ($(PLATFORM), linux)
|
||||
FILES_m = mapfile-linux
|
||||
endif
|
||||
include $(BUILDDIR)/common/Mapfile-vers.gmk
|
||||
|
||||
#
|
||||
# Files to compile
|
||||
#
|
||||
include FILES_c.gmk
|
||||
include FILES_java.gmk
|
||||
include Exportedfiles.gmk
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
OTHER_LDLIBS += -ldoor
|
||||
endif
|
||||
|
||||
vpath %.c $(PLATFORM_SRC)/native/sun/tools/attach
|
||||
|
||||
all: classes copy-files
|
||||
|
||||
#
|
||||
# Copy the service provider configuration files into the resource
|
||||
# directory. Copy the configuration file also uncomments any
|
||||
# providers that need to be enabled for this platform.
|
||||
#
|
||||
|
||||
copy-files: $(FILES_copy)
|
||||
|
||||
$(SERVICEDIR)/%: $(SHARE_SRC)/classes/sun/tools/attach/META-INF/services/%
|
||||
@$(MKDIR) -p $(@D)
|
||||
@$(RM) $@
|
||||
@$(CAT) $< | $(SED) -e "s/^#\[$(PLATFORM)\]//" > $@
|
||||
|
||||
.PHONY: copy-files
|
||||
|
||||
|
||||
clean::
|
||||
$(RM) -r $(CLASSDESTDIR)/com/sun/tools/attach
|
||||
$(RM) -r $(CLASSDESTDIR)/sun/tools/attach
|
||||
$(RM) $(FILES_copy)
|
||||
|
||||
#
|
||||
# Library to compile.
|
||||
#
|
||||
include $(BUILDDIR)/common/Library.gmk
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
43
jdk/make/com/sun/tools/attach/mapfile-linux
Normal file
43
jdk/make/com/sun/tools/attach/mapfile-linux
Normal file
@ -0,0 +1,43 @@
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# Define public interface.
|
||||
|
||||
SUNWprivate_1.1 {
|
||||
global:
|
||||
Java_sun_tools_attach_LinuxVirtualMachine_checkPermissions;
|
||||
Java_sun_tools_attach_LinuxVirtualMachine_close;
|
||||
Java_sun_tools_attach_LinuxVirtualMachine_connect;
|
||||
Java_sun_tools_attach_LinuxVirtualMachine_getLinuxThreadsManager;
|
||||
Java_sun_tools_attach_LinuxVirtualMachine_isLinuxThreads;
|
||||
Java_sun_tools_attach_LinuxVirtualMachine_open;
|
||||
Java_sun_tools_attach_LinuxVirtualMachine_sendQuitTo;
|
||||
Java_sun_tools_attach_LinuxVirtualMachine_sendQuitToChildrenOf;
|
||||
Java_sun_tools_attach_LinuxVirtualMachine_socket;
|
||||
Java_sun_tools_attach_LinuxVirtualMachine_read;
|
||||
Java_sun_tools_attach_LinuxVirtualMachine_write;
|
||||
local:
|
||||
*;
|
||||
};
|
38
jdk/make/com/sun/tools/attach/mapfile-solaris
Normal file
38
jdk/make/com/sun/tools/attach/mapfile-solaris
Normal file
@ -0,0 +1,38 @@
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# Define public interface.
|
||||
|
||||
SUNWprivate_1.1 {
|
||||
global:
|
||||
Java_sun_tools_attach_SolarisVirtualMachine_checkPermissions;
|
||||
Java_sun_tools_attach_SolarisVirtualMachine_enqueue;
|
||||
Java_sun_tools_attach_SolarisVirtualMachine_open;
|
||||
Java_sun_tools_attach_SolarisVirtualMachine_close;
|
||||
Java_sun_tools_attach_SolarisVirtualMachine_read;
|
||||
Java_sun_tools_attach_SolarisVirtualMachine_sigquit;
|
||||
local:
|
||||
*;
|
||||
};
|
44
jdk/make/com/sun/xml/Makefile
Normal file
44
jdk/make/com/sun/xml/Makefile
Normal file
@ -0,0 +1,44 @@
|
||||
#
|
||||
# Copyright 2005-2006 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for building packages under javax.xml
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
PACKAGE = com.sun.xml
|
||||
PRODUCT = xml
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files to compile
|
||||
#
|
||||
AUTO_FILES_JAVA_DIRS = com/sun/activation \
|
||||
org/relaxng/datatype
|
||||
|
||||
#
|
||||
# Rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
71
jdk/make/common/BuildToolJar.gmk
Normal file
71
jdk/make/common/BuildToolJar.gmk
Normal file
@ -0,0 +1,71 @@
|
||||
#
|
||||
# Copyright 1998-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# Input: BUILDDIR PACKAGE PKGDIR PROGRAM BUILDTOOL_SOURCE_ROOT BUILDTOOL_MAIN
|
||||
|
||||
BUILDTOOL_MAIN_SOURCE_FILE = $(BUILDTOOL_SOURCE_ROOT)/$(BUILDTOOL_MAIN)
|
||||
BUILDTOOL_MANIFEST_FILE = $(BUILDTOOLCLASSDIR)/$(PROGRAM)_manifest.mf
|
||||
BUILDTOOL_JAR_FILE = $(BUILDTOOLJARDIR)/$(PROGRAM).jar
|
||||
BUILDTOOL_ALL_FILES := $(shell $(CD) $(BUILDTOOL_SOURCE_ROOT) \
|
||||
&& $(FIND) $(PKGDIR) $(SCM_DIRS_prune) -o -type f -print)
|
||||
BUILTTOOL_MAINCLASS = $(subst /,.,$(BUILDTOOL_MAIN:%.java=%))
|
||||
|
||||
all build: $(BUILDTOOL_JAR_FILE) tool_info
|
||||
|
||||
$(BUILDTOOL_MANIFEST_FILE): $(BUILDTOOL_MAIN_SOURCE_FILE)
|
||||
@$(prep-target)
|
||||
$(ECHO) "Main-Class: $(BUILTTOOL_MAINCLASS)" > $@
|
||||
|
||||
$(BUILDTOOL_JAR_FILE): $(BUILDTOOL_MANIFEST_FILE) \
|
||||
$(BUILDTOOL_ALL_FILES:%=$(BUILDTOOL_SOURCE_ROOT)/%)
|
||||
@$(prep-target)
|
||||
@$(MKDIR) -p $(BUILDTOOLCLASSDIR)
|
||||
$(BOOT_JAVAC_CMD) -d $(BUILDTOOLCLASSDIR) \
|
||||
-sourcepath $(BUILDTOOL_SOURCE_ROOT) $(BUILDTOOL_MAIN_SOURCE_FILE)
|
||||
$(BOOT_JAR_CMD) cfm $@ $(BUILDTOOL_MANIFEST_FILE) \
|
||||
-C $(BUILDTOOLCLASSDIR) $(PKGDIR) \
|
||||
$(JAR_JFLAGS) || $(RM) $@
|
||||
@$(java-vm-cleanup)
|
||||
|
||||
# Printing out a build tool information line
|
||||
define printBuildToolSetting
|
||||
if [ "$2" != "" ] ; then $(PRINTF) "%-25s %s\n" "$1:" "$2"; fi
|
||||
endef
|
||||
|
||||
# Print out the build tool information
|
||||
tool_info:
|
||||
@$(ECHO) "========================================================="
|
||||
@$(call printBuildToolSetting,BUILDTOOL,$(PROGRAM))
|
||||
@$(call printBuildToolSetting,PACKAGE,$(PACKAGE))
|
||||
@$(call printBuildToolSetting,BUILDTOOL_SOURCE_ROOT,$(BUILDTOOL_SOURCE_ROOT))
|
||||
@$(call printBuildToolSetting,BUILTTOOL_MAINCLASS,$(BUILTTOOL_MAINCLASS))
|
||||
@$(call printBuildToolSetting,BUILDTOOL_JAR_FILE,$(BUILDTOOL_JAR_FILE))
|
||||
@$(ECHO) "========================================================="
|
||||
|
||||
clean clobber::
|
||||
$(RM) -r $(BUILDTOOLCLASSDIR)/$(PKGDIR)
|
||||
$(RM) $(BUILDTOOL_MANIFEST_FILE)
|
||||
$(RM) $(BUILDTOOL_JAR_FILE)
|
||||
|
66
jdk/make/common/CancelImplicits.gmk
Normal file
66
jdk/make/common/CancelImplicits.gmk
Normal file
@ -0,0 +1,66 @@
|
||||
#
|
||||
# Copyright 1998-1999 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Cancel some GNU make implicit rules. This causes far fewer stats
|
||||
# (crucial in incremental builds, when all that is being done is stats -- I
|
||||
# notice upto 20% speedup on local disk). See sections "10.2 Catalogue of
|
||||
# Implicit Rules" and "10.5.6 Canceling Implicit Rules" in make.dvi; see
|
||||
# also the output of gnumake -p.
|
||||
#
|
||||
# CAUTION! This is the first thing included in our makefiles, so you must
|
||||
# not add any targets here. Canceling %.f: %.F doesn't make any sense
|
||||
# because we don't have any targets ending with .f.
|
||||
#
|
||||
|
||||
#
|
||||
# We don't make binaries directly from .{source} files with implicit
|
||||
# rules, so disable all of them.
|
||||
#
|
||||
ifndef USE_IMPLICITS
|
||||
%: %.o
|
||||
%: %.obj
|
||||
%: %.dll
|
||||
%: %.c
|
||||
%: %.cc
|
||||
%: %.C
|
||||
%: %.p
|
||||
%: %.f
|
||||
%: %.s
|
||||
%: %.F
|
||||
%: %.r
|
||||
%: %.S
|
||||
%: %.mod
|
||||
%: %.sh
|
||||
endif
|
||||
|
||||
#
|
||||
# If you are using RCS, you must set the variable USE_RCS at the make
|
||||
# command line. Otherwise we disable RCS.
|
||||
#
|
||||
ifndef USE_RCS
|
||||
%:: %,v
|
||||
%:: RCS/%,v
|
||||
endif
|
67
jdk/make/common/Classes.gmk
Normal file
67
jdk/make/common/Classes.gmk
Normal file
@ -0,0 +1,67 @@
|
||||
#
|
||||
# Copyright 1995-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# WARNING: This file is shared with other workspaces.
|
||||
# So when it includes other files, it must use JDK_TOPDIR.
|
||||
#
|
||||
|
||||
include $(JDK_TOPDIR)/make/common/Rules.gmk
|
||||
|
||||
#
|
||||
# Say you built classes into $(ALT_CLASSBINDIR) and then at the end of
|
||||
# the build you might want to copy them over to $(ALT_CLASSDESTDIR);
|
||||
# this rule takes care of that. No one should really set these
|
||||
# variables except the bootstrap/recompile stage of the java compiler.
|
||||
#
|
||||
ifdef ALT_CLASSBINDIR
|
||||
|
||||
# By default post-processing is copying. Suppose you want to build
|
||||
# a jar file then set ALT_CLASSES_DISPOSITION to '../../dest/nameof.jar'
|
||||
# before including this file.
|
||||
ifndef ALT_CLASSES_DISPOSITION
|
||||
ALT_CLASSES_DISPOSITION = copy-classes
|
||||
endif
|
||||
|
||||
build : $(ALT_CLASSES_DISPOSITION)
|
||||
|
||||
copy-classes:
|
||||
ifneq ($(ALT_CLASSBINDIR), $(ALT_CLASSDESTDIR))
|
||||
@if [ -s $(TEMPDIR)/.classes.list ]; then \
|
||||
$(MKDIR) -p $(ALT_CLASSDESTDIR); \
|
||||
$(ECHO) "Copying $(ALT_CLASSBINDIR)..."; \
|
||||
$(ECHO) "($(CD) $(ALT_CLASSBINDIR); $(TAR) cf - .) | \
|
||||
($(CD) $(ALT_CLASSDESTDIR); $(TAR) xf -)"; \
|
||||
($(CD) $(ALT_CLASSBINDIR); $(TAR) cf - .) | \
|
||||
($(CD) $(ALT_CLASSDESTDIR); $(TAR) xf -); \
|
||||
fi
|
||||
else # ALT_CLASSBINDIR
|
||||
@if [ -s $(TEMPDIR)/.classes.list ]; then \
|
||||
$(ECHO) "Copy source and destination are the same: $(ALT_CLASSBINDIR) -- Copy skipped..."; \
|
||||
fi
|
||||
endif # ALT_CLASSBINDIR
|
||||
|
||||
.PHONY: copy-classes
|
||||
endif # ALT_CLASSBINDIR
|
||||
|
100
jdk/make/common/Cscope.gmk
Normal file
100
jdk/make/common/Cscope.gmk
Normal file
@ -0,0 +1,100 @@
|
||||
#
|
||||
# Copyright 1998-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# The cscope.out file is made in the current directory and spans the entire
|
||||
# source tree.
|
||||
#
|
||||
# Things to note:
|
||||
# 1. We use relative names for cscope.
|
||||
# 2. We *don't* remove the old cscope.out file, because cscope is smart
|
||||
# enough to only build what has changed. It can be confused, however,
|
||||
# if files are renamed or removed, so it may be necessary to manually
|
||||
# remove cscope.out if a lot of reorganization has occurred.
|
||||
#
|
||||
CSDIRS = $(JDK_TOPDIR)/src $(JDK_TOPDIR)/build
|
||||
CSINCS = $(CSDIRS:%=-I%)
|
||||
|
||||
#
|
||||
# Set CSFLAGS env variable to -b when using fast cscope to build the fast
|
||||
# (but large) cscope data bases.
|
||||
#
|
||||
CSCOPE = cscope-fast
|
||||
ifeq ($(CSCOPE), cscope-fast)
|
||||
CSFLAGS = -b
|
||||
endif
|
||||
|
||||
#
|
||||
# Adding .java files pushes the file count of a full workspace up about 2500
|
||||
# files, which slows database lookup. Thus allow these files to be added from
|
||||
# the environment (CSCLASSES=yes).
|
||||
#
|
||||
ifdef CSCLASSES
|
||||
ADDCLASSES= -o -name '*.java'
|
||||
endif
|
||||
|
||||
#
|
||||
# Adding CClassHeaders also pushes the file count of a full workspace up about
|
||||
# 200 files (these files also don't exist in a new workspace, and thus will
|
||||
# cause the recreation of the database as they get created, which might seem
|
||||
# A little confusing). Thus allow these files to be added from the environment
|
||||
# (CSHEADERS=yes).
|
||||
#
|
||||
ifndef CSHEADERS
|
||||
RMCCHEADERS= -o -name CClassHeaders
|
||||
endif
|
||||
|
||||
|
||||
.PRECIOUS: cscope.out
|
||||
|
||||
cscope.out: cscope.files FRC
|
||||
$(CSCOPE) $(CSFLAGS)
|
||||
|
||||
#
|
||||
# What files should we include? A simple rule might be just those files under
|
||||
# SCM control, however this would miss files we create like the opcodes and
|
||||
# CClassHeaders. The following attempts to find everything that is *useful*.
|
||||
# (.del files are created by sccsrm, demo directories contain many .java files
|
||||
# that probably aren't useful for development, and the pkgarchive may contain
|
||||
# duplicates of files within the source hierarchy). The ordering of the .raw
|
||||
# file is an attempt to make cscope display the most relevant files first.
|
||||
#
|
||||
cscope.files: FRC
|
||||
@-$(RM) cscope.files cscope.files.raw
|
||||
echo "$(CSINCS)" > cscope.files
|
||||
-find $(CSDIRS) $(SCM_DIRS_prune) -o -type d \( -name '.del-*' -o \
|
||||
-name '*demo' -o -name pkgarchive $(RMCCHEADERS) \) -prune -o \
|
||||
-type f \( -name '*.[Ccshlxy]' -o -name '*.il' -o -name '*.cc' -o \
|
||||
-name 'Makefile*' -o -name GNUmakefile -o -name '*.gmk' -o \
|
||||
-name '*.cpp' $(ADDCLASSES) \) -print > cscope.files.raw
|
||||
-egrep -v "\.java|\/build\/" cscope.files.raw >> cscope.files
|
||||
-fgrep ".java" cscope.files.raw >> cscope.files
|
||||
-fgrep "/build/" cscope.files.raw >> cscope.files
|
||||
@-$(RM) cscope.files.raw
|
||||
|
||||
cscope.clean:
|
||||
-$(RM) cscope.files cscope.files.raw cscope.out
|
||||
|
||||
FRC:
|
338
jdk/make/common/Defs-linux.gmk
Normal file
338
jdk/make/common/Defs-linux.gmk
Normal file
@ -0,0 +1,338 @@
|
||||
#
|
||||
# Copyright 1999-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile to specify compiler flags for programs and libraries
|
||||
# targeted to Linux. Should not contain any rules.
|
||||
#
|
||||
# WARNING: This file is shared with other workspaces.
|
||||
# So when it includes other files, it must use JDK_TOPDIR.
|
||||
#
|
||||
|
||||
# Warning: the following variables are overriden by Defs.gmk. Set
|
||||
# values will be silently ignored:
|
||||
# CFLAGS (set $(OTHER_CFLAGS) instead)
|
||||
# CPPFLAGS (set $(OTHER_CPPFLAGS) instead)
|
||||
# CXXFLAGS (set $(OTHER_CXXFLAGS) instead)
|
||||
# LDFLAGS (set $(OTHER_LDFAGS) instead)
|
||||
# LDLIBS (set $(EXTRA_LIBS) instead)
|
||||
# LDLIBS_COMMON (set $(EXTRA_LIBS) instead)
|
||||
|
||||
# Get shared JDK settings
|
||||
include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
|
||||
|
||||
# Part of INCREMENTAL_BUILD mechanism.
|
||||
# Compiler emits things like: path/file.o: file.h
|
||||
# We want something like: relative_path/file.o relative_path/file.d: file.h
|
||||
CC_DEPEND = -MM
|
||||
CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g'
|
||||
|
||||
ifndef PLATFORM_SRC
|
||||
PLATFORM_SRC = $(JDK_TOPDIR)/src/solaris
|
||||
endif # PLATFORM_SRC
|
||||
|
||||
# Platform specific closed sources
|
||||
ifndef OPENJDK
|
||||
ifndef CLOSED_PLATFORM_SRC
|
||||
CLOSED_PLATFORM_SRC = $(JDK_TOPDIR)/src/closed/solaris
|
||||
endif
|
||||
endif
|
||||
|
||||
# platform specific include files
|
||||
PLATFORM_INCLUDE_NAME = $(PLATFORM)
|
||||
PLATFORM_INCLUDE = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
|
||||
|
||||
# suffix used for make dependencies files.
|
||||
DEPEND_SUFFIX = d
|
||||
# The suffix applied to the library name for FDLIBM
|
||||
FDDLIBM_SUFFIX = a
|
||||
# The suffix applied to scripts (.bat for windows, nothing for unix)
|
||||
SCRIPT_SUFFIX =
|
||||
# CC compiler object code output directive flag value
|
||||
CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
|
||||
CC_PROGRAM_OUTPUT_FLAG = -o #trailing blank required!
|
||||
|
||||
#
|
||||
# Default HPI libraries. Build will build only native, unless
|
||||
# overriden at the make command line. This makes it convenient for
|
||||
# people doing, say, a pthreads port -- they can create a posix
|
||||
# directory here, and say "gnumake HPIS=posix" at the top
|
||||
# level.
|
||||
#
|
||||
HPIS = native
|
||||
|
||||
#
|
||||
# Default optimization
|
||||
#
|
||||
CC_HIGHEST_OPT = -O3
|
||||
CC_HIGHER_OPT = -O3
|
||||
CC_LOWER_OPT = -O2
|
||||
CC_NO_OPT =
|
||||
|
||||
ifeq ($(PRODUCT), java)
|
||||
_OPT = $(CC_HIGHER_OPT)
|
||||
else
|
||||
_OPT = $(CC_LOWER_OPT)
|
||||
CPPFLAGS_DBG += -DLOGGING
|
||||
endif
|
||||
|
||||
# For all platforms, do not omit the frame pointer register usage.
|
||||
# We need this frame pointer to make it easy to walk the stacks.
|
||||
# This should be the default on X86, but ia64 and amd64 may not have this
|
||||
# as the default.
|
||||
CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
|
||||
CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
|
||||
CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
|
||||
CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9
|
||||
LDFLAGS_COMMON_sparcv9 += -m64 -mcpu=v9
|
||||
CFLAGS_REQUIRED_sparc += -m32 -mcpu=v9
|
||||
LDFLAGS_COMMON_sparc += -m32 -mcpu=v9
|
||||
CFLAGS_REQUIRED = $(CFLAGS_REQUIRED_$(ARCH))
|
||||
LDFLAGS_COMMON += $(LDFLAGS_COMMON_$(ARCH))
|
||||
|
||||
# Add in platform specific optimizations for all opt levels
|
||||
CC_HIGHEST_OPT += $(_OPT_$(ARCH))
|
||||
CC_HIGHER_OPT += $(_OPT_$(ARCH))
|
||||
CC_LOWER_OPT += $(_OPT_$(ARCH))
|
||||
|
||||
# If NO_OPTIMIZATIONS is defined in the environment, turn all optimzations off
|
||||
ifdef NO_OPTIMIZATIONS
|
||||
CC_HIGHEST_OPT = $(CC_NO_OPT)
|
||||
CC_HIGHER_OPT = $(CC_NO_OPT)
|
||||
CC_LOWER_OPT = $(CC_NO_OPT)
|
||||
endif
|
||||
|
||||
#
|
||||
# Selection of warning messages
|
||||
#
|
||||
GCC_INHIBIT = -Wno-unused -Wno-parentheses
|
||||
GCC_STYLE =
|
||||
GCC_WARNINGS = -W -Wall $(GCC_STYLE) $(GCC_INHIBIT)
|
||||
|
||||
#
|
||||
# Treat compiler warnings as errors, if warnings not allowed
|
||||
#
|
||||
ifeq ($(COMPILER_WARNINGS_FATAL),true)
|
||||
GCC_WARNINGS += -Werror
|
||||
endif
|
||||
|
||||
#
|
||||
# Misc compiler options
|
||||
#
|
||||
ifeq ($(ARCH),ppc)
|
||||
CFLAGS_COMMON = -fsigned-char
|
||||
else # ARCH
|
||||
CFLAGS_COMMON = -fno-strict-aliasing
|
||||
endif # ARCH
|
||||
PIC_CODE_LARGE = -fPIC
|
||||
PIC_CODE_SMALL = -fpic
|
||||
GLOBAL_KPIC = $(PIC_CODE_LARGE)
|
||||
ifeq ($(ARCH), amd64)
|
||||
CFLAGS_COMMON += $(GLOBAL_KPIC) $(GCC_WARNINGS) -pipe
|
||||
else
|
||||
CFLAGS_COMMON += $(GLOBAL_KPIC) $(GCC_WARNINGS)
|
||||
endif
|
||||
|
||||
# Linux 64bit machines use Dwarf2, which can be HUGE, have fastdebug use -g1
|
||||
DEBUG_FLAG = -g
|
||||
ifeq ($(FASTDEBUG), true)
|
||||
ifeq ($(ARCH_DATA_MODEL), 64)
|
||||
DEBUG_FLAG = -g1
|
||||
endif
|
||||
endif
|
||||
|
||||
CFLAGS_OPT = $(POPT)
|
||||
CFLAGS_DBG = $(DEBUG_FLAG)
|
||||
CFLAGS_COMMON += $(CFLAGS_REQUIRED)
|
||||
|
||||
CXXFLAGS_COMMON = $(GLOBAL_KPIC) -DCC_NOEX $(GCC_WARNINGS)
|
||||
CXXFLAGS_OPT = $(POPT)
|
||||
CXXFLAGS_DBG = $(DEBUG_FLAG)
|
||||
CXXFLAGS_COMMON += $(CFLAGS_REQUIRED)
|
||||
|
||||
# FASTDEBUG: Optimize the code in the -g versions, gives us a faster debug java
|
||||
ifeq ($(FASTDEBUG), true)
|
||||
CFLAGS_DBG += $(CC_LOWER_OPT)
|
||||
CXXFLAGS_DBG += $(CC_LOWER_OPT)
|
||||
endif
|
||||
|
||||
CPPFLAGS_COMMON = -D$(ARCH) -DARCH='"$(ARCH)"' -DLINUX $(VERSION_DEFINES) \
|
||||
-D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT
|
||||
|
||||
ifeq ($(ARCH_DATA_MODEL), 64)
|
||||
CPPFLAGS_COMMON += -D_LP64=1
|
||||
endif
|
||||
|
||||
CPPFLAGS_OPT =
|
||||
CPPFLAGS_DBG = -DDEBUG
|
||||
|
||||
ifdef LIBRARY
|
||||
# Libraries need to locate other libraries at runtime, and you can tell
|
||||
# a library where to look by way of the dynamic runpaths (RPATH or RUNPATH)
|
||||
# buried inside the .so. The $ORIGIN says to look relative to where
|
||||
# the library itself is and it can be followed with relative paths from
|
||||
# that. By default we always look in $ORIGIN, optionally we add relative
|
||||
# paths if the Makefile sets LD_RUNPATH_EXTRAS to those relative paths.
|
||||
# On Linux we add a flag -z origin, not sure if this is necessary, but
|
||||
# doesn't seem to hurt.
|
||||
# The environment variable LD_LIBRARY_PATH will over-ride these runpaths.
|
||||
# Try: 'readelf -d lib*.so' to see these settings in a library.
|
||||
#
|
||||
LDFLAGS_COMMON += -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$$ORIGIN
|
||||
LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=-Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$$ORIGIN/%)
|
||||
endif
|
||||
|
||||
EXTRA_LIBS += -lc
|
||||
|
||||
LDFLAGS_DEFS_OPTION = -z defs
|
||||
LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION)
|
||||
|
||||
#
|
||||
# -L paths for finding and -ljava
|
||||
#
|
||||
LDFLAGS_OPT = -Xlinker -O1
|
||||
LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
|
||||
LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
|
||||
|
||||
#
|
||||
# -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always
|
||||
# statically link libgcc but will print a warning with the flag. We don't
|
||||
# want the warning, so check gcc version first.
|
||||
#
|
||||
CC_VER_MAJOR := $(shell $(CC) -dumpversion | $(SED) 's/egcs-//' | $(CUT) -d'.' -f1)
|
||||
ifeq ("$(CC_VER_MAJOR)", "3")
|
||||
OTHER_LDFLAGS += -static-libgcc
|
||||
endif
|
||||
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
# (See Rules.gmk) The gcc 5 compiler might have an option for this?
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
|
||||
#
|
||||
# Post Processing of libraries/executables
|
||||
#
|
||||
ifeq ($(VARIANT), OPT)
|
||||
ifneq ($(NO_STRIP), true)
|
||||
# Debug 'strip -g' leaves local function Elf symbols (better stack traces)
|
||||
POST_STRIP_PROCESS = $(STRIP) -g
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Use: ld $(LD_MAPFILE_FLAG) mapfile *.o
|
||||
#
|
||||
LD_MAPFILE_FLAG = -Xlinker --version-script -Xlinker
|
||||
|
||||
#
|
||||
# Support for Quantify.
|
||||
#
|
||||
ifdef QUANTIFY
|
||||
QUANTIFY_CMD = quantify
|
||||
QUANTIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
|
||||
LINK_PRE_CMD = $(QUANTIFY_CMD) $(QUANTIFY_OPTIONS)
|
||||
endif
|
||||
|
||||
#
|
||||
# Path and option to link against the VM, if you have to. Note that
|
||||
# there are libraries that link against only -ljava, but they do get
|
||||
# -L to the -ljvm, this is because -ljava depends on -ljvm, whereas
|
||||
# the library itself should not.
|
||||
#
|
||||
VM_NAME = server
|
||||
JVMLIB = -L$(LIBDIR)/$(LIBARCH)/$(VM_NAME) -ljvm
|
||||
JAVALIB = -ljava $(JVMLIB)
|
||||
|
||||
#
|
||||
# We want to privatize JVM symbols on Solaris. This is so the user can
|
||||
# write a function called FindClass and this should not override the
|
||||
# FindClass that is inside the JVM. At this point in time we are not
|
||||
# concerned with other JNI libraries because we hope that there will
|
||||
# not be as many clashes there.
|
||||
#
|
||||
PRIVATIZE_JVM_SYMBOLS = false
|
||||
|
||||
USE_PTHREADS = true
|
||||
override ALT_CODESET_KEY = _NL_CTYPE_CODESET_NAME
|
||||
override AWT_RUNPATH =
|
||||
override HAVE_ALTZONE = false
|
||||
override HAVE_FILIOH = false
|
||||
override HAVE_GETHRTIME = false
|
||||
override HAVE_GETHRVTIME = false
|
||||
override HAVE_SIGIGNORE = true
|
||||
override LEX_LIBRARY = -lfl
|
||||
ifeq ($(STATIC_CXX),true)
|
||||
override LIBCXX = -Wl,-Bstatic -lstdc++ -lgcc -Wl,-Bdynamic
|
||||
else
|
||||
override LIBCXX = -lstdc++
|
||||
endif
|
||||
override LIBPOSIX4 =
|
||||
override LIBSOCKET =
|
||||
override LIBTHREAD =
|
||||
override MOOT_PRIORITIES = true
|
||||
override NO_INTERRUPTIBLE_IO = true
|
||||
override OPENWIN_HOME = /usr/X11R6
|
||||
ifeq ($(ARCH), amd64)
|
||||
override OPENWIN_LIB = $(OPENWIN_HOME)/lib64
|
||||
else
|
||||
override OPENWIN_LIB = $(OPENWIN_HOME)/lib
|
||||
endif
|
||||
override OTHER_M4FLAGS = -D__GLIBC__ -DGNU_ASSEMBLER
|
||||
override SUN_CMM_SUBDIR =
|
||||
override THREADS_FLAG = native
|
||||
override USE_GNU_M4 = true
|
||||
override USING_GNU_TAR = true
|
||||
override WRITE_LIBVERSION = false
|
||||
|
||||
# USE_EXECNAME forces the launcher to look up argv[0] on $PATH, and put the
|
||||
# resulting resolved absolute name of the executable in the environment
|
||||
# variable EXECNAME. That executable name is then used that to locate the
|
||||
# installation area.
|
||||
override USE_EXECNAME = true
|
||||
|
||||
# If your platform has DPS, it will have Type1 fonts too, in which case
|
||||
# it is best to enable DPS support until such time as 2D's rasteriser
|
||||
# can fully handle Type1 fonts in all cases. Default is "yes".
|
||||
# HAVE_DPS should only be "no" if the platform has no DPS headers or libs
|
||||
# DPS (Displayable PostScript) is available on Solaris machines
|
||||
HAVE_DPS = no
|
||||
|
||||
#
|
||||
# Japanese manpages
|
||||
#
|
||||
JA_SOURCE_ENCODING = eucJP
|
||||
JA_TARGET_ENCODINGS = eucJP
|
||||
|
||||
# Settings for the JDI - Serviceability Agent binding.
|
||||
HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
|
||||
SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
|
||||
|
||||
# The JDI - Serviceability Agent binding is not currently supported
|
||||
# on Linux-ia64.
|
||||
ifeq ($(ARCH), ia64)
|
||||
INCLUDE_SA = false
|
||||
else
|
||||
INCLUDE_SA = true
|
||||
endif
|
||||
|
659
jdk/make/common/Defs-solaris.gmk
Normal file
659
jdk/make/common/Defs-solaris.gmk
Normal file
@ -0,0 +1,659 @@
|
||||
#
|
||||
# Copyright 1995-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile to specify compiler flags for programs and libraries
|
||||
# targeted to Solaris. Should not contain any rules.
|
||||
#
|
||||
# WARNING: This file is shared with other workspaces.
|
||||
# So when it includes other files, it must use JDK_TOPDIR.
|
||||
#
|
||||
|
||||
# Warning: the following variables are overridden by Defs.gmk. Set
|
||||
# values will be silently ignored:
|
||||
# CFLAGS (set $(OTHER_CFLAGS) instead)
|
||||
# CPPFLAGS (set $(OTHER_CPPFLAGS) instead)
|
||||
# CXXFLAGS (set $(OTHER_CXXFLAGS) instead)
|
||||
# LDFLAGS (set $(OTHER_LDFAGS) instead)
|
||||
# LDLIBS (set $(EXTRA_LIBS) instead)
|
||||
# LDLIBS_COMMON (set $(EXTRA_LIBS) instead)
|
||||
# LINTFLAGS (set $(OTHER_LINTFLAGS) instead)
|
||||
|
||||
# Get shared JDK settings
|
||||
include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
|
||||
|
||||
ifndef PLATFORM_SRC
|
||||
PLATFORM_SRC = $(JDK_TOPDIR)/src/solaris
|
||||
endif # PLATFORM_SRC
|
||||
|
||||
# Platform specific closed sources
|
||||
ifndef OPENJDK
|
||||
ifndef CLOSED_PLATFORM_SRC
|
||||
CLOSED_PLATFORM_SRC = $(JDK_TOPDIR)/src/closed/solaris
|
||||
endif
|
||||
endif
|
||||
|
||||
# platform specific include files
|
||||
PLATFORM_INCLUDE_NAME = $(PLATFORM)
|
||||
PLATFORM_INCLUDE = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
|
||||
|
||||
# suffix used for make dependencies files
|
||||
DEPEND_SUFFIX = d
|
||||
# suffix used for lint files
|
||||
LINT_SUFFIX = ln
|
||||
# The suffix applied to the library name for FDLIBM
|
||||
FDDLIBM_SUFFIX = a
|
||||
# The suffix applied to scripts (.bat for windows, nothing for unix)
|
||||
SCRIPT_SUFFIX =
|
||||
# CC compiler object code output directive flag value
|
||||
CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
|
||||
CC_PROGRAM_OUTPUT_FLAG = -o #trailing blank required!
|
||||
|
||||
#
|
||||
# Default HPI libraries. Build will build only native unless
|
||||
# overriden at the make command line. This makes it convenient for
|
||||
# people doing, say, a pthreads port -- they can create a posix
|
||||
# directory here, and say "gnumake HPIS=posix" at the top
|
||||
# level.
|
||||
#
|
||||
HPIS = native
|
||||
|
||||
#
|
||||
# Java default optimization (-x04/-O2) etc. Applies to the VM.
|
||||
#
|
||||
ifeq ($(PRODUCT), java)
|
||||
_OPT = $(CC_HIGHER_OPT)
|
||||
else
|
||||
_OPT = $(CC_LOWER_OPT)
|
||||
CPPFLAGS_DBG += -DLOGGING -DDBINFO
|
||||
endif
|
||||
|
||||
#
|
||||
# If -Xa is in CFLAGS_COMMON it will end up ahead of $(POPT) for the
|
||||
# optimized build, and that ordering of the flags completely freaks
|
||||
# out cc. Hence, -Xa is instead in each CFLAGS variant.
|
||||
#
|
||||
# The more unusual options to the Sun C compiler:
|
||||
# -v Stricter type checking, more error checking
|
||||
# (To turn ALL warnings into fatals, use -errwarn=%all)
|
||||
# -xstrconst Place string literals and constants in read-only area
|
||||
# (means you can't write on your string literals)
|
||||
# -xs Force debug information (stabs) into the .so or a.out
|
||||
# (makes the library/executable debuggable without the
|
||||
# .o files needing to be around, but at a space cost)
|
||||
# -g & -O If you add the -g option to the optimized compiles
|
||||
# you will get better stack retraces, the code is
|
||||
# still optimized. This includes a space cost too.
|
||||
# -xc99=%none Do NOT allow for c99 extensions to be used.
|
||||
# e.g. declarations must precede statements
|
||||
# -xCC Allow the C++ style of comments in C: //
|
||||
# Required with many of the source files.
|
||||
# -mt Assume multi-threaded (important)
|
||||
#
|
||||
|
||||
#
|
||||
# Debug flag for C and C++ compiler
|
||||
#
|
||||
CFLAGS_DEBUG_OPTION=-g
|
||||
CXXFLAGS_DEBUG_OPTION=-g
|
||||
|
||||
# Turn off -g if we are doing tcov build
|
||||
ifdef TCOV_BUILD
|
||||
CFLAGS_DEBUG_OPTION=
|
||||
CXXFLAGS_DEBUG_OPTION=
|
||||
endif
|
||||
|
||||
# FASTDEBUG: Optimize the -g builds, gives us a faster debug java
|
||||
# If true adds -O to the debug compiles. This allows for any assert
|
||||
# tests to remain and debug checking. The resulting code is faster
|
||||
# but less debuggable. Stack traces are still valid, although only
|
||||
# approximate line numbers are given. Printing of local variables
|
||||
# during a debugging session is not possible, but stepping and
|
||||
# printing of global or static variables should be possible.
|
||||
# Performance/size of files should be about the same, maybe smaller.
|
||||
#
|
||||
ifeq ($(FASTDEBUG), true)
|
||||
CC_FASTDEBUG_OPT = $(CC_LOWER_OPT)
|
||||
CFLAGS_DEBUG_OPTION = -g $(CC_FASTDEBUG_OPT)
|
||||
CXXFLAGS_DEBUG_OPTION = -g0 $(CC_FASTDEBUG_OPT)
|
||||
endif
|
||||
|
||||
CFLAGS_COMMON = -v -mt -L$(OBJDIR) -xc99=%none
|
||||
CFLAGS_COMMON += -xCC
|
||||
CFLAGS_COMMON += -errshort=tags
|
||||
CFLAGS_OPT = $(POPT)
|
||||
CFLAGS_DBG = $(CFLAGS_DEBUG_OPTION)
|
||||
CFLAGS_COMMON += -Xa $(CFLAGS_REQUIRED)
|
||||
|
||||
# Assume MT behavior all the time (important)
|
||||
CXXFLAGS_COMMON = -mt
|
||||
|
||||
# Assume no C++ exceptions are used
|
||||
CXXFLAGS_COMMON += -features=no%except -DCC_NOEX
|
||||
|
||||
# For C++, these options tell it to assume nothing about locating libraries
|
||||
# either at compile time, or at runtime. Use of these options will likely
|
||||
# require the use of -L and -R options to indicate where libraries will
|
||||
# be found at compile time (-L) and at runtime (-R).
|
||||
# The /usr/lib location comes for free, so no need to specify that one.
|
||||
# Note: C is much simplier and there is no need for these options. This
|
||||
# is mostly needed to avoid dependencies on libraries in the
|
||||
# Compiler install area, also see LIBCXX and LIBM.
|
||||
CXXFLAGS_COMMON += -norunpath -xnolib
|
||||
|
||||
#
|
||||
# Treat compiler warnings as errors, if requested
|
||||
#
|
||||
ifeq ($(COMPILER_WARNINGS_FATAL),true)
|
||||
CFLAGS_COMMON += -errwarn=%all
|
||||
CXXFLAGS_COMMON += -errwarn=%all
|
||||
endif
|
||||
|
||||
CXXFLAGS_OPT = $(POPT)
|
||||
CXXFLAGS_DBG = $(CXXFLAGS_DEBUG_OPTION)
|
||||
CXXFLAGS_COMMON += $(CFLAGS_REQUIRED)
|
||||
|
||||
# Add -xstrconst to the library compiles. This forces all string
|
||||
# literals into the read-only data section, which prevents them from
|
||||
# being written to and increases the runtime pages shared on the system.
|
||||
#
|
||||
ifdef LIBRARY
|
||||
CFLAGS_COMMON +=-xstrconst
|
||||
endif
|
||||
|
||||
# Source browser database
|
||||
#
|
||||
# COMPILE_WITH_SB
|
||||
# If defined adds -xsb to compiles and creates a
|
||||
# source browsing database during compilation.
|
||||
#
|
||||
ifdef COMPILE_WITH_SB
|
||||
ifeq ($(LIBRARY), java)
|
||||
CFLAGS_DBG += -xsb
|
||||
endif
|
||||
endif
|
||||
|
||||
# Lint Flags:
|
||||
# -Xa ANSI C plus K&R, favor ANSI rules
|
||||
# -Xarch=XXX Same as 'cc -xarch=XXX'
|
||||
# -fd report on old style func defs
|
||||
# -errchk=structarg report on 64bit struct args by value
|
||||
# -errchk=longptr64 report on 64bit to 32bit issues (ignores casts)
|
||||
# -errchk=parentheses report on suggested use of extra parens
|
||||
# -v suppress unused args
|
||||
# -x suppress unused externs
|
||||
# -u suppress extern func/vars used/defined
|
||||
# -errfmt=simple use one line errors with position info
|
||||
|
||||
LINTFLAGS_COMMON = -Xa
|
||||
LINTFLAGS_COMMON += -fd
|
||||
LINTFLAGS_COMMON += -errchk=structarg,longptr64,parentheses
|
||||
LINTFLAGS_COMMON += -v
|
||||
LINTFLAGS_COMMON += -x
|
||||
LINTFLAGS_COMMON += -u
|
||||
LINTFLAGS_COMMON += -errfmt=simple
|
||||
LINTFLAGS_OPT =
|
||||
LINTFLAGS_DBG =
|
||||
|
||||
# The -W0,-noglobal tells the compiler to NOT generate mangled global
|
||||
# ELF data symbols for file local static data.
|
||||
# This can break fix&continue, but we'd rather do the same compilations
|
||||
# for deliverable bits as we do for non-deliverable bits
|
||||
# Tell the compilers to never generate globalized names, all the time.
|
||||
CFLAGS_COMMON += -W0,-noglobal
|
||||
|
||||
# Arch specific settings (determines type of .o files and instruction set)
|
||||
ifeq ($(ARCH_FAMILY), sparc)
|
||||
ifdef VIS_NEEDED
|
||||
XARCH_VALUE/32=v8plusa
|
||||
XARCH_VALUE/64=v9a
|
||||
else
|
||||
# Someday this should change to improve optimization on UltraSPARC
|
||||
# and abandon the old v8-only machines like the SPARCstation 10.
|
||||
# Indications with Mustang is that alacrity runs do not show a
|
||||
# big improvement using v8plus over v8, but other benchmarks might.
|
||||
XARCH_VALUE/32=v8
|
||||
XARCH_VALUE/64=v9
|
||||
endif
|
||||
endif
|
||||
ifeq ($(ARCH_FAMILY), i586)
|
||||
XARCH_VALUE/64=amd64
|
||||
XARCH_VALUE/32=
|
||||
endif
|
||||
|
||||
# Arch value based on current data model being built
|
||||
XARCH_VALUE=$(XARCH_VALUE/$(ARCH_DATA_MODEL))
|
||||
ifneq ($(XARCH_VALUE), )
|
||||
# The actual compiler -xarch options to use
|
||||
XARCH_OPTION/32 = -xarch=$(XARCH_VALUE/32)
|
||||
XARCH_OPTION/64 = -xarch=$(XARCH_VALUE/64)
|
||||
XARCH_OPTION = $(XARCH_OPTION/$(ARCH_DATA_MODEL))
|
||||
endif
|
||||
|
||||
# If we have a specific -xarch value to use, add it
|
||||
ifdef XARCH_OPTION
|
||||
CFLAGS_COMMON += $(XARCH_OPTION)
|
||||
CXXFLAGS_COMMON += $(XARCH_OPTION)
|
||||
ASFLAGS_COMMON += $(XARCH_OPTION)
|
||||
EXTRA_LIBS += $(XARCH_OPTION)
|
||||
LINTFLAGS_COMMON += -Xarch=$(XARCH_VALUE)
|
||||
endif
|
||||
|
||||
#
|
||||
# uncomment the following to build with PERTURBALOT set
|
||||
#
|
||||
# OTHER_CFLAGS += -DPERTURBALOT
|
||||
#
|
||||
|
||||
CPPFLAGS_COMMON = -D$(ARCH_FAMILY) -D__solaris__ -D_REENTRANT
|
||||
CPPFLAGS_OPT =
|
||||
CPPFLAGS_DBG = -DDEBUG
|
||||
|
||||
ifeq ($(ARCH_FAMILY), i586)
|
||||
# The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
|
||||
# Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN
|
||||
# (The Solaris X86 system defines this in file /usr/include/sys/isa_defs.h).
|
||||
# Note: -Dmacro is the same as #define macro 1
|
||||
# -Dmacro= is the same as #define macro
|
||||
#
|
||||
CPPFLAGS_COMMON += -DcpuIntel -D_LITTLE_ENDIAN= -D$(LIBARCH)
|
||||
# Turn off a superfluous compiler error message on Intel
|
||||
CFLAGS_COMMON += -erroff=E_BAD_PRAGMA_PACK_VALUE
|
||||
endif
|
||||
|
||||
# Java memory management is based on memory mapping by default, but a
|
||||
# system only assuming malloc/free can be built by adding -DUSE_MALLOC
|
||||
|
||||
CPPFLAGS_COMMON += -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS
|
||||
CPPFLAGS_OPT += -DTRIMMED
|
||||
|
||||
LDFLAGS_DEFS_OPTION = -z defs
|
||||
LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION)
|
||||
|
||||
#
|
||||
# -L paths for finding and -ljava
|
||||
#
|
||||
LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
|
||||
LDFLAGS_OPT =
|
||||
LDFLAGS_DBG =
|
||||
|
||||
#
|
||||
# We never really want the incremental linker, ever
|
||||
# The -xildoff option tells Sun's compilers to NOT use incremental linker
|
||||
#
|
||||
LDFLAGS_COMMON += -xildoff
|
||||
|
||||
ifdef LIBRARY
|
||||
# Libraries need to locate other libraries at runtime, and you can tell
|
||||
# a library where to look by way of the dynamic runpaths (RPATH or RUNPATH)
|
||||
# buried inside the .so. The $ORIGIN says to look relative to where
|
||||
# the library itself is and it can be followed with relative paths from
|
||||
# that. By default we always look in $ORIGIN, optionally we add relative
|
||||
# paths if the Makefile sets LD_RUNPATH_EXTRAS to those relative paths.
|
||||
# The environment variable LD_LIBRARY_PATH will over-ride these runpaths.
|
||||
# Try: 'dump -Lv lib*.so' to see these settings in a library.
|
||||
#
|
||||
LDFLAGS_COMMON += -R\$$ORIGIN
|
||||
LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=-R\$$ORIGIN/%)
|
||||
endif
|
||||
|
||||
EXTRA_LIBS += -lc
|
||||
|
||||
# Postprocessing is done on the images directories only
|
||||
#
|
||||
ifeq ($(VARIANT), OPT)
|
||||
ifeq ($(PARTIAL_GPROF), true)
|
||||
NO_STRIP = true
|
||||
endif
|
||||
ifeq ($(GPROF), true)
|
||||
NO_STRIP = true
|
||||
endif
|
||||
ifneq ($(NO_STRIP), true)
|
||||
# Debug 'strip -x' leaves local function Elf symbols (better stack traces)
|
||||
POST_STRIP_PROCESS = $(STRIP) -x
|
||||
endif
|
||||
endif
|
||||
POST_MCS_PROCESS=$(MCS) -d -a "JDK $(FULL_VERSION)"
|
||||
|
||||
#
|
||||
# Sun C compiler will take -M and pass it on to ld.
|
||||
# Usage: ld $(LD_MAPFILE_FLAG) mapfile *.o
|
||||
#
|
||||
ifeq ($(CC_VERSION),gcc)
|
||||
LD_MAPFILE_FLAG = -Xlinker -M -Xlinker
|
||||
else
|
||||
LD_MAPFILE_FLAG = -M
|
||||
endif
|
||||
|
||||
#
|
||||
# Variables globally settable from the make command line (default
|
||||
# values in brackets):
|
||||
# GPROF (false)
|
||||
# Eg: % gnumake GPROF=true
|
||||
GPROF = false
|
||||
ifeq ($(GPROF), true)
|
||||
CFLAGS_COMMON += -DGPROF -xpg
|
||||
EXTRA_LIBS += -xpg
|
||||
endif
|
||||
|
||||
# PARTIAL_GPROF is to be used ONLY during compilation - it should not
|
||||
# appear during linking of libraries or programs. It also should
|
||||
# prevent linking with -z defs to allow a symbol to remain undefined.
|
||||
#
|
||||
PARTIAL_GPROF = false
|
||||
ifeq ($(PARTIAL_GPROF), true)
|
||||
CFLAGS_GPROF += -xpg
|
||||
LDFLAGS_DEFS_OPTION = -z nodefs
|
||||
endif
|
||||
|
||||
#
|
||||
# For a TCOV build we add in the TCOV_OPTION
|
||||
#
|
||||
ifdef TCOV_BUILD
|
||||
TCOV_OPTION = -xprofile=tcov
|
||||
LDFLAGS_COMMON += $(TCOV_OPTION) -Kpic
|
||||
CFLAGS_COMMON += $(TCOV_OPTION)
|
||||
CXXFLAGS_COMMON += $(TCOV_OPTION)
|
||||
EXTRA_LIBS += $(TCOV_OPTION)
|
||||
LDNOMAP=true
|
||||
endif
|
||||
|
||||
#
|
||||
# Solaris only uses native threads.
|
||||
#
|
||||
THREADS_FLAG= native
|
||||
THREADS_DIR= threads
|
||||
|
||||
#
|
||||
# Support for Quantify.
|
||||
#
|
||||
ifdef QUANTIFY
|
||||
QUANTIFY_CMD = quantify
|
||||
QUANTIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
|
||||
LINK_PRE_CMD = $(QUANTIFY_CMD) $(QUANTIFY_OPTIONS)
|
||||
ifdef LIBRARY
|
||||
CFLAGS_COMMON += -K PIC
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Support for Purify.
|
||||
#
|
||||
ifdef PURIFY
|
||||
PURIFY_CMD = /net/suntools.eng/export/tools/sparc/bin/purify
|
||||
PURIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
|
||||
LINK_PRE_CMD = $(PURIFY_CMD) $(PURIFY_OPTIONS)
|
||||
ifdef LIBRARY
|
||||
CFLAGS_COMMON += -K PIC
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Different "levels" of optimization.
|
||||
#
|
||||
ifeq ($(CC_VERSION),gcc)
|
||||
CC_HIGHEST_OPT = -O3
|
||||
CC_HIGHER_OPT = -O3
|
||||
CC_LOWER_OPT = -O2
|
||||
CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer
|
||||
CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
# (See Rules.gmk) May need to wait for gcc 5?
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
else
|
||||
# Highest could be -xO5, but indications are that -xO5 should be reserved
|
||||
# for a per-file use, on sources with known performance impacts.
|
||||
CC_HIGHEST_OPT = -xO4
|
||||
CC_HIGHER_OPT = -xO4
|
||||
CC_LOWER_OPT = -xO2
|
||||
#
|
||||
# WARNING: Use of _OPT=$(CC_HIGHEST_OPT) in your Makefile needs to be
|
||||
# done with care, there are some assumptions below that need to
|
||||
# be understood about the use of pointers, and IEEE behavior.
|
||||
#
|
||||
# Use non-standard floating point mode (not IEEE 754)
|
||||
CC_HIGHEST_OPT += -fns
|
||||
# Do some simplification of floating point arithmetic (not IEEE 754)
|
||||
CC_HIGHEST_OPT += -fsimple
|
||||
# Use single precision floating point with 'float'
|
||||
CC_HIGHEST_OPT += -fsingle
|
||||
# Assume memory references via basic pointer types do not alias
|
||||
# (Source with excessing pointer casting and data access with mixed
|
||||
# pointer types are not recommended)
|
||||
CC_HIGHEST_OPT += -xalias_level=basic
|
||||
# Use intrinsic or inline versions for math/std functions
|
||||
# (If you expect perfect errno behavior, do not use this)
|
||||
CC_HIGHEST_OPT += -xbuiltin=%all
|
||||
# Loop data dependency optimizations (need -xO3 or higher)
|
||||
CC_HIGHEST_OPT += -xdepend
|
||||
# Pointer parameters to functions do not overlap
|
||||
# (Similar to -xalias_level=basic usage, but less obvious sometimes.
|
||||
# If you pass in multiple pointers to the same data, do not use this)
|
||||
CC_HIGHEST_OPT += -xrestrict
|
||||
# Inline some library routines
|
||||
# (If you expect perfect errno behavior, do not use this)
|
||||
CC_HIGHEST_OPT += -xlibmil
|
||||
# Use optimized math routines
|
||||
# (If you expect perfect errno behavior, do not use this)
|
||||
# Can cause undefined external on Solaris 8 X86 on __sincos, removing for now
|
||||
# CC_HIGHEST_OPT += -xlibmopt
|
||||
ifeq ($(ARCH_FAMILY), sparc)
|
||||
# Assume at most 8byte alignment, raise SIGBUS on error
|
||||
### Presents an ABI issue with customer JNI libs?
|
||||
####CC_HIGHEST_OPT += -xmemalign=8s
|
||||
# Automatic prefetch instructions, explicit prefetch macros
|
||||
CC_HIGHEST_OPT += -xprefetch=auto,explicit
|
||||
# Pick ultra as the chip to optimize to
|
||||
CC_HIGHEST_OPT += -xchip=ultra
|
||||
endif
|
||||
ifeq ($(ARCH), i586)
|
||||
# Pick pentium as the chip to optimize to
|
||||
CC_HIGHEST_OPT += -xchip=pentium
|
||||
endif
|
||||
ifdef LIBRARY
|
||||
# The Solaris CBE (Common Build Environment) requires that the use
|
||||
# of appl registers be disabled when compiling a public library (or
|
||||
# a library that's loaded by a public library) on sparc.
|
||||
CFLAGS_REQUIRED_sparc += -xregs=no%appl
|
||||
CFLAGS_REQUIRED_sparcv9 += -xregs=no%appl
|
||||
endif
|
||||
ifeq ($(shell $(EXPR) $(CC_VER) \> 5.6), 1)
|
||||
# Do NOT use the frame pointer register as a general purpose opt register
|
||||
CFLAGS_REQUIRED_i586 += -xregs=no%frameptr
|
||||
CFLAGS_REQUIRED_amd64 += -xregs=no%frameptr
|
||||
# We MUST allow data alignment of 4 for sparc V8 (32bit)
|
||||
# Presents an ABI issue with customer JNI libs? We must be able to
|
||||
# to handle 4byte aligned objects? (rare occurance, but possible?)
|
||||
CFLAGS_REQUIRED_sparc += -xmemalign=4s
|
||||
endif
|
||||
# Just incase someone trys to use the SOS9 compilers
|
||||
ifeq ($(CC_VER), 5.6)
|
||||
# We MUST allow data alignment of 4 for sparc (sparcv9 is ok at 8s)
|
||||
CFLAGS_REQUIRED_sparc += -xmemalign=4s
|
||||
endif
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
# (See Rules.gmk) The SS11 -xpch=auto* options appear to be broken.
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
endif
|
||||
CC_NO_OPT =
|
||||
|
||||
# If NO_OPTIMIZATIONS is defined in the environment, turn all optimzations off
|
||||
ifdef NO_OPTIMIZATIONS
|
||||
CC_HIGHEST_OPT = $(CC_NO_OPT)
|
||||
CC_HIGHER_OPT = $(CC_NO_OPT)
|
||||
CC_LOWER_OPT = $(CC_NO_OPT)
|
||||
endif
|
||||
|
||||
# Flags required all the time
|
||||
CFLAGS_REQUIRED = $(CFLAGS_REQUIRED_$(ARCH))
|
||||
|
||||
# Add processor specific options for optimizations
|
||||
CC_HIGHEST_OPT += $(_OPT_$(ARCH))
|
||||
CC_HIGHER_OPT += $(_OPT_$(ARCH))
|
||||
CC_LOWER_OPT += $(_OPT_$(ARCH))
|
||||
|
||||
# Secret compiler optimization options that should be in the above macros
|
||||
# but since they differ in format from C to C++, are added into the C or
|
||||
# C++ specific macros for compiler flags.
|
||||
#
|
||||
# On i586 we need to tell the code generator to ALWAYS use a
|
||||
# frame pointer.
|
||||
ifeq ($(ARCH_FAMILY), i586)
|
||||
# Note that in 5.7, this is done with -xregs=no%frameptr
|
||||
ifeq ($(CC_VER), 5.5)
|
||||
# It's not exactly clear when this optimization kicks in, the
|
||||
# current assumption is -xO4 or greater and for C++ with
|
||||
# the -features=no%except option and -xO4 and greater.
|
||||
# Bottom line is, we ALWAYS want a frame pointer!
|
||||
CXXFLAGS_OPT += -Qoption ube -Z~B
|
||||
CFLAGS_OPT += -Wu,-Z~B
|
||||
ifeq ($(FASTDEBUG), true)
|
||||
CXXFLAGS_DBG += -Qoption ube -Z~B
|
||||
CFLAGS_DBG += -Wu,-Z~B
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
#
|
||||
# Optimizer for sparc needs to be told not to do certain things
|
||||
# related to frames or save instructions.
|
||||
ifeq ($(ARCH_FAMILY), sparc)
|
||||
# NOTE: Someday the compilers will provide a high-level option for this.
|
||||
# Use save instructions instead of add instructions
|
||||
# This was an optimization starting in SC5.0 that made it hard for us to
|
||||
# find the "save" instruction (which got turned into an "add")
|
||||
CXXFLAGS_OPT += -Qoption cg -Qrm-s
|
||||
CFLAGS_OPT += -Wc,-Qrm-s
|
||||
ifeq ($(FASTDEBUG), true)
|
||||
CXXFLAGS_DBG += -Qoption cg -Qrm-s
|
||||
CFLAGS_DBG += -Wc,-Qrm-s
|
||||
endif
|
||||
#
|
||||
# NOTE: Someday the compilers will provide a high-level option for this.
|
||||
# Don't allow tail call code optimization. Started in SC5.0.
|
||||
# We don't like code of this form:
|
||||
# save
|
||||
# <code>
|
||||
# call foo
|
||||
# restore
|
||||
# because we can't tell if the method will have a stack frame
|
||||
# and register windows or not.
|
||||
CXXFLAGS_OPT += -Qoption cg -Qiselect-T0
|
||||
CFLAGS_OPT += -Wc,-Qiselect-T0
|
||||
ifeq ($(FASTDEBUG), true)
|
||||
CXXFLAGS_DBG += -Qoption cg -Qiselect-T0
|
||||
CFLAGS_DBG += -Wc,-Qiselect-T0
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Path and option to link against the VM, if you have to. Note that
|
||||
# there are libraries that link against only -ljava, but they do get
|
||||
# -L to the -ljvm, this is because -ljava depends on -ljvm, whereas
|
||||
# the library itself should not.
|
||||
#
|
||||
VM_NAME = server
|
||||
JVMLIB = -L$(LIBDIR)/$(LIBARCH)/$(VM_NAME) -ljvm
|
||||
JAVALIB = -ljava $(JVMLIB)
|
||||
|
||||
# Part of INCREMENTAL_BUILD mechanism.
|
||||
# Compiler emits things like: path/file.o: file.h
|
||||
# We want something like: relative_path/file.o relative_path/file.d: file.h
|
||||
# In addition on Solaris, any include file starting with / is deleted,
|
||||
# this gets rid of things like /usr/include files, which never change.
|
||||
CC_DEPEND = -xM1
|
||||
CC_DEPEND_FILTER = $(SED) -e '/:[ ]*[/]/d' -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g' | $(SORT) -u
|
||||
|
||||
# Location of openwin libraries (do we really need this anymore?)
|
||||
OPENWIN_HOME = /usr/openwin
|
||||
OPENWIN_LIB = $(OPENWIN_HOME)/lib$(ISA_DIR)
|
||||
|
||||
# Runtime graphics library search paths...
|
||||
OPENWIN_RUNTIME_LIB = /usr/openwin/lib$(ISA_DIR)
|
||||
AWT_RUNPATH = -R/usr/dt/lib$(ISA_DIR) -R$(OPENWIN_RUNTIME_LIB)
|
||||
|
||||
# C++ Runtime library (libCrun.so), use instead of -lCrun.
|
||||
# Originally used instead of -lCrun to guarantee use of the system
|
||||
# .so version and not the .a or .so that came with the compilers.
|
||||
# With the newer compilers this could probably change back to -lCrun but
|
||||
# in general this is ok to continue to do.
|
||||
LIBCXX = /usr/lib$(ISA_DIR)/libCrun.so.1
|
||||
|
||||
# Math Library (libm.so), do not use -lm.
|
||||
# There might be two versions of libm.so on the build system:
|
||||
# libm.so.1 and libm.so.2, and we want libm.so.1.
|
||||
# Depending on the Solaris release being used to build with,
|
||||
# /usr/lib/libm.so could point at a libm.so.2, so we are
|
||||
# explicit here so that the libjvm.so you have built will work on an
|
||||
# older Solaris release that might not have libm.so.2.
|
||||
# This is a critical factor in allowing builds on Solaris 10 or newer
|
||||
# to run on Solaris 8 or 9.
|
||||
#
|
||||
# Note: Historically there was also a problem picking up a static version
|
||||
# of libm.a from the compiler area, but that problem has gone away
|
||||
# with the newer compilers. Use of libm.a would cause .so bloat.
|
||||
#
|
||||
LIBM = /usr/lib$(ISA_DIR)/libm.so.1
|
||||
|
||||
# Socket library
|
||||
LIBSOCKET = -lsocket
|
||||
|
||||
# GLOBAL_KPIC: If set means all libraries are PIC, position independent code
|
||||
# EXCEPT for select compiles
|
||||
# If a .o file is compiled non-PIC then it should be forced
|
||||
# into the RW data segment with a mapfile option. This is done
|
||||
# with object files which generated from .s files.
|
||||
# The -ztext enforces that no relocations remain in the text segment
|
||||
# so that it remains purely read-only for optimum system performance.
|
||||
# Some libraries may use a smaller size (13bit -Kpic) on sparc instead of
|
||||
# (32 bit -KPIC) and will override GLOBAL_KPIC appropriately.
|
||||
#
|
||||
PIC_CODE_LARGE = -KPIC
|
||||
PIC_CODE_SMALL = -Kpic
|
||||
ifndef TCOV_BUILD
|
||||
GLOBAL_KPIC = $(PIC_CODE_LARGE)
|
||||
CXXFLAGS_COMMON += $(GLOBAL_KPIC)
|
||||
CFLAGS_COMMON += $(GLOBAL_KPIC)
|
||||
LDFLAGS_COMMON += -ztext
|
||||
endif # TCOV_BUILD
|
||||
|
||||
# If your platform has DPS, it will have Type1 fonts too, in which case
|
||||
# it is best to enable DPS support until such time as 2D's rasteriser
|
||||
# can fully handle Type1 fonts in all cases. Default is "yes".
|
||||
# HAVE_DPS should only be "no" if the platform has no DPS headers or libs
|
||||
# DPS (Displayable PostScript) is available on Solaris machines
|
||||
|
||||
HAVE_DPS = yes
|
||||
|
||||
#
|
||||
# Japanese manpages
|
||||
#
|
||||
JA_SOURCE_ENCODING = eucJP
|
||||
JA_TARGET_ENCODINGS = eucJP UTF-8 PCK
|
||||
|
||||
# Settings for the JDI - Serviceability Agent binding.
|
||||
HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
|
||||
SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
|
||||
INCLUDE_SA=true
|
||||
|
428
jdk/make/common/Defs-windows.gmk
Normal file
428
jdk/make/common/Defs-windows.gmk
Normal file
@ -0,0 +1,428 @@
|
||||
#
|
||||
# Copyright 1999-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile to specify compiler flags for programs and libraries
|
||||
# targeted to Windows builds. Should not contain any rules.
|
||||
#
|
||||
# WARNING: This file is shared with other workspaces.
|
||||
# So when it includes other files, it must use JDK_TOPDIR.
|
||||
#
|
||||
|
||||
# Get shared JDK settings
|
||||
include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
|
||||
|
||||
# CC compiler object code output directive flag value
|
||||
CC_OBJECT_OUTPUT_FLAG = -Fo
|
||||
CC_PROGRAM_OUTPUT_FLAG = -Fe
|
||||
|
||||
# The suffix applied to the library name for FDLIBM
|
||||
FDDLIBM_SUFFIX = lib
|
||||
# The suffix applied to scripts (.bat for windows, nothing for unix)
|
||||
SCRIPT_SUFFIX = .bat
|
||||
|
||||
HPIS = windows
|
||||
# LIB_LOCATION, which for windows identifies where .exe files go, may be
|
||||
# set by each GNUmakefile. The default is BINDIR.
|
||||
ifndef LIB_LOCATION
|
||||
LIB_LOCATION = $(BINDIR)
|
||||
endif # LIB_LOCATION
|
||||
|
||||
ifndef PLATFORM_SRC
|
||||
PLATFORM_SRC = $(JDK_TOPDIR)/src/windows
|
||||
endif # PLATFORM_SRC
|
||||
|
||||
# Platform specific closed sources
|
||||
ifndef OPENJDK
|
||||
ifndef CLOSED_PLATFORM_SRC
|
||||
CLOSED_PLATFORM_SRC = $(JDK_TOPDIR)/src/closed/windows
|
||||
endif
|
||||
endif
|
||||
|
||||
# for backwards compatability, the old "win32" is used here instead of
|
||||
# the more proper "windows"
|
||||
PLATFORM_INCLUDE_NAME = win32
|
||||
PLATFORM_INCLUDE = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
|
||||
|
||||
# The following DLL's are considered MS runtime libraries and should
|
||||
# not to be REBASEd, see deploy/make/common/Release.gmk.
|
||||
# msvcrt.dll, msvcr71.dll: Microsoft runtimes
|
||||
MS_RUNTIME_LIBRARIES = msvcrt.dll
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
ifeq ($(COMPILER_VERSION), VS2003)
|
||||
MS_RUNTIME_LIBRARIES += msvcr71.dll
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
EXTRA_LFLAGS += /LIBPATH:$(DXSDK_LIB_PATH)
|
||||
|
||||
# C Compiler flag definitions
|
||||
|
||||
#
|
||||
# Default optimization
|
||||
#
|
||||
ifeq ($(CC_VERSION),msvc)
|
||||
# Visual Studio .NET 2003 or VS2003 compiler option definitions:
|
||||
# -O1 Favors reduced size over speed (-Og -Os -Oy -Ob2 -Gs -GF -Gy)
|
||||
# -O2 Favors speed over reduced size (-Og -Oi -Ot -Oy -Ob2 -Gs -GF -Gy)
|
||||
# -Ox Full optimization (use -O2) (-Og -Oi -Ot -Oy -Ob2)
|
||||
# (Removed in Visual Studio 2005 or VS2005)
|
||||
# -Ob2 More aggressive inlining
|
||||
# -Og Global optimizations
|
||||
# -Oi Replace some functions with intrinsic or special forms
|
||||
# -Op Improve floating point calculations (disables some optimizations)
|
||||
# (Replaced with -fp:precise in VS2005, /Op is default now)
|
||||
# -Os Favor small code
|
||||
# -Ot Favor faster code
|
||||
# -Oy Frame pointer omission
|
||||
# -GB Optimize for pentium (old VC6 option?)
|
||||
# -G6 VS2003 version of -GB?
|
||||
# -GF Pool strings in read-only memory
|
||||
# -Gf Pool strings in read-write memory (the default)
|
||||
# -Gs Controls stack probess
|
||||
# -GS Adds buffer overflow checks on stacks
|
||||
# (Default in VS2005)
|
||||
# -GX Enables exception handling
|
||||
# (Replaced with /EHsc in VS2005)
|
||||
# -Gy Function level linking only
|
||||
#
|
||||
# NOTE: With VC6, -Ox included -Gs.
|
||||
# NOTE: With VC6, -Ox, -O1, and -O2 used -Ob1, not -Ob2.
|
||||
# NOTE: With VC6, -O1 and -O2 used -Gf, not -GF.
|
||||
#
|
||||
ifeq ($(COMPILER_VERSION), VC6)
|
||||
# VC6 (6.2) msvc compiler (the way Tiger and early Mustang were built)
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
GX_OPTION = -GX
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CC_HIGHEST_OPT = -Ox -Gy -Os -GB
|
||||
CC_HIGHER_OPT = -Ox -Gy -Os -GB
|
||||
CC_LOWER_OPT = -Ox -Gy -Os -GB
|
||||
else
|
||||
CC_HIGHEST_OPT = -Ox -Gy -Op
|
||||
CC_HIGHER_OPT = -Ox -Gy -Op
|
||||
CC_LOWER_OPT = -Ox -Gy -Op
|
||||
endif
|
||||
endif
|
||||
ifeq ($(COMPILER_VERSION), VS2003)
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
AUTOMATIC_PCH_OPTION = -YX
|
||||
# Also known as VC7 compiler
|
||||
GX_OPTION = -GX
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
# Lowered opt level to try and reduce footprint, dll size especially.
|
||||
# Was: CC_HIGHEST_OPT = -O2 -G6
|
||||
# Was: CC_HIGHER_OPT = -O2
|
||||
CC_HIGHEST_OPT = -O2
|
||||
CC_HIGHER_OPT = -O1
|
||||
CC_LOWER_OPT = -O1
|
||||
else
|
||||
CC_HIGHEST_OPT = -O2 -Op
|
||||
CC_HIGHER_OPT = -O2 -Op
|
||||
CC_LOWER_OPT = -O1 -Op
|
||||
endif
|
||||
endif
|
||||
ifeq ($(COMPILER_VERSION), VS2005)
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
# VS2005 compiler, only with Platform SDK right now?
|
||||
GX_OPTION = -EHsc
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CC_HIGHEST_OPT = -O2
|
||||
CC_HIGHER_OPT = -O1
|
||||
CC_LOWER_OPT = -O1
|
||||
else
|
||||
CC_HIGHEST_OPT = -O2
|
||||
CC_HIGHER_OPT = -O1
|
||||
CC_LOWER_OPT = -O1
|
||||
endif
|
||||
endif
|
||||
CC_NO_OPT = -Od
|
||||
else # CC_VERSION
|
||||
# GCC not supported, but left for historical reference...
|
||||
CC_HIGHEST_OPT = -O3
|
||||
CC_HIGHER_OPT = -O2
|
||||
CC_LOWER_OPT = -O2
|
||||
CC_NO_OPT =
|
||||
endif
|
||||
|
||||
# If NO_OPTIMIZATIONS is defined in the environment, turn all optimzations off
|
||||
ifdef NO_OPTIMIZATIONS
|
||||
CC_HIGHEST_OPT = $(CC_NO_OPT)
|
||||
CC_HIGHER_OPT = $(CC_NO_OPT)
|
||||
CC_LOWER_OPT = $(CC_NO_OPT)
|
||||
endif
|
||||
|
||||
ifeq ($(PRODUCT), java)
|
||||
_OPT = $(CC_HIGHER_OPT)
|
||||
else
|
||||
_OPT = $(CC_LOWER_OPT)
|
||||
endif
|
||||
|
||||
# Select the runtime support library carefully, need to be consistent
|
||||
#
|
||||
# VS2003 compiler option definitions:
|
||||
# -MD Use dynamic multi-threaded runtime library
|
||||
# -MDd Use debug version (don't use, doesn't mix with -MD DLL's)
|
||||
# -MT Use static multi-threaded runtime library (-ML is going away)
|
||||
# -MTd Use static debug version (better than -MDd, no runtime issues)
|
||||
# -D_DEBUG Change use of malloc/free/etc to use special debug ones (-MTd)
|
||||
#
|
||||
# NOTE: We also will use /D _STATIC_CPPLIB so we don't need msvcp71.dll
|
||||
#
|
||||
ifeq ($(MS_RUNTIME_STATIC),true)
|
||||
MS_RUNTIME_OPTION=-MT
|
||||
else
|
||||
MS_RUNTIME_OPTION=-MD
|
||||
endif
|
||||
# The _DEBUG macro option (changes things like malloc to use debug version)
|
||||
MS_RUNTIME_DEBUG_OPTION=
|
||||
MS_RC_DEBUG_OPTION=
|
||||
# Externally set environment variable can force any build to use the debug vers
|
||||
ifeq ($(MFC_DEBUG), true)
|
||||
ifeq ($(MS_RUNTIME_STATIC),true)
|
||||
MS_RUNTIME_OPTION=-MTd
|
||||
else
|
||||
# This MS debugging flag forces a dependence on the debug
|
||||
# version of the runtime library (MSVCRTD.DLL), as does -MDd.
|
||||
# We cannot re-distribute this debug runtime.
|
||||
MS_RUNTIME_OPTION=-MDd
|
||||
endif
|
||||
MS_RUNTIME_DEBUG_OPTION= -D_DEBUG
|
||||
MS_RC_DEBUG_OPTION= -d _DEBUG
|
||||
endif
|
||||
|
||||
# Always add _STATIC_CPPLIB definition
|
||||
STATIC_CPPLIB_OPTION = /D _STATIC_CPPLIB
|
||||
MS_RUNTIME_OPTION += $(STATIC_CPPLIB_OPTION)
|
||||
|
||||
ifeq ($(CC_VERSION),msvc)
|
||||
# VS2003 compiler option definitions:
|
||||
# -Zi Cause *.pdb file to be created, full debug information
|
||||
# -Z7 Full debug inside the .obj, no .pdb
|
||||
# -Zd Basic debug, no local variables? In the .obj
|
||||
# -Zl Don't add runtime library name to obj file?
|
||||
# -Od Turns off optimization and speeds compilation
|
||||
# -YX -Fp/.../foobar.pch Use precompiled headers (try someday?)
|
||||
# -nologo Don't print out startup message
|
||||
# /D _STATIC_CPPLIB
|
||||
# Use static link for the C++ runtime (so msvcp71.dll not needed)
|
||||
#
|
||||
CFLAGS_COMMON += -Zi -nologo
|
||||
CFLAGS_OPT = $(POPT)
|
||||
CFLAGS_DBG = -Od $(MS_RUNTIME_DEBUG_OPTION)
|
||||
|
||||
# Starting from VS2005 the wchar_t is handled as a built-in C/C++ data type
|
||||
# by default. However, we expect the wchar_t to be a typedef to the
|
||||
# unsigned short data type. The -Zc:wchar_t- option restores the old
|
||||
# behavior (as seen in VS2003) to avoid massive code modifications.
|
||||
# When/if our code will be "C/C++ Standard"-compliant (at least in the area
|
||||
# of handling the wchar_t type), the option won't be necessary.
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CFLAGS_VS2005 += -Zc:wchar_t-
|
||||
else
|
||||
# The 64bit Platform SDK we use (April 2005) doesn't like this option
|
||||
ifneq ($(CC_VER), 14.00.40310.41)
|
||||
CFLAGS_VS2005 += -Zc:wchar_t-
|
||||
endif
|
||||
endif
|
||||
|
||||
# All builds get the same runtime setting
|
||||
CFLAGS_COMMON += $(MS_RUNTIME_OPTION) $(CFLAGS_$(COMPILER_VERSION))
|
||||
|
||||
|
||||
LDEBUG = /debug
|
||||
|
||||
ifeq ($(VTUNE_SUPPORT), true)
|
||||
OTHER_CFLAGS = -Z7 -Ox
|
||||
LDEBUG += /pdb:NONE
|
||||
endif
|
||||
|
||||
# The new Platform SDK and VS2005 has /GS as a default and requires
|
||||
# bufferoverflowU.lib on the link command line, otherwise
|
||||
# we get missing __security_check_cookie externals at link time.
|
||||
BUFFEROVERFLOWLIB = bufferoverflowU.lib
|
||||
# Always add bufferoverflowU.lib to VS2005 link commands (pack uses LDDFLAGS)
|
||||
LFLAGS_VS2005 = $(BUFFEROVERFLOWLIB)
|
||||
|
||||
# LFLAGS are the flags given to $(LINK) and used to build the actual DLL file
|
||||
BASELFLAGS = -nologo /opt:REF /incremental:no
|
||||
LFLAGS = $(BASELFLAGS) $(LDEBUG) $(EXTRA_LFLAGS) $(LFLAGS_$(COMPILER_VERSION))
|
||||
LDDFLAGS += $(LFLAGS_$(COMPILER_VERSION))
|
||||
|
||||
endif
|
||||
|
||||
#
|
||||
# Preprocessor macro definitions
|
||||
#
|
||||
CPPFLAGS_COMMON = -DWIN32 -DIAL -D_LITTLE_ENDIAN
|
||||
ifeq ($(ARCH), amd64)
|
||||
CPPFLAGS_COMMON += -D_AMD64_ -Damd64
|
||||
else
|
||||
CPPFLAGS_COMMON += -DWIN32 -D_X86_ -Dx86
|
||||
endif
|
||||
CPPFLAGS_COMMON += -DWIN32_LEAN_AND_MEAN
|
||||
|
||||
#
|
||||
# Output options (use specific filenames to avoid parallel compile errors)
|
||||
#
|
||||
CFLAGS_COMMON += -Fd$(OBJDIR)/$(basename $(@F)).pdb -Fm$(OBJDIR)/$(basename $(@F)).map
|
||||
|
||||
#
|
||||
# Add warnings and extra on 64bit issues
|
||||
#
|
||||
ifeq ($(ARCH_DATA_MODEL), 64)
|
||||
CFLAGS_COMMON += -Wp64
|
||||
endif
|
||||
CFLAGS_COMMON += -W$(COMPILER_WARNING_LEVEL)
|
||||
|
||||
#
|
||||
# Treat compiler warnings as errors, if requested
|
||||
#
|
||||
ifeq ($(COMPILER_WARNINGS_FATAL),true)
|
||||
CFLAGS_COMMON += -WX
|
||||
endif
|
||||
|
||||
CPPFLAGS_OPT =
|
||||
CPPFLAGS_DBG = -DDEBUG -DLOGGING
|
||||
|
||||
CXXFLAGS_COMMON = $(CFLAGS_COMMON)
|
||||
CXXFLAGS_OPT = $(CFLAGS_OPT)
|
||||
CXXFLAGS_DBG = $(CFLAGS_DBG)
|
||||
|
||||
ifneq ($(LIBRARY),fdlibm)
|
||||
EXTRA_LIBS += advapi32.lib
|
||||
endif
|
||||
|
||||
#
|
||||
# Path and option to link against the VM, if you have to.
|
||||
#
|
||||
JVMLIB = $(LIBDIR)/jvm.lib
|
||||
JAVALIB = $(LIBDIR)/java.lib
|
||||
|
||||
ifeq ($(CC_VERSION), msvc)
|
||||
CC_DEPEND = -FD
|
||||
CC_DEPEND_FILTER =
|
||||
else # CC_VERSION
|
||||
# not supported, but left for historical reference...
|
||||
CC_DEPEND = -MM
|
||||
CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)&!g'
|
||||
endif # CC_VERSION
|
||||
|
||||
LIBRARY_SUFFIX = dll
|
||||
LIB_SUFFIX = lib
|
||||
|
||||
# Settings for the JDI - Serviceability Agent binding.
|
||||
HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/bin
|
||||
SALIB_NAME = $(LIB_PREFIX)sawindbg.$(LIBRARY_SUFFIX)
|
||||
SAMAP_NAME = $(LIB_PREFIX)sawindbg.map
|
||||
SAPDB_NAME = $(LIB_PREFIX)sawindbg.pdb
|
||||
|
||||
ifeq ($(ARCH), ia64)
|
||||
# SA will never be supported here.
|
||||
INCLUDE_SA = false
|
||||
else
|
||||
# Hopefully, SA will be supported here one of these days,
|
||||
# and these will be changed to true. Until then,
|
||||
# to build SA on windows, do a control build with
|
||||
# BUILD_WIN_SA=1
|
||||
# on the make command.
|
||||
ifdef BUILD_WIN_SA
|
||||
ifeq ($(ARCH), amd64)
|
||||
INCLUDE_SA = true
|
||||
else
|
||||
INCLUDE_SA = true
|
||||
endif
|
||||
else
|
||||
ifeq ($(ARCH), amd64)
|
||||
INCLUDE_SA = false
|
||||
else
|
||||
INCLUDE_SA = false
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# Settings for the VERSIONINFO tap on windows.
|
||||
VERSIONINFO_RESOURCE = $(JDK_TOPDIR)/src/windows/resource/version.rc
|
||||
|
||||
ifneq ($(JDK_BUILD_NUMBER),)
|
||||
COOKED_BUILD_NUMBER = $(shell $(ECHO) $(JDK_BUILD_NUMBER) | $(SED) -e 's/^b//' -e 's/^0//')
|
||||
else
|
||||
COOKED_BUILD_NUMBER = 0
|
||||
endif
|
||||
|
||||
# If the update version contains non-numeric characters, we need
|
||||
# to massage it into a numeric format.
|
||||
# We use the following formula:
|
||||
# JDK_UPDATE_VER = JDK_UPDATE_VERSION * 10 + EXCEPTION_VERSION
|
||||
#
|
||||
# Here are some examples:
|
||||
# 1.5.0 b01 -> 5,0,0,1
|
||||
# 1.5.0_10 b01 -> 5,0,100,1
|
||||
# 1.4.2 b01 -> 4,2,0,1
|
||||
# 1.4.2_02 b01 -> 4,2,20,1
|
||||
# 1.4.2_02a b01 -> 4,2,21,1
|
||||
# 1.4.2_02b b01 -> 4,2,22,1
|
||||
ifdef JDK_UPDATE_VERSION
|
||||
VTMP := $(shell $(ECHO) $(JDK_UPDATE_VERSION) | $(TR) "abcde" "12345")
|
||||
CAB_CHAR1 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 1, 1);}')
|
||||
CAB_CHAR2 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 2, 1);}')
|
||||
CAB_CHAR3 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 3, 1);}')
|
||||
JDK_UPDATE_META_TAG := U$(MARKETING_NUMBER)
|
||||
ifeq ($(CAB_CHAR3),)
|
||||
CAB_CHAR3 := 0
|
||||
endif
|
||||
ifeq ($(CAB_CHAR1), 0)
|
||||
JDK_UPDATE_VER := $(CAB_CHAR2)$(CAB_CHAR3)
|
||||
else
|
||||
JDK_UPDATE_VER := $(CAB_CHAR1)$(CAB_CHAR2)$(CAB_CHAR3)
|
||||
endif
|
||||
else
|
||||
JDK_UPDATE_VER := 0
|
||||
endif
|
||||
JDK_VER = $(JDK_MINOR_VERSION),$(JDK_MICRO_VERSION),$(JDK_UPDATE_VER),$(COOKED_BUILD_NUMBER)
|
||||
|
||||
RC_FLAGS = /l 0x409 /r
|
||||
|
||||
ifeq ($(VARIANT), OPT)
|
||||
RC_FLAGS += -d NDEBUG
|
||||
else
|
||||
RC_FLAGS += $(MS_RC_DEBUG_OPTION)
|
||||
endif
|
||||
|
||||
ifndef COPYRIGHT_YEAR
|
||||
COPYRIGHT_YEAR = 2007
|
||||
endif
|
||||
|
||||
# J2SE name required here
|
||||
RC_FLAGS += -d "J2SE_BUILD_ID=$(FULL_VERSION)" \
|
||||
-d "J2SE_COMPANY=$(COMPANY_NAME)" \
|
||||
-d "J2SE_COMPONENT=$(PRODUCT_NAME) Platform SE binary" \
|
||||
-d "J2SE_VER=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VER).$(COOKED_BUILD_NUMBER)" \
|
||||
-d "J2SE_COPYRIGHT=Copyright \xA9 $(COPYRIGHT_YEAR)" \
|
||||
-d "J2SE_NAME=$(PRODUCT_NAME) Platform SE $(JDK_MINOR_VERSION) $(JDK_UPDATE_META_TAG)" \
|
||||
-d "J2SE_FVER=$(JDK_VER)"
|
719
jdk/make/common/Defs.gmk
Normal file
719
jdk/make/common/Defs.gmk
Normal file
@ -0,0 +1,719 @@
|
||||
#
|
||||
# Copyright 1995-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Common variables used by all the Java makefiles. This file should
|
||||
# not contain rules.
|
||||
#
|
||||
|
||||
# WARNING: This file is shared with other workspaces.
|
||||
# So when it includes other files, it must use JDK_TOPDIR.
|
||||
#
|
||||
|
||||
#
|
||||
# On Solaris, the 'make' utility from Sun will not work with these makefiles.
|
||||
# This little rule is only understood by Sun's make, and is harmless
|
||||
# when seen by the GNU make tool. If using Sun's make, this causes the
|
||||
# make command to fail.
|
||||
#
|
||||
SUN_MAKE_TEST:sh = echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33
|
||||
|
||||
ifndef JDK_TOPDIR
|
||||
JDK_TOPDIR=$(BUILDDIR)/..
|
||||
endif
|
||||
ifndef JDK_MAKE_SHARED_DIR
|
||||
JDK_MAKE_SHARED_DIR=$(JDK_TOPDIR)/make/common/shared
|
||||
endif
|
||||
|
||||
include $(JDK_MAKE_SHARED_DIR)/Platform.gmk
|
||||
|
||||
TOPDIR=$(BUILDDIR)/..
|
||||
|
||||
include $(JDK_TOPDIR)/make/common/CancelImplicits.gmk
|
||||
|
||||
# Historically PLATFORM_SRC used to be src/$(PLATFORM), but we switched it to
|
||||
# src/solaris so if you want to build on Linux you didn't need a src/linux
|
||||
# directory. In an ideal world it would be called src/genunix but we are not
|
||||
# there yet.
|
||||
#
|
||||
ifndef SHARE_SRC
|
||||
SHARE_SRC = $(JDK_TOPDIR)/src/share
|
||||
endif
|
||||
|
||||
# Files that cannot be included in the OpenJDK distribution are
|
||||
# collected under a parent directory which contains just those files.
|
||||
ifndef CLOSED_SRC
|
||||
CLOSED_SRC = $(JDK_TOPDIR)/src/closed
|
||||
endif
|
||||
|
||||
# If we have no closed directory, force it to an openjdk build
|
||||
CLOSED_SRC_DIR_EXISTS := $(shell \
|
||||
if [ -d $(CLOSED_SRC) ] ; then \
|
||||
echo true; \
|
||||
else \
|
||||
echo false; \
|
||||
fi)
|
||||
ifeq ($(CLOSED_SRC_DIR_EXISTS), false)
|
||||
OPENJDK = true
|
||||
endif
|
||||
|
||||
# Check for strange explicit settings (change to empty or true)
|
||||
ifdef OPENJDK
|
||||
ifeq ($(OPENJDK),false)
|
||||
# Silently treat as not defined
|
||||
OPENJDK =
|
||||
else
|
||||
ifneq ($(OPENJDK),true)
|
||||
dummy := $(warning "WARNING: OPENKJDK=$(OPENJDK) being treated as true")
|
||||
OPENJDK = true
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# Define where closed directories are
|
||||
ifdef OPENJDK
|
||||
CLOSED_SRC =
|
||||
CLOSED_SHARE_SRC =
|
||||
else
|
||||
ifndef CLOSED_SHARE_SRC
|
||||
CLOSED_SHARE_SRC = $(CLOSED_SRC)/share
|
||||
endif
|
||||
endif
|
||||
|
||||
# If OPENJDK is defined, we may still need to use some native libraries that
|
||||
# exist only as part of the closed source. If the closed sources are not
|
||||
# available, the libraries must have been pre-built. Since these libraries
|
||||
# and the JDK internal interfaces to these are reasonably stable this is not
|
||||
# a significant problem. But we do need to provide a way to locate them,
|
||||
# including a way to point to a new one when there have been changes.
|
||||
#
|
||||
# If you have a formal binary plugs download, set ALT_BINARY_PLUGS_PATH
|
||||
# to the location.
|
||||
# (Optionally you can set ALT_CLOSED_JDK_IMPORT_PATH to point to the latest
|
||||
# build JDK, or last promotion for this JDK version, but will not work
|
||||
# on windows).
|
||||
#
|
||||
# As the OPENJDK is built, the binary plugs are used instead of building the
|
||||
# libraries.
|
||||
# Individual Makefiles that specify USE_BINARY_PLUG_LIBRARY, will get
|
||||
# the binary plug copy (or a copy from a built JDK).
|
||||
#
|
||||
# See common/internal/BinaryPlugs.gmk for more information.
|
||||
#
|
||||
# Usage notes:
|
||||
#
|
||||
# ALT_BINARY_PLUGS_JARFILE is probably rarely needed. It can be used
|
||||
# to identify the exact jar file to be used for all closed classes..
|
||||
#
|
||||
# ALT_BINARY_PLUGS_PATH points to a directory containing precisely the
|
||||
# binaries needed to build.
|
||||
#
|
||||
# ALT_BUILD_BINARY_PLUGS_PATH points to a directory containing binary plug dirs
|
||||
# multiple architectures named using the standard conventions
|
||||
# This is useful for build scripts that need to build multiple architectures
|
||||
# of the OpenJDK.
|
||||
#
|
||||
# ALT_CLOSED_JDK_IMPORT_PATH points to the top-level of a specific platform
|
||||
# JDK image.
|
||||
#
|
||||
# The precedence is that
|
||||
# 1. ALT_BINARY_PLUGS_JARFILE overrides any other location of the classes
|
||||
# 2. ALT_BINARY_PLUGS_PATH overrides all locations of classes and libraries
|
||||
# 3. ALT_BUILD_BINARY_PLUGS_PATH is used to find a ALT_BINARY_PLUGS_PATH
|
||||
# 4. ALT_CLOSED_JDK_IMPORT_PATH is used to locate classes and libraries
|
||||
#
|
||||
|
||||
# Always needed, defines the name of the imported/exported jarfile
|
||||
BINARY_PLUGS_JARNAME = rt-closed.jar
|
||||
|
||||
ifdef OPENJDK
|
||||
ifdef ALT_CLOSED_JDK_IMPORT_PATH
|
||||
CLOSED_JDK_IMPORT_PATH = $(ALT_CLOSED_JDK_IMPORT_PATH)
|
||||
BINARY_PLUGS_PATH = $(CLOSED_JDK_IMPORT_PATH)
|
||||
BINARY_PLUGS_JARFILE = $(CLOSED_JDK_IMPORT_PATH)/jre/lib/rt.jar
|
||||
endif
|
||||
ifdef ALT_BUILD_BINARY_PLUGS_PATH
|
||||
BUILD_BINARY_PLUGS_PATH = $(ALT_BUILD_BINARY_PLUGS_PATH)
|
||||
else
|
||||
BUILD_BINARY_PLUGS_PATH = $(SLASH_JAVA)/re/jdk/$(JDK_VERSION)/promoted/latest/openjdk/binaryplugs
|
||||
endif
|
||||
BINARY_PLUGS_PATH = $(BUILD_BINARY_PLUGS_PATH)/$(PLATFORM)-$(ARCH)
|
||||
BINARY_PLUGS_JARFILE = $(BINARY_PLUGS_PATH)/jre/lib/$(BINARY_PLUGS_JARNAME)
|
||||
ifdef ALT_BINARY_PLUGS_PATH
|
||||
BINARY_PLUGS_PATH = $(ALT_BINARY_PLUGS_PATH)
|
||||
BINARY_PLUGS_JARFILE = $(BINARY_PLUGS_PATH)/jre/lib/$(BINARY_PLUGS_JARNAME)
|
||||
endif
|
||||
ifdef ALT_BINARY_PLUGS_JARFILE
|
||||
BINARY_PLUGS_JARFILE = $(ALT_BINARY_PLUGS_JARFILE)
|
||||
endif
|
||||
endif # OPENJDK
|
||||
|
||||
# Default output directory
|
||||
ifdef OPENJDK
|
||||
_OUTPUTDIR=$(JDK_TOPDIR)/build/$(PLATFORM)-$(ARCH)$(OPENJDK_SUFFIX)
|
||||
else
|
||||
_OUTPUTDIR=$(JDK_TOPDIR)/build/$(PLATFORM)-$(ARCH)
|
||||
endif
|
||||
|
||||
|
||||
#
|
||||
# Get platform definitions
|
||||
#
|
||||
|
||||
include $(JDK_TOPDIR)/make/common/Defs-$(PLATFORM).gmk
|
||||
|
||||
#
|
||||
# Freetype logic is applicable to OpenJDK only
|
||||
#
|
||||
ifdef OPENJDK
|
||||
|
||||
#if we use system lib we do not need to copy it to build tree
|
||||
USING_SYSTEM_FT_LIB=false
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
DEVTOOLS_FT_DIR=$(JDK_DEVTOOLS_DIR)/win32/freetype-$(ARCH)
|
||||
endif
|
||||
ifeq ($(PLATFORM), linux)
|
||||
DEVTOOLS_FT_DIR=$(JDK_DEVTOOLS_DIR)/$(PLATFORM)/freetype-$(ARCH)
|
||||
endif
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
# historically for Solaris we have slightly different devtools
|
||||
# naming conventions
|
||||
DEVTOOLS_FT_DIR=$(JDK_DEVTOOLS_DIR)/$(ARCH_FAMILY)/freetype-$(ARCH)
|
||||
endif
|
||||
|
||||
DEVTOOLS_FT_DIR_EXISTS = $(shell \
|
||||
if [ -f $(DEVTOOLS_FT_DIR)/include/ft2build.h ] ; then \
|
||||
echo true; \
|
||||
else \
|
||||
echo false; \
|
||||
fi)
|
||||
|
||||
ifdef ALT_FREETYPE_LIB_PATH
|
||||
FREETYPE_LIB_PATH = $(ALT_FREETYPE_LIB_PATH)
|
||||
else
|
||||
ifeq ($(DEVTOOLS_FT_DIR_EXISTS), true)
|
||||
FREETYPE_LIB_PATH = $(DEVTOOLS_FT_DIR)/lib
|
||||
else
|
||||
FREETYPE_LIB_PATH = /usr/lib
|
||||
USING_SYSTEM_FT_LIB=true
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
FREETYPE_LIB = $(FREETYPE_LIB_PATH)/freetype.lib
|
||||
else
|
||||
FREETYPE_LIB = -L$(FREETYPE_LIB_PATH) -lfreetype
|
||||
endif
|
||||
|
||||
ifdef ALT_FREETYPE_HEADERS_PATH
|
||||
FREETYPE_HEADERS_PATH = $(ALT_FREETYPE_HEADERS_PATH)
|
||||
else
|
||||
ifeq ($(DEVTOOLS_FT_DIR_EXISTS), true)
|
||||
FREETYPE_HEADERS_PATH = $(DEVTOOLS_FT_DIR)/include
|
||||
else
|
||||
FREETYPE_HEADERS_PATH = /usr/include
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Localizations for the different parts of the product beyond English
|
||||
#
|
||||
|
||||
JRE_LOCALES = de es fr it ja ko sv zh_CN zh_TW zh_HK
|
||||
PLUGIN_LOCALES = de es fr it ja ko sv zh_CN zh_TW zh_HK
|
||||
JDK_LOCALES = ja zh_CN
|
||||
|
||||
#
|
||||
# A list of locales we support but don't have resource files.
|
||||
# This is defined to optimize the search of resource bundles.
|
||||
#
|
||||
JRE_NONEXIST_LOCALES = en en_US de_DE es_ES fr_FR it_IT ja_JP ko_KR sv_SE zh
|
||||
|
||||
#
|
||||
# All libraries except libjava and libjvm itself link against libjvm and
|
||||
# libjava, the latter for its exported common utilities. libjava only links
|
||||
# against libjvm. Programs' makefiles take their own responsibility for
|
||||
# adding other libs.
|
||||
#
|
||||
ifdef PACKAGE
|
||||
# put JAVALIB first, but do not lose any platform specific values....
|
||||
LDLIBS_COMMON = $(JAVALIB)
|
||||
endif # PACKAGE
|
||||
|
||||
#
|
||||
# Libraries that must appear ahead of libc.so on the link command line
|
||||
#
|
||||
ifdef PROGRAM
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
LDLIBS_COMMON = -lthread -ldl
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), linux)
|
||||
LDLIBS_COMMON = -ldl
|
||||
endif
|
||||
|
||||
endif # PROGRAM
|
||||
|
||||
LDLIBS_COMMON += $(EXTRA_LIBS)
|
||||
|
||||
#
|
||||
# Default is to build, not import native binaries
|
||||
#
|
||||
ifndef IMPORT_NATIVE_BINARIES
|
||||
IMPORT_NATIVE_BINARIES=false
|
||||
endif
|
||||
# If importing libraries in, no incremental builds
|
||||
ifeq ($(IMPORT_NATIVE_BINARIES),true)
|
||||
INCREMENTAL_BUILD=false
|
||||
endif
|
||||
|
||||
# for generated libraries
|
||||
LIBDIR = $(OUTPUTDIR)/lib
|
||||
ABS_LIBDIR = $(ABS_OUTPUTDIR)/lib
|
||||
# Optional place to save the windows .lib files
|
||||
LIBFILES_DIR = $(OUTPUTDIR)/libfiles
|
||||
# for ext jre files
|
||||
EXTDIR = $(LIBDIR)/ext
|
||||
# for generated include files
|
||||
INCLUDEDIR = $(OUTPUTDIR)/include
|
||||
# for generated class files
|
||||
CLASSBINDIR = $(OUTPUTDIR)/classes
|
||||
DEMOCLASSDIR = $(OUTPUTDIR)/democlasses
|
||||
# for generated tool class files
|
||||
BUILDTOOLCLASSDIR = $(OUTPUTDIR)/btclasses
|
||||
# for build tool jar files
|
||||
BUILDTOOLJARDIR = $(OUTPUTDIR)/btjars
|
||||
ABS_BUILDTOOLJARDIR = $(ABS_OUTPUTDIR)/btjars
|
||||
# for generated java source files
|
||||
GENSRCDIR = $(OUTPUTDIR)/gensrc
|
||||
# for generated C source files (not javah)
|
||||
GENNATIVESRCDIR = $(OUTPUTDIR)/gennativesrc
|
||||
# for imported source files
|
||||
IMPORTSRCDIR = $(OUTPUTDIR)/impsrc
|
||||
# for imported documents
|
||||
IMPORTDOCDIR = $(OUTPUTDIR)/impdoc
|
||||
# for generated demo
|
||||
DEMODIR = $(OUTPUTDIR)/demo
|
||||
# for sample code
|
||||
SAMPLEDIR = $(OUTPUTDIR)/sample
|
||||
# for generated documentation
|
||||
DOCSDIR = $(OUTPUTDIR)/docs$(DOCSDIRSUFFIX)
|
||||
DOCSDIRSUFFIX =
|
||||
|
||||
# The MESSAGE, WARNING and ERROR files are used to store sanityck and
|
||||
# SCCS check messages, warnings and errors.
|
||||
ifndef ERROR_FILE
|
||||
ERROR_FILE = $(OUTPUTDIR)/sanityCheckErrors.txt
|
||||
endif
|
||||
ifndef WARNING_FILE
|
||||
WARNING_FILE = $(OUTPUTDIR)/sanityCheckWarnings.txt
|
||||
endif
|
||||
ifndef MESSAGE_FILE
|
||||
MESSAGE_FILE = $(OUTPUTDIR)/sanityCheckMessages.txt
|
||||
endif
|
||||
|
||||
JDK_IMAGE_DIR = $(ABS_OUTPUTDIR)/j2sdk-image
|
||||
JRE_IMAGE_DIR = $(ABS_OUTPUTDIR)/j2re-image
|
||||
|
||||
#where the demo source can be found
|
||||
DEMOSRCDIR = $(SHARE_SRC)/demo
|
||||
|
||||
# An attempt is made to generate unique enough directories for the
|
||||
# generated files to not have name collisisons. Most build units
|
||||
# defines PRODUCT (except Release.gmk), but then they may or may
|
||||
# not define PACKAGE, THREADIR (only HPI uses this), PROGRAM, and
|
||||
# LIBRARY. This code chunk attempts to generate a unique
|
||||
# OBJDIR/CLASSHDRDIR for each build unit based on which of those
|
||||
# values are set within each build unit.
|
||||
|
||||
UNIQUE_LOCATION_STRING = tmp
|
||||
|
||||
ifneq ($(PRODUCT),)
|
||||
UNIQUE_LOCATION_STRING += /$(PRODUCT)
|
||||
endif
|
||||
|
||||
ifneq ($(PACKAGE),)
|
||||
UNIQUE_LOCATION_STRING += /$(PACKAGE)
|
||||
endif
|
||||
|
||||
ifneq ($(PROGRAM),)
|
||||
UNIQUE_LOCATION_STRING += /$(PROGRAM)
|
||||
endif
|
||||
|
||||
ifneq ($(LIBRARY),)
|
||||
ifneq ($(LIBRARY_OUTPUT),)
|
||||
UNIQUE_LOCATION_STRING += /$(LIBRARY_OUTPUT)
|
||||
else
|
||||
UNIQUE_LOCATION_STRING += /$(LIBRARY)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(THREADDIR),)
|
||||
UNIQUE_LOCATION_STRING += /$(THREADDIR)
|
||||
endif
|
||||
|
||||
# the use of += above makes a space separated list which we need to
|
||||
# remove for filespecs.
|
||||
#
|
||||
NULLSTRING :=
|
||||
ONESPACE := $(NULLSTRING) # space before this comment is required.
|
||||
UNIQUE_PATH = $(subst $(ONESPACE),,$(UNIQUE_LOCATION_STRING))
|
||||
|
||||
# TEMPDIR is a unique general purpose directory
|
||||
# need to use 'override' because GNU Make on Linux exports the wrong
|
||||
# value.
|
||||
override TEMPDIR = $(OUTPUTDIR)/$(UNIQUE_PATH)
|
||||
override ABS_TEMPDIR = $(ABS_OUTPUTDIR)/$(UNIQUE_PATH)
|
||||
|
||||
# This must be created right away for pattern rules in Sanity.gmk to work.
|
||||
dummy1:=$(shell $(MKDIR) -p $(TEMPDIR))
|
||||
dummy2:=$(shell $(MKDIR) -p $(TEMP_DISK))
|
||||
|
||||
# OBJDIRNAME is the name of the directory where the object code is to
|
||||
# be placed. It's name depends on whether the data model architecture
|
||||
# is 32-bit or not.
|
||||
ifneq ($(ARCH_DATA_MODEL), 32)
|
||||
OBJDIRNAME = obj$(ARCH_DATA_MODEL)$(OBJDIRNAME_SUFFIX)
|
||||
else
|
||||
OBJDIRNAME = obj$(OBJDIRNAME_SUFFIX)
|
||||
endif
|
||||
OBJDIR = $(TEMPDIR)/$(OBJDIRNAME)
|
||||
|
||||
# CLASSHDRDIR is where the generated C Class Header files go.
|
||||
CLASSHDRDIR = $(TEMPDIR)/CClassHeaders
|
||||
|
||||
#
|
||||
# CLASSDESTDIR can be used to specify the directory where generated classes
|
||||
# are to be placed. The default is CLASSBINDIR.
|
||||
#
|
||||
ifndef CLASSDESTDIR
|
||||
CLASSDESTDIR = $(CLASSBINDIR)
|
||||
endif
|
||||
|
||||
INCLUDES = -I. -I$(CLASSHDRDIR) \
|
||||
$(patsubst %,-I%,$(subst $(CLASSPATH_SEPARATOR), ,$(VPATH.h))) $(OTHER_INCLUDES)
|
||||
OTHER_CPPFLAGS = $(INCLUDES)
|
||||
|
||||
|
||||
#
|
||||
# vpaths. These are the default locations searched for source files.
|
||||
# GNUmakefiles of individual areas often override the default settings.
|
||||
# There are no longer default vpath entries for C and assembler files
|
||||
# so we can ensure that libraries don't get their hands on JVM files.
|
||||
#
|
||||
# We define an intermediate variable for Java files because
|
||||
# we use its value later to help define $SOURCEPATH
|
||||
|
||||
VPATH0.java = $(GENSRCDIR)$(CLASSPATH_SEPARATOR)$(PLATFORM_SRC)/classes$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/classes
|
||||
ifdef OPENJDK
|
||||
VPATH.java = $(VPATH0.java)
|
||||
else
|
||||
#
|
||||
# If filenames are duplicated between open/closed workspaces, prefer
|
||||
# the closed files.
|
||||
#
|
||||
# Source ordering is important: some targets depend on closed files
|
||||
# replacing open ones, and thus the closed file sources must be found
|
||||
# before the open ones.
|
||||
#
|
||||
# Don't reorder without consulting the teams that depend on this behavior.
|
||||
#
|
||||
VPATH.java = $(CLOSED_PLATFORM_SRC)/classes$(CLASSPATH_SEPARATOR)$(CLOSED_SHARE_SRC)/classes$(CLASSPATH_SEPARATOR)$(VPATH0.java)
|
||||
endif
|
||||
vpath %.java $(VPATH.java)
|
||||
vpath %.class $(CLASSBINDIR)
|
||||
vpath %.$(OBJECT_SUFFIX) $(OBJDIR)
|
||||
|
||||
#
|
||||
# VPATH.h is used elsewhere to generate include flags. By default,
|
||||
# anyone has access to the include files that the JVM area exports,
|
||||
# namely jni.h, jvm.h, and jni_utils.h, plus their platform-specific
|
||||
# relatives.
|
||||
#
|
||||
VPATH.h = $(PLATFORM_SRC)/javavm/export$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/javavm/export$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/javavm/include$(CLASSPATH_SEPARATOR)$(PLATFORM_SRC)/javavm/include
|
||||
vpath %.h $(VPATH.h)
|
||||
|
||||
#
|
||||
# Used in two ways: helps link against libjava.so. Also if overridden
|
||||
# determines where your shared library is installed.
|
||||
#
|
||||
ifndef LIB_LOCATION
|
||||
LIB_LOCATION = $(LIBDIR)/$(LIBARCH)
|
||||
endif
|
||||
|
||||
#
|
||||
# Java header and stub variables
|
||||
#
|
||||
CLASSHDRS = $(patsubst %,$(CLASSHDRDIR)/%.h,$(subst .,_,$(CLASSES.export)))
|
||||
CLASSSTUBOBJS = classstubs.$(OBJECT_SUFFIX)
|
||||
STUBPREAMBLE = $(INCLUDEDIR)/StubPreamble.h
|
||||
|
||||
#
|
||||
# Classpath seen by javac (different from the one seen by the VM
|
||||
# running javac), and useful variables.
|
||||
#
|
||||
SOURCEPATH = $(VPATH.java)
|
||||
PKG = $(shell $(EXPR) $(PACKAGE) : '\([a-z]*\)')
|
||||
PKGDIR = $(subst .,/,$(PACKAGE))
|
||||
|
||||
#
|
||||
# The java/javac/jdk variables (JAVAC_CMD, JAVA_CMD, etc.)
|
||||
#
|
||||
include $(JDK_MAKE_SHARED_DIR)/Defs-java.gmk
|
||||
|
||||
#
|
||||
# Set opt level to ALT_OPT if set otherwise _OPT
|
||||
#
|
||||
POPT = $(_OPT$(ALT_OPT))$(ALT_OPT)
|
||||
|
||||
#
|
||||
# Convenient macros
|
||||
#
|
||||
|
||||
# Prepare $@ target, remove old one and making sure directory exists
|
||||
define prep-target
|
||||
$(MKDIR) -p $(@D)
|
||||
$(RM) $@
|
||||
endef
|
||||
|
||||
# Simple install of $< file to $@
|
||||
define install-file
|
||||
$(prep-target)
|
||||
$(CP) $< $@
|
||||
endef
|
||||
|
||||
# Cleanup rule for after debug java run (hotspot.log file is left around)
|
||||
# (This could be an old leftover file in a read-only area, use the @- prefix)
|
||||
HOTSPOT_LOG_NAME = hotspot.log
|
||||
define java-vm-cleanup
|
||||
if [ -w $(HOTSPOT_LOG_NAME) ] ; then $(RM) $(HOTSPOT_LOG_NAME); fi
|
||||
endef
|
||||
|
||||
# Default make settings for processing SUBDIRS with clobber or clean names
|
||||
SUBDIRS_MAKEFLAGS-clobber = INCREMENTAL_BUILD=false
|
||||
SUBDIRS_MAKEFLAGS-clean = INCREMENTAL_BUILD=false
|
||||
|
||||
# Current directory
|
||||
CURRENT_DIRECTORY := $(shell $(PWD))
|
||||
|
||||
# If no timing wanted, we need to define these as empty
|
||||
ifdef NO_TIMING
|
||||
|
||||
TIMING_ID:=NA
|
||||
|
||||
define TIMING_start
|
||||
t=0:0:0:0
|
||||
endef
|
||||
|
||||
define TIMING_end
|
||||
time_used=0
|
||||
endef
|
||||
|
||||
else # NO_TIMING
|
||||
|
||||
# Default timing id
|
||||
TIMING_ID:=$(shell $(BASENAME) $(CURRENT_DIRECTORY))
|
||||
|
||||
# Timing start (must be used in same shell, e.g. same command line)
|
||||
# Defines the shell variable $1 to have the start time.
|
||||
define TIMING_start
|
||||
$1=`$(DATE) +%j:%H:%M:%S`
|
||||
endef
|
||||
|
||||
# Timing end (must be used in same shell, e.g. same command line)
|
||||
# Expects shell variable $1 to have been defined as the start time.
|
||||
# Expects shell variable $2 to have timing id string
|
||||
# Sets total_seconds shell variable as the total seconds used.
|
||||
# Sets time_used shell variable to contain format "%dh%dm%ds"
|
||||
define TIMING_end
|
||||
begTime="$${$1}"; \
|
||||
timing_id="$${$2}"; \
|
||||
endTime=`$(DATE) +%j:%H:%M:%S`; \
|
||||
d1=`$(ECHO) $${begTime} | $(CUT) -d':' -f1 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${d1}" = "" ] ; then d1=0; fi; \
|
||||
h1=`$(ECHO) $${begTime} | $(CUT) -d':' -f2 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${h1}" = "" ] ; then h1=0; fi; \
|
||||
m1=`$(ECHO) $${begTime} | $(CUT) -d':' -f3 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${m1}" = "" ] ; then m1=0; fi; \
|
||||
s1=`$(ECHO) $${begTime} | $(CUT) -d':' -f4 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${s1}" = "" ] ; then s1=0; fi; \
|
||||
d2=`$(ECHO) $${endTime} | $(CUT) -d':' -f1 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${d2}" = "" ] ; then d2=0; fi; \
|
||||
h2=`$(ECHO) $${endTime} | $(CUT) -d':' -f2 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${h2}" = "" ] ; then h2=0; fi; \
|
||||
m2=`$(ECHO) $${endTime} | $(CUT) -d':' -f3 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${m2}" = "" ] ; then m2=0; fi; \
|
||||
s2=`$(ECHO) $${endTime} | $(CUT) -d':' -f4 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${s2}" = "" ] ; then s2=0; fi; \
|
||||
t1_secs=`$(EXPR) $${d1} '*' 60 '*' 60 '*' 24 '+' $${h1} '*' 60 '*' 60 \
|
||||
'+' $${m1} '*' 60 '+' $${s1}`; \
|
||||
t2_secs=`$(EXPR) $${d2} '*' 60 '*' 60 '*' 24 '+' $${h2} '*' 60 '*' 60 \
|
||||
'+' $${m2} '*' 60 '+' $${s2}`; \
|
||||
total_seconds=`$(EXPR) $${t2_secs} '-' $${t1_secs}`; \
|
||||
if [ "$${total_seconds}" -lt 0 ] ; then total_seconds=0; fi; \
|
||||
t_hour=`$(EXPR) $${total_seconds} '/' '(' 60 '*' 60 ')'`h; \
|
||||
t_min=`$(EXPR) '(' $${total_seconds} '%' '(' 60 '*' 60 ')' ')' '/' 60`m; \
|
||||
t_sec=`$(EXPR) $${total_seconds} '%' 60`s; \
|
||||
time_used=$${t_sec}; \
|
||||
if [ "$${t_hour}" != "0h" ] ; then \
|
||||
time_used=$${t_hour}$${t_min}$${t_sec}; \
|
||||
elif [ "$${t_min}" != "0m" ] ; then \
|
||||
time_used=$${t_min}$${t_sec}; \
|
||||
else \
|
||||
time_used=$${t_sec}; \
|
||||
fi; \
|
||||
$(PRINTF) " Timing: %05d seconds or %s for %s\n" \
|
||||
$${total_seconds} $${time_used} $${timing_id}
|
||||
endef
|
||||
|
||||
endif # NO_TIMING
|
||||
|
||||
# Given a SUBDIRS list, cd into them and make them
|
||||
# SUBDIRS_MAKEFLAGS Make settings for a subdir make
|
||||
# SUBDIRS_MAKEFLAGS-$@ Make settings specific to this target
|
||||
define SUBDIRS-loop
|
||||
@$(ECHO) "Begin Processing SUBDIRS: $(SUBDIRS)"
|
||||
@for i in DUMMY $(SUBDIRS) ; do \
|
||||
if [ "$$i" != "DUMMY" ] ; then \
|
||||
$(ECHO) ">>>Recursively making "$$i" "$@" @ `$(DATE)` ..."; \
|
||||
timing_id="$(TIMING_ID)-`$(BASENAME) $${i}`"; \
|
||||
$(call TIMING_start,startTime); \
|
||||
curDir=$(CURRENT_DIRECTORY); \
|
||||
$(CD) $$i; $(MAKE) $@ TIMING_ID=$${timing_id} \
|
||||
$(SUBDIRS_MAKEFLAGS) \
|
||||
$(SUBDIRS_MAKEFLAGS-$@) \
|
||||
FULL_VERSION=$(FULL_VERSION) \
|
||||
RELEASE=$(RELEASE) || exit 1; \
|
||||
$(CD) $${curDir}; \
|
||||
$(call TIMING_end,startTime,timing_id); \
|
||||
$(ECHO) "<<<Finished Recursively making "$$i" "$@" @ `$(DATE)`." ; \
|
||||
fi ; \
|
||||
done
|
||||
@$(ECHO) "Done Processing SUBDIRS: $(SUBDIRS)"
|
||||
endef
|
||||
|
||||
# Given a OTHERSUBDIRS list, cd into them and make them (extra loop define)
|
||||
# OTHERSUBDIRS_MAKEFLAGS Make settings for a subdir make
|
||||
define OTHERSUBDIRS-loop
|
||||
@$(ECHO) "Begin Processing OTHERSUBDIRS: $(OTHERSUBDIRS)"
|
||||
@for i in DUMMY $(OTHERSUBDIRS) ; do \
|
||||
if [ "$$i" != "DUMMY" ] ; then \
|
||||
$(ECHO) ">>>Recursively making "$$i" "$@" @ `$(DATE)` ..."; \
|
||||
timing_id="$(TIMING_ID)-`$(BASENAME) $${i}`"; \
|
||||
$(call TIMING_start,startTime); \
|
||||
curDir=$(CURRENT_DIRECTORY); \
|
||||
$(CD) $$i; $(MAKE) $@ TIMING_ID=$${timing_id} \
|
||||
$(OTHERSUBDIRS_MAKEFLAGS) \
|
||||
FULL_VERSION=$(FULL_VERSION) \
|
||||
RELEASE=$(RELEASE) || exit 1; \
|
||||
$(CD) $${curDir}; \
|
||||
$(call TIMING_end,startTime,timing_id); \
|
||||
$(ECHO) "<<<Finished Recursively making "$$i" "$@" @ `$(DATE)`." ; \
|
||||
fi ; \
|
||||
done
|
||||
@$(ECHO) "Done Processing OTHERSUBDIRS: $(OTHERSUBDIRS)"
|
||||
endef
|
||||
|
||||
#
|
||||
# Create BYFILE OPT and DBG settings, if CFLAGS_OPT/foobar.o is set then it is
|
||||
# used for this file, otherwise the default settings are used.
|
||||
#
|
||||
CFLAGS_$(VARIANT)/BYFILE = $(CFLAGS_$(VARIANT)/$(@F)) \
|
||||
$(CFLAGS_$(VARIANT)$(CFLAGS_$(VARIANT)/$(@F)))
|
||||
CXXFLAGS_$(VARIANT)/BYFILE = $(CXXFLAGS_$(VARIANT)/$(@F)) \
|
||||
$(CXXFLAGS_$(VARIANT)$(CXXFLAGS_$(VARIANT)/$(@F)))
|
||||
|
||||
#
|
||||
# Tool flags
|
||||
#
|
||||
ASFLAGS = $(ASFLAGS_$(VARIANT)) $(ASFLAGS_COMMON) $(OTHER_ASFLAGS)
|
||||
CFLAGS = $(CFLAGS_$(VARIANT)/BYFILE) $(CFLAGS_COMMON) $(OTHER_CFLAGS)
|
||||
CXXFLAGS = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS)
|
||||
CPPFLAGS = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) \
|
||||
$(DEFINES) $(OPTIONS:%=-D%)
|
||||
LDFLAGS = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS)
|
||||
LDLIBS = $(OTHER_LDLIBS) $(LDLIBS_$(VARIANT)) $(LDLIBS_COMMON)
|
||||
LINTFLAGS = $(LINTFLAGS_$(VARIANT)) $(LINTFLAGS_COMMON) \
|
||||
$(OTHER_LINTFLAGS)
|
||||
|
||||
# this should be moved into Defs-<platform>.gmk.....
|
||||
ifeq ($(PLATFORM), windows)
|
||||
VERSION_DEFINES = -DRELEASE="\"$(RELEASE)\""
|
||||
else
|
||||
VERSION_DEFINES = -DRELEASE='"$(RELEASE)"'
|
||||
endif
|
||||
|
||||
# Note: As a rule, GNU Make rules should not appear in any of the
|
||||
# Defs*.gmk files. These were added for Kestrel-Solaris and do address
|
||||
# a TeamWare bug. They should be moved elsewhere for Merlin.
|
||||
#
|
||||
# Override gnumake built-in rules which do sccs get operations badly.
|
||||
# (They put the checked out code in the current directory, not in the
|
||||
# directory of the original file.)
|
||||
# Since this is a symptom of a teamware failure, complain and die on the spot.
|
||||
|
||||
# This message immediately goes to stdout and the build terminates.
|
||||
define SCCS-trouble
|
||||
$(error \
|
||||
"ERROR: File $@ referenced while building in $(CURRENT_DIRECTORY) \
|
||||
is out of date with respect to its SCCS file $<. \
|
||||
This can happen from an unresolved Teamware conflict, a file movement, or \
|
||||
a failure in which SCCS files are updated but the 'sccs get' was not done. \
|
||||
You should double check for other out of date files in your workspace. \
|
||||
Or run: cd $(TOPDIR) && $(MAKE) sccs_get")
|
||||
endef
|
||||
|
||||
%:: s.%
|
||||
@$(SCCS-trouble)
|
||||
%:: SCCS/s.%
|
||||
@$(SCCS-trouble)
|
||||
@$(ECHO) " is out of date with respect to its SCCS file." >> $(WARNING_FILE)
|
||||
@$(ECHO) " This file may be from an unresolved Teamware conflict." >> $(WARNING_FILE)
|
||||
@$(ECHO) " This is also a symptom of a Teamware bringover/putback failure" >> $(WARNING_FILE)
|
||||
@$(ECHO) " in which SCCS files are updated but not checked out." >> $(WARNING_FILE)
|
||||
@$(ECHO) " Check for other out of date files in your workspace." >> $(WARNING_FILE)
|
||||
@$(ECHO) "" >> $(WARNING_FILE)
|
||||
@#exit 666
|
||||
|
||||
ifdef INSANE
|
||||
export INSANE
|
||||
endif
|
||||
|
||||
ifdef ALT_COPYRIGHT_YEAR
|
||||
COPYRIGHT_YEAR = $(ALT_COPYRIGHT_YEAR)
|
||||
else
|
||||
COPYRIGHT_YEAR = $(shell $(DATE) '+%Y')
|
||||
endif
|
||||
|
||||
# Install of imported file (JDK_IMPORT_PATH, or some other external location)
|
||||
define install-import-file
|
||||
@$(ECHO) "ASSEMBLY_IMPORT: $@"
|
||||
$(install-file)
|
||||
endef
|
||||
|
||||
.PHONY: all build clean clobber
|
367
jdk/make/common/Demo.gmk
Normal file
367
jdk/make/common/Demo.gmk
Normal file
@ -0,0 +1,367 @@
|
||||
#
|
||||
# Copyright 2004-2006 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# JDK Demo building jar file.
|
||||
|
||||
# Some names are defined with LIBRARY inside the Defs.gmk file
|
||||
LIBRARY=$(DEMONAME)
|
||||
OBJDIR=$(TEMPDIR)/$(DEMONAME)
|
||||
|
||||
# Input:
|
||||
# DEMONAME - name of the demo
|
||||
# DEMO_ROOT - path to root of all demo files
|
||||
# DEMO_DESTDIR - path to final demo destination directory
|
||||
#
|
||||
# Optional Input:
|
||||
# DEMO_SRCDIR - path to source if different from DEMO_ROOT
|
||||
# DEMO_PSRCDIR - path to additional platform specific source
|
||||
# DEMO_PKGDIR - sub directory of sources we want
|
||||
# DEMO_TOPFILES - names of top-level files relative to DEMO_ROOT
|
||||
# DEMO_MAINCLASS - name of the main class for the jar manifest
|
||||
# DEMO_NATIVECLASS - name of the class with native methods
|
||||
# DEMO_DESCRIPTOR - name of service file for jar (relative to DEMO_SRCDIR)
|
||||
# DEMO_EXTRA_SRCDIR - path to directory that holds extra sources to add
|
||||
# DEMO_EXTRA_FILES - extra sources relative to DEMO_EXTRA_SRCDIR
|
||||
# DEMO_OBJECTS - extra native object files needed
|
||||
# DEMO_MANIFEST_ATTR - extra line to add to the jar manifest file
|
||||
|
||||
# Assume the source directory is the root directory if not set
|
||||
ifndef DEMO_SRCDIR
|
||||
DEMO_SRCDIR = $(DEMO_ROOT)
|
||||
endif
|
||||
ifndef DEMO_PKGDIR
|
||||
DEMO_PKGDIR = .
|
||||
endif
|
||||
|
||||
# Some demos have special needs
|
||||
ifneq ($(DEMONAME),agent_util)
|
||||
DEMO_NEEDS_AGENT_UTIL = $(findstring agent_util,$(DEMO_OBJECTS))
|
||||
endif
|
||||
ifneq ($(DEMONAME),java_crw_demo)
|
||||
DEMO_NEEDS_JAVA_CRW_DEMO = $(findstring java_crw_demo,$(DEMO_OBJECTS))
|
||||
endif
|
||||
ifeq ($(DEMONAME),hprof)
|
||||
DEMO_NEEDS_NPT = true
|
||||
endif
|
||||
|
||||
# Place to hold the build area (kind of a temp area)
|
||||
DEMO_BUILD_AREA = $(DEMOCLASSDIR)/$(PRODUCT)/$(DEMONAME)
|
||||
|
||||
# Destination "src" directory
|
||||
DEMO_BUILD_SRCDIR = $(DEMO_BUILD_AREA)/src
|
||||
DEMO_BUILD_SRCZIP = $(DEMO_BUILD_AREA)/src.zip
|
||||
DEMO_SOURCE_ZIP = $(DEMO_DESTDIR)/src.zip
|
||||
|
||||
# Place to hold the jar image we are creating
|
||||
DEMO_JAR_IMAGE = $(DEMO_BUILD_AREA)/jar_image
|
||||
|
||||
# The jar manifest file we will create and use
|
||||
DEMO_MANIFEST = $(DEMO_BUILD_AREA)/manifest.mf
|
||||
|
||||
# The list of source files or options we will supply to javac
|
||||
DEMO_JAVAC_INPUT = $(DEMO_BUILD_AREA)/javac_input.txt
|
||||
|
||||
# Any name of javah file
|
||||
DEMO_JAVAH_FILE = $(DEMO_NATIVECLASS:%=$(DEMO_BUILD_SRCDIR)/%.h)
|
||||
|
||||
# Get complete list of files for this demo
|
||||
ifdef DEMO_PSRCDIR
|
||||
DEMO_ALL_FILES2 := $(shell ( $(CD) $(DEMO_PSRCDIR) \
|
||||
&& $(FIND) $(DEMO_PKGDIR) $(SCM_DIRS_prune) -o -type f -print ) \
|
||||
| $(SED) 's@^\./@@' )
|
||||
DEMO_ALL_FILES += $(DEMO_ALL_FILES2)
|
||||
endif
|
||||
ifdef DEMO_EXTRA_SRCDIR
|
||||
DEMO_ALL_FILES += $(DEMO_EXTRA_FILES)
|
||||
endif
|
||||
DEMO_ALL_FILES1 := $(shell ( $(CD) $(DEMO_SRCDIR) \
|
||||
&& $(FIND) $(DEMO_PKGDIR) $(SCM_DIRS_prune) -o -type f -print ) \
|
||||
| $(SED) 's@^\./@@' )
|
||||
DEMO_ALL_FILES += $(DEMO_ALL_FILES1)
|
||||
|
||||
# Just the java sources
|
||||
DEMO_JAVA_SOURCES = $(filter %.java,$(DEMO_ALL_FILES))
|
||||
|
||||
# Just the C and C++ sources
|
||||
DEMO_C_SRC_FILES = $(filter %.c,$(DEMO_ALL_FILES))
|
||||
DEMO_CPP_SRC_FILES = $(filter %.cpp,$(DEMO_ALL_FILES))
|
||||
|
||||
# All the native source files
|
||||
DEMO_ALL_NATIVE_SOURCES = $(DEMO_C_SRC_FILES)
|
||||
DEMO_ALL_NATIVE_SOURCES += $(DEMO_CPP_SRC_FILES)
|
||||
DEMO_ALL_NATIVE_SOURCES += $(filter %.h,$(DEMO_ALL_FILES))
|
||||
DEMO_ALL_NATIVE_SOURCES += $(filter %.hpp,$(DEMO_ALL_FILES))
|
||||
|
||||
# If we have java sources, then define the jar file we will create
|
||||
ifneq ($(strip $(DEMO_JAVA_SOURCES)),)
|
||||
DEMO_JAR = $(DEMO_DESTDIR)/$(DEMONAME).jar
|
||||
endif
|
||||
|
||||
# If we have native sources, define the native library we will create
|
||||
ifneq ($(strip $(DEMO_ALL_NATIVE_SOURCES)),)
|
||||
# Path to native library we will create
|
||||
DEMO_LIBRARY = \
|
||||
$(DEMO_DESTDIR)/lib$(ISA_DIR)/$(LIB_PREFIX)$(DEMONAME).$(LIBRARY_SUFFIX)
|
||||
# C and C++ compiler flags we need to add to standard flags
|
||||
DEMO_CPPFLAGS += -I$(DEMO_BUILD_SRCDIR)
|
||||
# If the npt library is used we need to find the npt.h file
|
||||
ifneq ($(DEMO_NEEDS_NPT),)
|
||||
# The npt library is delivered as part of the JRE
|
||||
DEMO_CPPFLAGS += -I$(SHARE_SRC)/npt -I$(PLATFORM_SRC)/npt
|
||||
endif
|
||||
# Is the shared agent_util code needed
|
||||
ifneq ($(DEMO_NEEDS_AGENT_UTIL),)
|
||||
DEMO_FULL_SOURCES += $(DEMO_BUILD_SRCDIR)/agent_util.c
|
||||
DEMO_FULL_SOURCES += $(DEMO_BUILD_SRCDIR)/agent_util.h
|
||||
endif
|
||||
# Is the shared java_crw_demo code needed
|
||||
ifneq ($(DEMO_NEEDS_JAVA_CRW_DEMO),)
|
||||
DEMO_FULL_SOURCES += $(DEMO_BUILD_SRCDIR)/java_crw_demo.c
|
||||
DEMO_FULL_SOURCES += $(DEMO_BUILD_SRCDIR)/java_crw_demo.h
|
||||
endif
|
||||
# All the native object files we need to build the library
|
||||
DEMO_OBJECTS += $(DEMO_C_SRC_FILES:%.c=%.$(OBJECT_SUFFIX)) \
|
||||
$(DEMO_CPP_SRC_FILES:%.cpp=%.$(OBJECT_SUFFIX))
|
||||
# Linking is special depending on whether we had C++ code or on windows
|
||||
DEMO_NEEDS_CPP = $(strip $(DEMO_CPP_SRC_FILES))
|
||||
CPPFLAGS += $(DEMO_CPPFLAGS)
|
||||
ifeq ($(PLATFORM),windows)
|
||||
# Note: This is a link with cl.exe, not link.exe, options differ quite
|
||||
# bit between them.
|
||||
LINK.demo = $(LINK.c)
|
||||
LDLIBS.demo = $(EXTRA_LIBS) $(LFLAGS_$(COMPILER_VERSION))
|
||||
else
|
||||
ifneq ($(DEMO_NEEDS_CPP),)
|
||||
LINK.demo = $(LINK.cpp)
|
||||
LDLIBS.demo = $(LIBCXX)
|
||||
ifeq ($(PLATFORM),solaris)
|
||||
LDLIBS.demo += -lc
|
||||
endif
|
||||
else
|
||||
LINK.demo = $(LINK.c)
|
||||
LDLIBS.demo = $(LDLIBS)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# Files that are considered resources (need to be in the jar file)
|
||||
DEMO_RESOURCES += $(filter-out %.java,$(DEMO_ALL_FILES))
|
||||
|
||||
# All destination files (top level readme files and all sources)
|
||||
# Note: We exclude the topfiles from the src tree.
|
||||
DEMO_DEST_TOPFILES = $(DEMO_TOPFILES:%=$(DEMO_DESTDIR)/%)
|
||||
DEMO_FILTERED_SOURCES = $(filter-out $(DEMO_TOPFILES),$(DEMO_ALL_FILES))
|
||||
DEMO_FULL_SOURCES += $(DEMO_FILTERED_SOURCES:%=$(DEMO_BUILD_SRCDIR)/%)
|
||||
|
||||
# Default rule
|
||||
all: build demo_info
|
||||
|
||||
# Used to populate the destination directories
|
||||
$(DEMO_DESTDIR)/%: $(DEMO_ROOT)/%
|
||||
$(install-file)
|
||||
ifneq ($(DEMO_SRCDIR),$(DEMO_ROOT))
|
||||
$(DEMO_DESTDIR)/%: $(DEMO_SRCDIR)/%
|
||||
$(install-file)
|
||||
endif
|
||||
$(DEMO_BUILD_SRCDIR)/%: $(DEMO_SRCDIR)/%
|
||||
$(install-file)
|
||||
ifdef DEMO_PSRCDIR
|
||||
$(DEMO_BUILD_SRCDIR)/%: $(DEMO_PSRCDIR)/%
|
||||
$(install-file)
|
||||
endif
|
||||
ifdef DEMO_EXTRA_SRCDIR
|
||||
$(DEMO_BUILD_SRCDIR)/%: $(DEMO_EXTRA_SRCDIR)/%
|
||||
$(install-file)
|
||||
endif
|
||||
ifneq ($(DEMO_NEEDS_AGENT_UTIL),)
|
||||
$(DEMO_BUILD_SRCDIR)/%: $(DEMO_SRCDIR)/../agent_util/%
|
||||
$(install-file)
|
||||
endif
|
||||
ifneq ($(DEMO_NEEDS_JAVA_CRW_DEMO),)
|
||||
$(DEMO_BUILD_SRCDIR)/%: $(DEMO_SRCDIR)/../java_crw_demo/%
|
||||
$(install-file)
|
||||
endif
|
||||
|
||||
# Jar manifest file
|
||||
$(DEMO_MANIFEST):
|
||||
@$(prep-target)
|
||||
$(ECHO) "Main-Class: $(DEMO_MAINCLASS)" > $@
|
||||
ifdef DEMO_MANIFEST_ATTR
|
||||
$(ECHO) "$(DEMO_MANIFEST_ATTR)" >> $@
|
||||
endif
|
||||
|
||||
# Populating the jar image directory
|
||||
$(DEMO_JAR_IMAGE)/%: $(DEMO_SRCDIR)/%
|
||||
$(install-file)
|
||||
ifdef DEMO_PSRCDIR
|
||||
$(DEMO_JAR_IMAGE)/%: $(DEMO_PSRCDIR)/%
|
||||
$(install-file)
|
||||
endif
|
||||
ifdef DEMO_EXTRA_SRCDIR
|
||||
$(DEMO_JAR_IMAGE)/%: $(DEMO_EXTRA_SRCDIR)/%
|
||||
$(install-file)
|
||||
endif
|
||||
ifdef DEMO_DESCRIPTOR
|
||||
$(DEMO_JAR_IMAGE)/META-INF/services/$(DEMO_DESCRIPTOR): \
|
||||
$(DEMO_SRCDIR)/$(DEMO_DESCRIPTOR)
|
||||
$(install-file)
|
||||
endif
|
||||
|
||||
# If we are creating a jar file (we have java code)
|
||||
ifdef DEMO_JAR
|
||||
|
||||
# Input file for javac
|
||||
$(DEMO_JAVAC_INPUT): $(DEMO_JAVA_SOURCES:%=$(DEMO_BUILD_SRCDIR)/%)
|
||||
@$(prep-target)
|
||||
@for i in $(DEMO_JAVA_SOURCES) ; do \
|
||||
$(ECHO) "$(DEMO_BUILD_SRCDIR)/$$i" >> $@ ; \
|
||||
done
|
||||
|
||||
# Jar file creation
|
||||
$(DEMO_JAR): \
|
||||
$(DEMO_JAVAC_INPUT) \
|
||||
$(DEMO_MANIFEST) \
|
||||
$(DEMO_DESCRIPTOR:%=$(DEMO_JAR_IMAGE)/META-INF/services/%) \
|
||||
$(DEMO_RESOURCES:%=$(DEMO_JAR_IMAGE)/%)
|
||||
@$(prep-target)
|
||||
$(MKDIR) -p $(DEMO_JAR_IMAGE)
|
||||
$(JAVAC_CMD) -d $(DEMO_JAR_IMAGE) -sourcepath $(DEMO_BUILD_SRCDIR) \
|
||||
@$(DEMO_JAVAC_INPUT)
|
||||
$(BOOT_JAR_CMD) -cfm $@ $(DEMO_MANIFEST) \
|
||||
-C $(DEMO_JAR_IMAGE) . \
|
||||
$(JAR_JFLAGS)
|
||||
@$(java-vm-cleanup)
|
||||
|
||||
endif
|
||||
|
||||
# Create a src.zip file
|
||||
$(DEMO_BUILD_SRCZIP): $(DEMO_FULL_SOURCES)
|
||||
@$(prep-target)
|
||||
$(CD) $(DEMO_BUILD_AREA)/src && $(ZIPEXE) -q -r ../$(@F) .
|
||||
|
||||
# Install the destination src.zip file and create the src tree
|
||||
$(DEMO_SOURCE_ZIP): $(DEMO_BUILD_SRCZIP)
|
||||
$(install-file)
|
||||
|
||||
# Native library building
|
||||
ifdef DEMO_LIBRARY
|
||||
|
||||
# Full paths to object files
|
||||
DEMO_FULL_OBJECTS = $(DEMO_OBJECTS:%=$(OBJDIR)/%)
|
||||
VPATH=
|
||||
|
||||
# Native compile rules
|
||||
$(OBJDIR)/%.$(OBJECT_SUFFIX): $(DEMO_BUILD_SRCDIR)/%.c
|
||||
@$(prep-target)
|
||||
$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ $<
|
||||
ifneq ($(DEMO_NEEDS_CPP),)
|
||||
$(OBJDIR)/%.$(OBJECT_SUFFIX): $(DEMO_BUILD_SRCDIR)/%.cpp
|
||||
@$(prep-target)
|
||||
$(COMPILE.cpp) $(CC_OBJECT_OUTPUT_FLAG)$@ $<
|
||||
endif
|
||||
|
||||
# Actual creation of the native shared library (C++ and C are different)
|
||||
$(DEMO_LIBRARY): $(DEMO_FULL_OBJECTS)
|
||||
@$(prep-target)
|
||||
$(LINK.demo) $(SHARED_LIBRARY_FLAG) $(CC_PROGRAM_OUTPUT_FLAG)$@ \
|
||||
$(DEMO_FULL_OBJECTS) $(LDLIBS.demo)
|
||||
|
||||
# Generation of any javah include file, make sure objects are dependent on it
|
||||
ifdef DEMO_NATIVECLASS
|
||||
$(DEMO_JAVAH_FILE): $(DEMO_JAR)
|
||||
@$(prep-target)
|
||||
$(JAVAH_CMD) -d $(DEMO_BUILD_SRCDIR) -classpath $(DEMO_JAR) \
|
||||
$(DEMO_NATIVECLASS)
|
||||
@$(java-vm-cleanup)
|
||||
$(DEMO_FULL_OBJECTS): $(DEMO_JAVAH_FILE)
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
# Build involves populating the destination "src" tree, building the jar and
|
||||
# native library, and creating a source bundle
|
||||
|
||||
sources: $(DEMO_FULL_SOURCES)
|
||||
@$(ECHO) "Created $@"
|
||||
|
||||
objects:
|
||||
@$(ECHO) "Created $@"
|
||||
|
||||
# Why the nested make here? It only works this way, don't know why.
|
||||
bundles: $(DEMO_BUILD_SRCZIP)
|
||||
$(RM) -r $(DEMO_DESTDIR)
|
||||
$(MKDIR) -p $(DEMO_DESTDIR)
|
||||
$(MAKE) $(DEMO_LIBRARY) $(DEMO_JAR) $(DEMO_SOURCE_ZIP) $(DEMO_DEST_TOPFILES)
|
||||
# Applets are special, no jar file, no src.zip, everything expanded.
|
||||
ifdef DEMO_IS_APPLET
|
||||
@$(ECHO) "Expanding jar file into demos area at $(DEMO_DESTDIR)"
|
||||
( $(CD) $(DEMO_DESTDIR) && $(BOOT_JAR_CMD) -xfv $(DEMONAME).jar && $(RM) -r META-INF $(DEMONAME).jar )
|
||||
@( $(CD) $(DEMO_DESTDIR) && $(java-vm-cleanup) )
|
||||
@$(ECHO) "Expanding source into demos area at $(DEMO_DESTDIR)"
|
||||
( $(CD) $(DEMO_DESTDIR) && $(UNZIP) -o src.zip && $(RM) src.zip )
|
||||
endif
|
||||
|
||||
build: sources bundles
|
||||
|
||||
# Printing out a demo information line
|
||||
define printDemoSetting
|
||||
if [ "$2" != "" ] ; then $(PRINTF) "%-20s %s\n" "$1:" "$2"; fi
|
||||
endef
|
||||
|
||||
# Print out the demo information
|
||||
demo_info:
|
||||
@$(ECHO) "========================================================="
|
||||
@$(call printDemoSetting,DEMONAME,$(DEMONAME))
|
||||
@$(call printDemoSetting,DEMO_ROOT,$(DEMO_ROOT))
|
||||
@$(call printDemoSetting,DEMO_SRCDIR,$(DEMO_SRCDIR))
|
||||
@$(call printDemoSetting,DEMO_DESTDIR,$(DEMO_DESTDIR))
|
||||
@$(call printDemoSetting,DEMO_JAR,$(DEMO_JAR))
|
||||
@$(call printDemoSetting,DEMO_MANIFEST_ATTR,$(DEMO_MANIFEST_ATTR))
|
||||
@$(call printDemoSetting,DEMO_PSRCDIR,$(DEMO_PSRCDIR))
|
||||
@$(call printDemoSetting,DEMO_EXTRA_SRCDIR,$(DEMO_EXTRA_SRCDIR))
|
||||
@$(call printDemoSetting,DEMO_EXTRA_FILES,$(DEMO_EXTRA_FILES))
|
||||
@$(call printDemoSetting,DEMO_TOPFILES,$(DEMO_TOPFILES))
|
||||
@$(call printDemoSetting,DEMO_MAINCLASS,$(DEMO_MAINCLASS))
|
||||
@$(call printDemoSetting,DEMO_DESCRIPTOR,$(DEMO_DESCRIPTOR))
|
||||
@$(call printDemoSetting,DEMO_NATIVECLASS,$(DEMO_NATIVECLASS))
|
||||
@$(call printDemoSetting,DEMO_LIBRARY,$(DEMO_LIBRARY))
|
||||
@$(call printDemoSetting,DEMO_OBJECTS,$(DEMO_OBJECTS))
|
||||
@$(call printDemoSetting,DEMO_SOURCE_ZIP,$(DEMO_SOURCE_ZIP))
|
||||
@$(ECHO) "========================================================="
|
||||
|
||||
# Clean rule
|
||||
clean clobber:
|
||||
$(RM) -r $(DEMO_BUILD_AREA)
|
||||
$(RM) -r $(DEMO_DESTDIR)
|
||||
|
||||
# This should not be needed, but some versions of GNU amke have a bug that
|
||||
# sometimes deleted these files for some strange and unknown reason
|
||||
# (GNU make version 3.78.1 has the problem, GNU make version 3.80 doesn't?)
|
||||
.PRECIOUS: $(DEMO_FULL_SOURCES) $(DEMO_BUILD_SRCZIP) $(DEMO_SOURCE_ZIP)
|
||||
|
||||
# List phony targets
|
||||
.PHONY: all build clean clobber demo_info \
|
||||
sources bundles
|
||||
|
351
jdk/make/common/Library.gmk
Normal file
351
jdk/make/common/Library.gmk
Normal file
@ -0,0 +1,351 @@
|
||||
#
|
||||
# Copyright 1995-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Generic makefile for building shared libraries.
|
||||
#
|
||||
|
||||
# WARNING: This file is shared with other workspaces.
|
||||
# So when it includes other files, it must use JDK_TOPDIR.
|
||||
#
|
||||
|
||||
include $(JDK_TOPDIR)/make/common/Classes.gmk
|
||||
|
||||
#
|
||||
# It is important to define these *after* including Classes.gmk
|
||||
# in order to override the values defined inthat makefile.
|
||||
#
|
||||
|
||||
ifeq ($(LIBRARY), fdlibm)
|
||||
ifeq ($(PLATFORM),windows)
|
||||
ACTUAL_LIBRARY_NAME = $(LIB_PREFIX)$(LIBRARY).$(FDDLIBM_SUFFIX)
|
||||
ACTUAL_LIBRARY_DIR = $(OBJDIR)
|
||||
else # PLATFORM
|
||||
ACTUAL_LIBRARY_NAME = $(LIB_PREFIX)$(LIBRARY).$(ARCH).$(FDDLIBM_SUFFIX)
|
||||
ACTUAL_LIBRARY_DIR = $(OBJDIR)
|
||||
endif #PLATFORM
|
||||
else # LIBRARY
|
||||
ACTUAL_LIBRARY_NAME = $(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
|
||||
ACTUAL_LIBRARY_DIR = $(LIB_LOCATION)
|
||||
endif
|
||||
ACTUAL_LIBRARY = $(ACTUAL_LIBRARY_DIR)/$(ACTUAL_LIBRARY_NAME)
|
||||
|
||||
library:: $(ACTUAL_LIBRARY)
|
||||
|
||||
FILES_o = $(patsubst %.c, %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_c))))
|
||||
FILES_o += $(patsubst %.s, %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_s))))
|
||||
FILES_o += $(patsubst %.cpp, %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_cpp))))
|
||||
|
||||
ifeq ($(INCREMENTAL_BUILD),true)
|
||||
FILES_d = $(patsubst %.c, %.$(DEPEND_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_c))))
|
||||
FILES_d += $(patsubst %.cpp, %.$(DEPEND_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_cpp))))
|
||||
endif # INCREMENTAL_BUILD
|
||||
|
||||
ifeq ($(PLATFORM),solaris)
|
||||
# List of all lint files, one for each .c file (only for C)
|
||||
FILES_ln = $(patsubst %.c, %.$(LINT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_c))))
|
||||
endif
|
||||
|
||||
#
|
||||
# C++ libraries must be linked with CC.
|
||||
#
|
||||
ifdef CPLUSPLUSLIBRARY
|
||||
LINKER=$(LINK.cc)
|
||||
else
|
||||
LINKER=$(LINK.c)
|
||||
endif
|
||||
|
||||
# FIXUP: unpack needs the zip .o files. So we must build zip?
|
||||
# or fix unpack makefile so it uses Program.gmk.
|
||||
ifneq ($(IMPORT_NATIVE_BINARIES),true)
|
||||
COMPILE_IT=true
|
||||
else
|
||||
ifeq ($(LIBRARY),zip)
|
||||
COMPILE_IT=true
|
||||
else
|
||||
COMPILE_IT=false
|
||||
endif
|
||||
endif
|
||||
|
||||
# If a Makefile has specified a pre-compiled closed src lib, just copy it.
|
||||
ifdef USE_BINARY_PLUG_LIBRARY
|
||||
COMPILE_IT=false
|
||||
endif
|
||||
|
||||
# We either need to import (copy) libraries in, or build them
|
||||
ifeq ($(COMPILE_IT),true)
|
||||
|
||||
$(ACTUAL_LIBRARY):: $(INIT) $(TEMPDIR) $(LIBDIR) $(BINDIR) $(EXTDIR) classheaders
|
||||
|
||||
#
|
||||
# COMPILE_APPROACH: Different approaches to compile up the native object
|
||||
# files as quickly as possible.
|
||||
# The setting of parallel works best on Unix, batch on Windows.
|
||||
#
|
||||
|
||||
COMPILE_FILES_o = $(OBJDIR)/.files_compiled
|
||||
$(COMPILE_FILES_o): $(FILES_d) $(FILES_o)
|
||||
@$(ECHO) "$<" >> $@
|
||||
clean::
|
||||
$(RM) $(COMPILE_FILES_o)
|
||||
|
||||
#
|
||||
# COMPILE_APPROACH=parallel: Will trigger compilations (just compilations) to
|
||||
# happen in parallel. Greatly decreases Unix build time, even on single CPU
|
||||
# machines, more so on multiple CPU machines. Default is 2 compiles
|
||||
# at a time, but can be adjusted with ALT_PARALLEL_COMPILE_JOBS.
|
||||
# Note that each .d file will also be dependent on it's .o file, see
|
||||
# Rules.gmk.
|
||||
# Note this does not depend on Rules.gmk to work like batch (below)
|
||||
# and this technique doesn't seem to help Windows build time nor does
|
||||
# it work very well, it's possible the Windows Visual Studio compilers
|
||||
# don't work well in a parallel situation, this needs investigation.
|
||||
#
|
||||
|
||||
ifeq ($(COMPILE_APPROACH),parallel)
|
||||
|
||||
.PHONY: library_parallel_compile
|
||||
|
||||
library_parallel_compile:
|
||||
@$(ECHO) "Begin parallel compiles: $(shell $(PWD))"
|
||||
@$(MAKE) -j $(PARALLEL_COMPILE_JOBS) $(COMPILE_FILES_o)
|
||||
@$(ECHO) "Done with parallel compiles: $(shell $(PWD))"
|
||||
|
||||
$(ACTUAL_LIBRARY):: library_parallel_compile
|
||||
|
||||
endif
|
||||
|
||||
#
|
||||
# COMPILE_APPROACH=batch: Will trigger compilations (just compilations) to
|
||||
# happen in batch mode. Greatly decreases Windows build time.
|
||||
# See logic in Rules.gmk for how compiles happen, the $(MAKE) in
|
||||
# library_batch_compile below triggers the actions in Rules.gmk.
|
||||
# Note that each .d file will also be dependent on it's .o file, see
|
||||
# Rules.gmk.
|
||||
#
|
||||
ifeq ($(COMPILE_APPROACH),batch)
|
||||
|
||||
.PHONY: library_batch_compile
|
||||
|
||||
library_batch_compile:
|
||||
@$(ECHO) "Begin BATCH compiles: $(shell $(PWD))"
|
||||
$(MAKE) $(COMPILE_FILES_o)
|
||||
$(MAKE) batch_compile
|
||||
@$(ECHO) "Done with BATCH compiles: $(shell $(PWD))"
|
||||
$(MAKE) COMPILE_APPROACH=normal $(COMPILE_FILES_o)
|
||||
|
||||
$(ACTUAL_LIBRARY):: library_batch_compile
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
|
||||
#
|
||||
# Library building rules.
|
||||
#
|
||||
|
||||
$(LIBRARY).lib:: $(OBJDIR)
|
||||
|
||||
ifeq ($(LIBRARY), fdlibm)
|
||||
$(ACTUAL_LIBRARY):: $(OBJDIR)/$(LIBRARY).lib
|
||||
|
||||
$(OBJDIR)/$(LIBRARY).lib:: $(OBJDIR)/$(LIBRARY).lcf
|
||||
@$(prep-target)
|
||||
$(LIBEXE) -NODEFAULTLIB:MSVCRT -out:$@ -nologo \
|
||||
@$(OBJDIR)/$(LIBRARY).lcf $(OTHER_LCF) $(LDLIBS_COMMON)
|
||||
else # LIBRARY
|
||||
# build it into $(OBJDIR) so that the other generated files get put
|
||||
# there, then copy just the DLL (and MAP file) to the requested directory.
|
||||
#
|
||||
$(ACTUAL_LIBRARY):: $(OBJDIR)/$(LIBRARY).lcf
|
||||
@$(prep-target)
|
||||
@$(MKDIR) -p $(OBJDIR)
|
||||
$(LINK) -dll -out:$(OBJDIR)/$(@F) \
|
||||
-map:$(OBJDIR)/$(LIBRARY).map \
|
||||
$(LFLAGS) @$(OBJDIR)/$(LIBRARY).lcf \
|
||||
$(OTHER_LCF) $(JAVALIB) $(LDLIBS)
|
||||
$(CP) $(OBJDIR)/$(@F) $@
|
||||
$(CP) $(OBJDIR)/$(LIBRARY).map $(@D)
|
||||
$(CP) $(OBJDIR)/$(LIBRARY).pdb $(@D)
|
||||
|
||||
endif # LIBRARY
|
||||
|
||||
$(OBJDIR)/$(LIBRARY).lcf: $(OBJDIR)/$(LIBRARY).res $(COMPILE_FILES_o) $(FILES_m)
|
||||
@$(prep-target)
|
||||
@$(MKDIR) -p $(TEMPDIR)
|
||||
@$(ECHO) $(FILES_o) > $@
|
||||
ifndef LOCAL_RESOURCE_FILE
|
||||
@$(ECHO) $(OBJDIR)/$(LIBRARY).res >> $@
|
||||
endif
|
||||
@$(ECHO) Created $@
|
||||
|
||||
# J2SE name required here
|
||||
RC_FLAGS += /D "J2SE_FNAME=$(LIBRARY).dll" \
|
||||
/D "J2SE_INTERNAL_NAME=$(LIBRARY)" \
|
||||
/D "J2SE_FTYPE=0x2L"
|
||||
|
||||
$(OBJDIR)/$(LIBRARY).res: $(VERSIONINFO_RESOURCE)
|
||||
ifndef LOCAL_RESOURCE_FILE
|
||||
@$(prep-target)
|
||||
$(RC) $(RC_FLAGS) $(CC_OBJECT_OUTPUT_FLAG)$(@) $(VERSIONINFO_RESOURCE)
|
||||
endif
|
||||
|
||||
#
|
||||
# Install a .lib file if required.
|
||||
#
|
||||
ifeq ($(INSTALL_DOT_LIB), true)
|
||||
$(ACTUAL_LIBRARY):: $(LIBDIR)/$(LIBRARY).lib
|
||||
|
||||
clean::
|
||||
-$(RM) $(LIBDIR)/$(LIBRARY).lib
|
||||
|
||||
$(LIBDIR)/$(LIBRARY).lib:: $(OBJDIR)/$(LIBRARY).lib
|
||||
$(install-file)
|
||||
|
||||
$(LIBDIR)/$(LIBRARY).dll:: $(OBJDIR)/$(LIBRARY).dll
|
||||
$(install-file)
|
||||
|
||||
endif # INSTALL_DOT_LIB
|
||||
|
||||
else # PLATFORM
|
||||
|
||||
#
|
||||
# On Solaris, use mcs to write the version into the comment section of
|
||||
# the shared library. On other platforms set this to false at the
|
||||
# make command line.
|
||||
#
|
||||
$(ACTUAL_LIBRARY):: $(COMPILE_FILES_o) $(FILES_m) $(FILES_reorder)
|
||||
@$(prep-target)
|
||||
@$(ECHO) "STATS: LIBRARY=$(LIBRARY), PRODUCT=$(PRODUCT), _OPT=$(_OPT)"
|
||||
@$(ECHO) "Rebuilding $@ because of $?"
|
||||
ifeq ($(LIBRARY), fdlibm)
|
||||
$(AR) -r $@ $(FILES_o)
|
||||
else # LIBRARY
|
||||
$(LINKER) $(SHARED_LIBRARY_FLAG) -o $@ $(FILES_o) $(LDLIBS)
|
||||
ifeq ($(WRITE_LIBVERSION),true)
|
||||
$(MCS) -d -a "$(FULL_VERSION)" $@
|
||||
endif # WRITE_LIBVERSION
|
||||
endif # LIBRARY
|
||||
|
||||
endif # PLATFORM
|
||||
|
||||
#
|
||||
# Cross check all linted files against each other
|
||||
#
|
||||
ifeq ($(PLATFORM),solaris)
|
||||
lint.errors : $(FILES_ln)
|
||||
$(LINT.c) $(FILES_ln) $(LDLIBS)
|
||||
endif
|
||||
|
||||
else # COMPILE_IT
|
||||
|
||||
# OpenJDK rule is first so any lib is preferentially copied from that location.
|
||||
ifndef USE_BINARY_PLUG_LIBRARY
|
||||
|
||||
# In this case we are just copying the file.
|
||||
ifneq ($(LIBRARY), fdlibm)
|
||||
# Copies in the file from the JDK_IMPORT_PATH area
|
||||
$(ACTUAL_LIBRARY_DIR)/%: $(JDK_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/%
|
||||
$(install-import-file)
|
||||
$(ACTUAL_LIBRARY_DIR)/%: $(JDK_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/native_threads/%
|
||||
$(install-import-file)
|
||||
$(ACTUAL_LIBRARY_DIR)/%: $(JDK_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/headless/%
|
||||
$(install-import-file)
|
||||
$(ACTUAL_LIBRARY_DIR)/%: $(JDK_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/xawt/%
|
||||
$(install-import-file)
|
||||
else # fdlibm
|
||||
$(ACTUAL_LIBRARY_DIR)/%:
|
||||
$(prep-target)
|
||||
endif # fdlibm
|
||||
|
||||
endif # USE_BINARY_PLUG_LIBRARY
|
||||
|
||||
endif # COMPILE_IT
|
||||
|
||||
#
|
||||
# Class libraries with JNI native methods get a include to the package.
|
||||
#
|
||||
ifdef PACKAGE
|
||||
vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)
|
||||
vpath %.c $(SHARE_SRC)/native/$(PKGDIR)
|
||||
OTHER_INCLUDES += -I$(SHARE_SRC)/native/common -I$(PLATFORM_SRC)/native/common
|
||||
OTHER_INCLUDES += -I$(SHARE_SRC)/native/$(PKGDIR) \
|
||||
-I$(PLATFORM_SRC)/native/$(PKGDIR)
|
||||
endif
|
||||
|
||||
#
|
||||
# Clean/clobber rules
|
||||
#
|
||||
clean::
|
||||
$(RM) -r $(ACTUAL_LIBRARY)
|
||||
|
||||
clobber:: clean
|
||||
|
||||
#
|
||||
# INCREMENTAL_BUILD means that this workspace will be built over and over
|
||||
# possibly incrementally. This means tracking the object file dependencies
|
||||
# on include files so that sources get re-compiled when the include files
|
||||
# change. When building from scratch and doing a one time build (like
|
||||
# release engineering or nightly builds) set INCREMENTAL_BUILD=false.
|
||||
#
|
||||
|
||||
ifeq ($(INCREMENTAL_BUILD),true)
|
||||
|
||||
#
|
||||
# Workaround: gnumake sometimes says files is empty when it shouldn't
|
||||
# was: files := $(foreach file, $(wildcard $(OBJDIR)/*.$(DEPEND_SUFFIX)), $(file))
|
||||
#
|
||||
files := $(shell $(LS) $(OBJDIR)/*.$(DEPEND_SUFFIX) 2>/dev/null)
|
||||
|
||||
#
|
||||
# Only include these files if we have any.
|
||||
#
|
||||
ifneq ($(strip $(files)),)
|
||||
|
||||
include $(files)
|
||||
|
||||
endif # files
|
||||
|
||||
endif # INCREMENTAL_BUILD
|
||||
|
||||
#
|
||||
# Default dependencies
|
||||
#
|
||||
|
||||
all: build
|
||||
|
||||
build: library
|
||||
|
||||
debug:
|
||||
$(MAKE) VARIANT=DBG build
|
||||
|
||||
fastdebug:
|
||||
$(MAKE) VARIANT=DBG FASTDEBUG=true build
|
||||
|
||||
openjdk:
|
||||
$(MAKE) OPENJDK=true build
|
||||
|
||||
.PHONY: all build debug fastdebug
|
||||
|
98
jdk/make/common/Mapfile-vers.gmk
Normal file
98
jdk/make/common/Mapfile-vers.gmk
Normal file
@ -0,0 +1,98 @@
|
||||
#
|
||||
# Copyright 1998-2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile for linking with mapfiles.
|
||||
#
|
||||
# NOTE: Not using a mapfile will expose all your extern functions and
|
||||
# extern data symbols as part of your interface, so unless your
|
||||
# extern names are safe from being mistaken as names from other
|
||||
# libraries, you better use a mapfile, or use a unique naming
|
||||
# convention on all your extern symbols.
|
||||
#
|
||||
# The mapfile will establish versioning by defining the exported interface.
|
||||
#
|
||||
# The mapfile can also force certain .o files or elf sections into the
|
||||
# the different segments of the resulting library/program image.
|
||||
#
|
||||
# The macro FILES_m can contain any number of mapfiles.
|
||||
#
|
||||
|
||||
# Always make sure 'all' is the default rule
|
||||
mapfile_default_rule: all
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
|
||||
ifeq ($(VARIANT), OPT)
|
||||
# OPT build MUST have a mapfile?
|
||||
ifndef FILES_m
|
||||
FILES_m = mapfile-vers
|
||||
endif
|
||||
|
||||
# If we are re-ordering functions in this solaris library, we need to make
|
||||
# sure that -xF is added to the compile lines. This option is critical and
|
||||
# enables the functions to be reordered.
|
||||
ifdef FILES_reorder
|
||||
CFLAGS_OPT += -xF
|
||||
CXXFLAGS_OPT += -xF
|
||||
endif
|
||||
|
||||
INIT += $(TEMPDIR)/mapfile-vers
|
||||
|
||||
$(TEMPDIR)/mapfile-vers : $(FILES_m) $(FILES_reorder)
|
||||
$(prep-target)
|
||||
$(CAT) $(FILES_m) > $@
|
||||
ifdef FILES_reorder
|
||||
$(SED) -e 's=OUTPUTDIR=$(OUTPUTDIR)=' $(FILES_reorder) >> $@
|
||||
endif
|
||||
endif # VARIANT
|
||||
|
||||
ifndef LDNOMAP
|
||||
LDMAPFLAGS_OPT = -M$(TEMPDIR)/mapfile-vers
|
||||
LDMAPFLAGS_DBG = $(FILES_m:%=-M%)
|
||||
endif
|
||||
|
||||
endif # PLATFORM
|
||||
|
||||
|
||||
ifeq ($(PLATFORM), linux)
|
||||
|
||||
ifeq ($(VARIANT), OPT)
|
||||
# OPT build MUST have a mapfile?
|
||||
ifndef FILES_m
|
||||
FILES_m = mapfile-vers
|
||||
endif
|
||||
endif # VARIANT
|
||||
|
||||
ifndef LDNOMAP
|
||||
LDMAPFLAGS_OPT = $(FILES_m:%=-Xlinker -version-script=%)
|
||||
LDMAPFLAGS_DBG = $(FILES_m:%=-Xlinker -version-script=%)
|
||||
endif
|
||||
|
||||
endif # PLATFORM
|
||||
|
||||
LDFLAGS_OPT += $(LDMAPFLAGS_OPT)
|
||||
LDFLAGS_DBG += $(LDMAPFLAGS_DBG)
|
||||
|
294
jdk/make/common/Program.gmk
Normal file
294
jdk/make/common/Program.gmk
Normal file
@ -0,0 +1,294 @@
|
||||
#
|
||||
# Copyright 1995-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Generic makefile for building executables.
|
||||
#
|
||||
|
||||
# WARNING: This file is shared with other workspaces.
|
||||
# So when it includes other files, it must use JDK_TOPDIR.
|
||||
#
|
||||
|
||||
#
|
||||
# If building programs, use a normal compile approach
|
||||
#
|
||||
ifeq ($(COMPILE_APPROACH),batch)
|
||||
override COMPILE_APPROACH = normal
|
||||
endif
|
||||
|
||||
ifndef LAUNCHER_PLATFORM_SRC
|
||||
LAUNCHER_PLATFORM_SRC = $(PLATFORM_SRC)
|
||||
endif
|
||||
|
||||
ifndef LAUNCHER_SHARE_SRC
|
||||
LAUNCHER_SHARE_SRC = $(SHARE_SRC)
|
||||
endif
|
||||
|
||||
ACTUAL_PROGRAM_NAME = $(PROGRAM)$(EXE_SUFFIX)
|
||||
ACTUAL_PROGRAM_DIR = $(BINDIR)
|
||||
ACTUAL_PROGRAM = $(ACTUAL_PROGRAM_DIR)/$(ACTUAL_PROGRAM_NAME)
|
||||
|
||||
JVMCFG = $(LIBDIR)/$(LIBARCH)/jvm.cfg
|
||||
|
||||
# Make sure the default rule is all
|
||||
program_default_rule: all
|
||||
|
||||
program: $(ACTUAL_PROGRAM)
|
||||
|
||||
include $(JDK_TOPDIR)/make/common/Rules.gmk
|
||||
|
||||
ifdef NEVER_ACT_AS_SERVER_CLASS_MACHINE
|
||||
OTHER_CPPFLAGS += -DNEVER_ACT_AS_SERVER_CLASS_MACHINE
|
||||
endif
|
||||
|
||||
#
|
||||
# Create a dependency on libjli (Java Launcher Infrastructure)
|
||||
#
|
||||
# On UNIX, this is a relative dependency using $ORIGIN. Unfortunately, to
|
||||
# do this reliably on Linux takes a different syntax than Solaris.
|
||||
#
|
||||
# On Windows, this is done by using the same directory as the executable
|
||||
# itself, as with all the Windows libraries.
|
||||
#
|
||||
ifneq (,$(findstring $(PLATFORM), linux solaris)) # UNIX systems
|
||||
LDFLAGS += -L $(LIBDIR)/$(LIBARCH)/jli
|
||||
OTHER_LDLIBS += -ljli
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
LDFLAGS += -R \$$ORIGIN/../lib/$(LIBARCH)/jli
|
||||
LDFLAGS += -R \$$ORIGIN/../jre/lib/$(LIBARCH)/jli
|
||||
else
|
||||
LDFLAGS += -R \$$ORIGIN/../../lib/$(LIBARCH)/jli
|
||||
LDFLAGS += -R \$$ORIGIN/../../jre/lib/$(LIBARCH)/jli
|
||||
endif
|
||||
endif
|
||||
ifeq ($(PLATFORM), linux)
|
||||
LDFLAGS += -z origin
|
||||
LDFLAGS += -Wl,--allow-shlib-undefined
|
||||
LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli
|
||||
LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH)/jli
|
||||
endif
|
||||
endif
|
||||
ifeq ($(PLATFORM), windows)
|
||||
JLI_LCF = $(OUTPUTDIR)/tmp/java/jli/$(OBJDIRNAME)/jli.lcf
|
||||
ifdef STATIC_JLI
|
||||
LDFLAGS += -libpath:$(OUTPUTDIR)/tmp/java/jli/$(OBJDIRNAME)/static
|
||||
else
|
||||
LDFLAGS += -libpath:$(OUTPUTDIR)/tmp/java/jli/$(OBJDIRNAME)
|
||||
endif
|
||||
OTHER_LDLIBS += jli.lib
|
||||
endif
|
||||
|
||||
#
|
||||
# Launcher specific files.
|
||||
#
|
||||
FILES_o = \
|
||||
$(OBJDIR)/main.$(OBJECT_SUFFIX)
|
||||
|
||||
# We either need to import (copy) binaries in, or build them
|
||||
ifneq ($(IMPORT_NATIVE_BINARIES),true)
|
||||
COMPILE_IT=true
|
||||
else
|
||||
COMPILE_IT=false
|
||||
endif
|
||||
|
||||
ifeq ($(COMPILE_IT),true)
|
||||
|
||||
$(ACTUAL_PROGRAM):: classes $(JVMCFG) $(INIT)
|
||||
|
||||
#
|
||||
# Windows only
|
||||
#
|
||||
ifeq ($(PLATFORM), windows)
|
||||
|
||||
# J2SE name required here
|
||||
RC_FLAGS += /D "J2SE_FNAME=$(PROGRAM)$(EXE_SUFFIX)" \
|
||||
/D "J2SE_INTERNAL_NAME=$(PROGRAM)" \
|
||||
/D "J2SE_FTYPE=0x1L"
|
||||
|
||||
$(OBJDIR)/$(PROGRAM).res: $(VERSIONINFO_RESOURCE)
|
||||
@$(prep-target)
|
||||
ifndef LOCAL_RESOURCE_FILE
|
||||
$(RC) $(RC_FLAGS) $(CC_OBJECT_OUTPUT_FLAG)$(@) $(VERSIONINFO_RESOURCE)
|
||||
endif
|
||||
|
||||
$(OBJDIR)/$(PROGRAM).lcf: $(OBJDIR)/$(PROGRAM).res $(FILES_o)
|
||||
@$(prep-target)
|
||||
@$(ECHO) $(FILES_o) > $@
|
||||
ifndef LOCAL_RESOURCE_FILE
|
||||
@$(ECHO) $(OBJDIR)/$(PROGRAM).res >> $@
|
||||
endif
|
||||
@$(ECHO) setargv.obj >> $@
|
||||
@$(ECHO) Created $@
|
||||
|
||||
$(ACTUAL_PROGRAM):: $(OBJDIR)/$(PROGRAM)$(EXE_SUFFIX)
|
||||
@$(install-file)
|
||||
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
STACK_SIZE=327680
|
||||
else
|
||||
# We need more Stack for Windows 64bit
|
||||
STACK_SIZE=1048576
|
||||
endif
|
||||
|
||||
$(OBJDIR)/$(PROGRAM)$(EXE_SUFFIX):: $(OBJDIR)/$(PROGRAM).lcf $(FILES_o) $(JLI_LCF)
|
||||
@$(prep-target)
|
||||
@set -- $?; \
|
||||
$(ECHO) Rebuilding $@ because of $$1 $$2 $$3 $$4 $$5 $$6 $${7:+...};
|
||||
$(LINK) -out:$@ /STACK:$(STACK_SIZE) \
|
||||
-map:$(OBJDIR)/$(PROGRAM).map $(LFLAGS) $(LDFLAGS) \
|
||||
@$(OBJDIR)/$(PROGRAM).lcf $(LDLIBS)
|
||||
|
||||
else # PLATFORM
|
||||
|
||||
#
|
||||
# Note that we have to link -lthread even when USE_PTHREADS is true.
|
||||
# This is becuase checkForCorrectLibthread() croaks otherwise.
|
||||
#
|
||||
LIBTHREAD = -lthread
|
||||
ifeq ($(USE_PTHREADS),true)
|
||||
THREADLIBS = -lpthread $(LIBTHREAD)
|
||||
else # USE_PTHREADS
|
||||
THREADLIBS = $(LIBTHREAD)
|
||||
endif # USE_PTHREADS
|
||||
|
||||
#
|
||||
# This rule only applies on unix. It supports quantify and its ilk.
|
||||
#
|
||||
$(ACTUAL_PROGRAM):: $(FILES_o)
|
||||
@$(prep-target)
|
||||
@set -- $?; \
|
||||
$(ECHO) Rebuilding $@ because of $$1 $$2 $$3 $$4 $$5 $$6 $${7:+...};
|
||||
@$(MKDIR) -p $(TEMPDIR)
|
||||
$(LINK_PRE_CMD) $(CC) $(CC_OBJECT_OUTPUT_FLAG)$@ $(LDFLAGS) \
|
||||
$(FILES_o) $(THREADLIBS) $(LDLIBS)
|
||||
|
||||
endif # PLATFORM
|
||||
|
||||
else # COMPILE_IT
|
||||
|
||||
$(ACTUAL_PROGRAM):: $(JVMCFG)
|
||||
|
||||
# Copies in the file from the JDK_IMPORT_PATH area
|
||||
$(ACTUAL_PROGRAM_DIR)/%: $(JDK_IMPORT_PATH)/jre/bin/%
|
||||
@$(install-import-file)
|
||||
$(ACTUAL_PROGRAM_DIR)/%: $(JDK_IMPORT_PATH)/bin/%
|
||||
@$(install-import-file)
|
||||
|
||||
endif # COMPILE_IT
|
||||
|
||||
|
||||
clean::
|
||||
ifeq ($(PLATFORM), windows)
|
||||
$(RM) $(OBJDIR)/$(PROGRAM).rc
|
||||
$(RM) $(OBJDIR)/$(PROGRAM).ico
|
||||
$(RM) $(OBJDIR)/$(PROGRAM).lcf
|
||||
$(RM) $(OBJDIR)/$(PROGRAM).map
|
||||
$(RM) $(OBJDIR)/$(PROGRAM).exp
|
||||
$(RM) $(OBJDIR)/$(PROGRAM).lib
|
||||
$(RM) $(OBJDIR)/$(PROGRAM)$(EXE_SUFFIX)
|
||||
$(RM) $(OBJDIR)/$(PROGRAM).ilk
|
||||
$(RM) *.pdb
|
||||
endif
|
||||
|
||||
|
||||
clobber::
|
||||
$(RM) $(ACTUAL_PROGRAM)
|
||||
|
||||
#
|
||||
# Now include make dependencies (created during compilation, see Rules.gmk)
|
||||
#
|
||||
ifeq ($(INCREMENTAL_BUILD),true)
|
||||
# Workaround: gnumake sometimes says files is empty when it shouldn't
|
||||
# was: files := $(foreach file, $(wildcard */$(ARCH)/*.$(DEPEND_SUFFIX)), $(file))
|
||||
files := $(shell $(LS) $(OBJDIR)/*.$(DEPEND_SUFFIX) 2>/dev/null)
|
||||
ifneq ($(strip $(files)),)
|
||||
include $(files)
|
||||
endif # files
|
||||
endif # INCREMENTAL_BUILD
|
||||
|
||||
ifdef JAVA_ARGS
|
||||
OTHER_CPPFLAGS += -DJAVA_ARGS=$(JAVA_ARGS)
|
||||
OTHER_CPPFLAGS += -DLAUNCHER_NAME=\"$(LAUNCHER_NAME)\"
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
ifdef RELEASE
|
||||
OTHER_CPPFLAGS += -DVERSION="$(RELEASE)"
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
ifneq ($(PLATFORM), windows)
|
||||
HAVE_GETHRTIME=true
|
||||
endif
|
||||
|
||||
ifeq ($(HAVE_GETHRTIME),true)
|
||||
OTHER_CPPFLAGS += -DHAVE_GETHRTIME
|
||||
endif
|
||||
|
||||
OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)/bin -I$(LAUNCHER_PLATFORM_SRC)/bin
|
||||
OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3
|
||||
|
||||
# this may not be necessary...
|
||||
ifeq ($(PLATFORM), windows)
|
||||
OTHER_CPPFLAGS += -DPROGNAME="\"$(PROGRAM)\""
|
||||
VERSION_DEFINES += -DFULL_VERSION="\"$(FULL_VERSION)\""
|
||||
else
|
||||
OTHER_CPPFLAGS += -DPROGNAME='"$(PROGRAM)"'
|
||||
VERSION_DEFINES += -DFULL_VERSION='"$(FULL_VERSION)"'
|
||||
endif
|
||||
|
||||
VERSION_DEFINES += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
|
||||
-DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"'
|
||||
|
||||
|
||||
|
||||
$(OBJDIR)/main.$(OBJECT_SUFFIX): $(LAUNCHER_SHARE_SRC)/bin/main.c
|
||||
@$(prep-target)
|
||||
$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$(OBJDIR)/main.$(OBJECT_SUFFIX) \
|
||||
$(VERSION_DEFINES) $<
|
||||
|
||||
#
|
||||
# How to install jvm.cfg.
|
||||
#
|
||||
$(JVMCFG): $(LAUNCHER_PLATFORM_SRC)/bin/$(ARCH)/jvm.cfg
|
||||
$(install-file)
|
||||
|
||||
#
|
||||
# Default dependencies
|
||||
#
|
||||
|
||||
all: build
|
||||
|
||||
build: program
|
||||
|
||||
debug:
|
||||
$(MAKE) VARIANT=DBG build
|
||||
|
||||
fastdebug:
|
||||
$(MAKE) VARIANT=DBG FASTDEBUG=true build
|
||||
|
||||
.PHONY: all build program clean clobber debug fastdebug
|
1262
jdk/make/common/Release.gmk
Normal file
1262
jdk/make/common/Release.gmk
Normal file
File diff suppressed because it is too large
Load Diff
70
jdk/make/common/Rules-SCCS.gmk
Normal file
70
jdk/make/common/Rules-SCCS.gmk
Normal file
@ -0,0 +1,70 @@
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Only get these rules if SCCS is available
|
||||
#
|
||||
|
||||
ifdef SCCS
|
||||
|
||||
# SCCS command to extract out latest source
|
||||
SCCS_GET=$(SCCS) get -s
|
||||
|
||||
#
|
||||
# Make sure all files in workspace are fresh
|
||||
#
|
||||
TEMP_ALL_FILES=$(JDK_TOPDIR)/temp_filelist
|
||||
$(TEMP_ALL_FILES): $(JDK_TOPDIR)/Codemgr_wsdata/nametable
|
||||
$(prep-target)
|
||||
@$(CUT) -d' ' -f1 $< \
|
||||
| $(GREP) -v '^VERSION' \
|
||||
| $(GREP) -v '^deleted_files' \
|
||||
| $(GREP) -v '^Codemgr_wsdata' > $@
|
||||
|
||||
sccs_get: $(TEMP_ALL_FILES)
|
||||
@$(PRINTF) "Workspace has %d files\n" `$(CAT) $< | $(WC) -l`
|
||||
@count=0; \
|
||||
for i in `$(CAT) $<` ; do \
|
||||
f=$(JDK_TOPDIR)/$$i; \
|
||||
count=`$(EXPR) $$count '+' 1`; \
|
||||
if [ `$(EXPR) $$count '%' 100` = 0 ] ; then \
|
||||
$(PRINTF) "\rChecked $$count files"; \
|
||||
fi; \
|
||||
if [ ! -f $$f ] ; then \
|
||||
$(PRINTF) "\r$(SCCS_GET) $$f\n"; \
|
||||
(cd `$(DIRNAME) $$f` && $(SCCS_GET) `$(BASENAME) $$f`); \
|
||||
elif /usr/bin/test $$f -ot `$(DIRNAME) $$f`/SCCS/s.`$(BASENAME) $$f` ; then \
|
||||
$(PRINTF) "\r$(SCCS_GET) $$f\n"; \
|
||||
(cd `$(DIRNAME) $$f` && $(SCCS_GET) `$(BASENAME) $$f`); \
|
||||
fi; \
|
||||
done; \
|
||||
$(PRINTF) "\rChecked $$count files\n"
|
||||
|
||||
#
|
||||
# Phonies to avoid accidents.
|
||||
#
|
||||
.PHONY: sccs_get
|
||||
|
||||
endif
|
335
jdk/make/common/Rules.gmk
Normal file
335
jdk/make/common/Rules.gmk
Normal file
@ -0,0 +1,335 @@
|
||||
#
|
||||
# Copyright 1995-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
#
|
||||
# Rules shared by all Java makefiles.
|
||||
#
|
||||
# Used to apply to source file $<, checks code conventions, issues warnings.
|
||||
define check-conventions
|
||||
if [ "$(CONVENTION_WATCH)" = "true" ] ; then \
|
||||
if [ "`$(CAT) -n -v -t $< | $(EGREP) -v '\@\(\#\)' | $(EGREP) '\^[MLI]'`" != "" ] ; then \
|
||||
$(ECHO) "WARNING: File contains tabs, ^M, or ^L characters: $<"; \
|
||||
if [ "$(CONVENTION_DETAILS)" = "true" ] ; then \
|
||||
$(CAT) -n -v -t $< | $(EGREP) -v '\@\(\#\)' | $(EGREP) '\^[MLI]' ; \
|
||||
fi; \
|
||||
fi; \
|
||||
fi
|
||||
endef
|
||||
|
||||
# Make sure the default rule is all
|
||||
rules_default_rule: all
|
||||
|
||||
#
|
||||
# Directory set up. (Needed by deploy workspace)
|
||||
#
|
||||
$(CLASSDESTDIR) $(CLASSHDRDIR) $(OBJDIR) $(OUTPUTDIR) $(BINDIR) $(LIBDIR) $(LIBDIR)/$(LIBARCH) $(TEMPDIR) $(EXTDIR):
|
||||
$(MKDIR) -p $@
|
||||
|
||||
#
|
||||
# All source tree areas for java/properties files (a few may be closed)
|
||||
#
|
||||
ifdef OPENJDK
|
||||
ALL_CLASSES_SRC = $(SHARE_SRC)/classes $(PLATFORM_SRC)/classes
|
||||
else
|
||||
ALL_CLASSES_SRC = \
|
||||
$(CLOSED_SHARE_SRC)/classes $(CLOSED_PLATFORM_SRC)/classes \
|
||||
$(SHARE_SRC)/classes $(PLATFORM_SRC)/classes
|
||||
endif
|
||||
|
||||
#
|
||||
# If AUTO_FILES_PROPERTIES_DIRS used, automatically find properties files
|
||||
#
|
||||
ifdef AUTO_FILES_PROPERTIES_DIRS
|
||||
AUTO_FILES_PROPERTIES_FILTERS1 = $(SCM_DIRs) 'X-*' '*-X-*' ',*'
|
||||
AUTO_FILES_PROPERTIES_FILTERS1 += $(AUTO_PROPERTIES_PRUNE)
|
||||
FILES_properties_find_filters1 = $(AUTO_FILES_PROPERTIES_FILTERS1:%=-name % -prune -o)
|
||||
FILES_properties_auto1 := \
|
||||
$(shell \
|
||||
for dir in $(ALL_CLASSES_SRC) ; do \
|
||||
if [ -d $$dir ] ; then \
|
||||
( $(CD) $$dir; \
|
||||
for sdir in $(AUTO_FILES_PROPERTIES_DIRS); do \
|
||||
if [ -d $$sdir ] ; then \
|
||||
$(FIND) $$sdir $(FILES_properties_find_filters1) \
|
||||
-name '*.properties' -print ; \
|
||||
fi ; \
|
||||
done \
|
||||
); \
|
||||
fi; \
|
||||
done \
|
||||
)
|
||||
else
|
||||
FILES_properties_auto1 =
|
||||
endif # AUTO_FILES_PROPERTIES_DIRS
|
||||
|
||||
# Add any automatically found properties files to the properties file list
|
||||
FILES_properties += $(FILES_properties_auto1)
|
||||
|
||||
#
|
||||
# Get Resources help
|
||||
#
|
||||
include $(JDK_TOPDIR)/make/common/internal/Resources.gmk
|
||||
|
||||
#
|
||||
# Compiling .java files.
|
||||
#
|
||||
|
||||
#
|
||||
# Automatically add to FILES_java if AUTO_FILES_JAVA_DIRS is defined
|
||||
#
|
||||
# There are two basic types of sources, normal source files and the
|
||||
# generated ones. The Normal sources will be located in:
|
||||
# $(ALL_CLASSES_SRC)
|
||||
# The generated sources, which might show up late to dinner, are at:
|
||||
# $(GENSRCDIR)
|
||||
# and since they could be generated late, we need to be careful that
|
||||
# we look for these sources late and not use the ':=' assignment which
|
||||
# might miss their generation.
|
||||
|
||||
ifdef AUTO_FILES_JAVA_DIRS
|
||||
# Filter out these files or directories
|
||||
AUTO_FILES_JAVA_SOURCE_FILTERS1 = $(SCM_DIRs) 'X-*' '*-X-*' '*-template.java' ',*'
|
||||
AUTO_FILES_JAVA_SOURCE_FILTERS2 =
|
||||
AUTO_FILES_JAVA_SOURCE_FILTERS1 += $(AUTO_JAVA_PRUNE)
|
||||
AUTO_FILES_JAVA_SOURCE_FILTERS2 += $(AUTO_JAVA_PRUNE)
|
||||
|
||||
# First list is the normal sources that should always be there,
|
||||
# by using the ':=', which means we do this processing once.
|
||||
FILES_java_find_filters1 = $(AUTO_FILES_JAVA_SOURCE_FILTERS1:%=-name % -prune -o)
|
||||
FILES_java_auto1 := \
|
||||
$(shell \
|
||||
for dir in $(ALL_CLASSES_SRC) ; do \
|
||||
if [ -d $$dir ] ; then \
|
||||
( $(CD) $$dir; \
|
||||
for sdir in $(AUTO_FILES_JAVA_DIRS); do \
|
||||
if [ -d $$sdir ] ; then \
|
||||
$(FIND) $$sdir $(FILES_java_find_filters1) \
|
||||
-name '*.java' -print ; \
|
||||
fi ; \
|
||||
done \
|
||||
); \
|
||||
fi; \
|
||||
done \
|
||||
)
|
||||
# Second list is the generated sources that should be rare, but will likely
|
||||
# show up late and we need to look for them at the last minute, so we
|
||||
# cannot use the ':=' assigment here. But if this gets expanded multiple
|
||||
# times, the if tests should make them relatively cheap.
|
||||
FILES_java_find_filters2 = $(AUTO_FILES_JAVA_SOURCE_FILTERS2:%=-name % -prune -o)
|
||||
FILES_java_auto2 = \
|
||||
$(shell \
|
||||
for dir in $(GENSRCDIR); do \
|
||||
if [ -d $$dir ] ; then \
|
||||
( $(CD) $$dir; \
|
||||
for sdir in $(AUTO_FILES_JAVA_DIRS); do \
|
||||
if [ -d $$sdir ] ; then \
|
||||
$(FIND) $$sdir $(FILES_java_find_filters2) \
|
||||
-name '*.java' -print ; \
|
||||
fi ; \
|
||||
done \
|
||||
); \
|
||||
fi; \
|
||||
done \
|
||||
)
|
||||
else
|
||||
FILES_java_auto1 =
|
||||
FILES_java_auto2 =
|
||||
endif
|
||||
|
||||
# Add all found java sources to FILES_java macro (if AUTO_FILES_JAVA_DIRS used)
|
||||
FILES_java += $(FILES_java_auto1) $(FILES_java_auto2)
|
||||
|
||||
# File that will hold java source names that need compiling
|
||||
JAVA_SOURCE_LIST=$(TEMPDIR)/.classes.list
|
||||
|
||||
# Add a java source to the list
|
||||
define add-java-file
|
||||
$(ECHO) "$?" >> $(JAVA_SOURCE_LIST)
|
||||
$(check-conventions)
|
||||
endef
|
||||
|
||||
ifdef DEMOS
|
||||
$(CLASSDESTDIR)/%.class: $(SOURCEPATH)/%.java
|
||||
@$(add-java-file)
|
||||
#Redirect zh_HK java files to tmp directory which created from zh_TW
|
||||
#$(CLASSDESTDIR)/%_zh_HK.class: $(JDK_L10N_TMP_OUTPUTDIR)/%_zh_HK.java
|
||||
# @$(add-java-file)
|
||||
else
|
||||
|
||||
#
|
||||
# Rules for closed files
|
||||
#
|
||||
# If filenames are duplicated between open/closed workspaces, prefer
|
||||
# the closed files.
|
||||
#
|
||||
# Rule ordering in this Makefile is important: some targets depend
|
||||
# on closed files replacing open ones, and thus the closed file rules
|
||||
# must be found before the open ones.
|
||||
#
|
||||
# Don't reorder without consulting teams that depend on this behavior.
|
||||
#
|
||||
ifndef OPENJDK
|
||||
$(CLASSDESTDIR)/%.class: $(CLOSED_PLATFORM_SRC)/classes/%.java
|
||||
@$(add-java-file)
|
||||
$(CLASSDESTDIR)/%.class: $(CLOSED_SHARE_SRC)/classes/%.java
|
||||
@$(add-java-file)
|
||||
endif
|
||||
|
||||
$(CLASSDESTDIR)/%.class: $(GENSRCDIR)/%.java
|
||||
@$(add-java-file)
|
||||
$(CLASSDESTDIR)/%.class: $(PLATFORM_SRC)/classes/%.java
|
||||
@$(add-java-file)
|
||||
$(CLASSDESTDIR)/%.class: $(SHARE_SRC)/classes/%.java
|
||||
@$(add-java-file)
|
||||
|
||||
#Redirect zh_HK java files to tmp directory which created from zh_TW
|
||||
$(CLASSDESTDIR)/%_zh_HK.class: $(JDK_L10N_TMP_OUTPUTDIR)/%_zh_HK.java
|
||||
@$(add-java-file)
|
||||
endif
|
||||
|
||||
# List of class files needed
|
||||
FILES_class = $(FILES_java:%.java=$(CLASSDESTDIR)/%.class)
|
||||
|
||||
# Got to include exported files.
|
||||
FILES_class += $(FILES_export:%.java=$(CLASSDESTDIR)/%.class)
|
||||
|
||||
# Construct list of java sources we need to compile
|
||||
source_list_prime:
|
||||
@$(MKDIR) -p $(TEMPDIR)
|
||||
# Note that we slip resources in so that compiled properties files get created:
|
||||
$(JAVA_SOURCE_LIST) : source_list_prime resources $(FILES_class)
|
||||
@$(TOUCH) $@
|
||||
|
||||
.delete.classlist:
|
||||
@$(RM) $(JAVA_SOURCE_LIST)
|
||||
|
||||
# Make sure all newer sources are compiled (in a batch)
|
||||
classes : $(CLASSES_INIT) .delete.classlist .compile.classlist
|
||||
|
||||
.compile.classlist : $(JAVA_SOURCE_LIST)
|
||||
@$(MKDIR) -p $(CLASSDESTDIR)
|
||||
@if [ `$(CAT) $(JAVA_SOURCE_LIST) | $(WC) -l` -ge 1 ] ; then \
|
||||
$(ECHO) "# Java sources to be compiled: (listed in file $(JAVA_SOURCE_LIST))"; \
|
||||
$(CAT) $(JAVA_SOURCE_LIST); \
|
||||
$(ECHO) "# Running javac:"; \
|
||||
$(ECHO) $(JAVAC_CMD) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
|
||||
$(JAVAC_CMD) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
|
||||
fi
|
||||
@$(java-vm-cleanup)
|
||||
|
||||
clobber clean::
|
||||
$(RM) $(JAVA_SOURCE_LIST)
|
||||
|
||||
ifndef DONT_CLOBBER_CLASSES
|
||||
ifndef PACKAGE
|
||||
DONT_CLOBBER_CLASSES = true
|
||||
else
|
||||
DONT_CLOBBER_CLASSES = false
|
||||
endif
|
||||
endif
|
||||
|
||||
packages.clean:
|
||||
ifeq ($(DONT_CLOBBER_CLASSES),false)
|
||||
ifdef AUTO_FILES_JAVA_DIRS
|
||||
@for sdir in $(AUTO_FILES_JAVA_DIRS); do \
|
||||
$(ECHO) "$(RM) -r $(CLASSDESTDIR)/$$sdir"; \
|
||||
$(RM) -r $(CLASSDESTDIR)/$$sdir; \
|
||||
done
|
||||
else
|
||||
$(RM) -r $(CLASSDESTDIR)/$(PKGDIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef DEMOS
|
||||
classes.clean:
|
||||
$(RM) -r $(DEMODST) $(CLASSDESTDIR)
|
||||
else
|
||||
classes.clean: packages.clean
|
||||
$(RM) $(JAVA_SOURCE_LIST)
|
||||
endif
|
||||
|
||||
#
|
||||
# C and C++ make dependencies
|
||||
#
|
||||
include $(JDK_TOPDIR)/make/common/internal/NativeCompileRules.gmk
|
||||
|
||||
#
|
||||
# Running Javah to generate stuff into CClassHeaders.
|
||||
#
|
||||
|
||||
ifdef FILES_export
|
||||
|
||||
CLASSES.export = $(subst /,.,$(FILES_export:%.java=%))
|
||||
CLASSES.export += $(subst /,.,$(FILES_export2:%.java=%))
|
||||
CLASSES.export += $(subst /,.,$(FILES_export3:%.java=%))
|
||||
CLASSES_export = $(FILES_export:%.java=$(CLASSDESTDIR)/%.class)
|
||||
CLASSES_export += $(FILES_export2:%.java=$(CLASSDESTDIR)/%.class)
|
||||
CLASSES_export += $(FILES_export3:%.java=$(CLASSDESTDIR)/%.class)
|
||||
|
||||
# Fix when deploy workspace makefiles don't depend on this name
|
||||
#CLASSHDR_DOTFILE=$(CLASSHDRDIR)/.classheaders
|
||||
|
||||
CLASSHDR_DOTFILE=$(OBJDIR)/.class.headers.$(ARCH)
|
||||
|
||||
classheaders: classes $(CLASSHDR_DOTFILE)
|
||||
|
||||
$(CLASSHDR_DOTFILE): $(CLASSES_export)
|
||||
$(prep-target)
|
||||
@$(ECHO) "# Running javah:"
|
||||
$(JAVAH_CMD) -d $(CLASSHDRDIR)/ \
|
||||
$(CLASSES.export) $(subst $$,\$$,$(EXPORTED_inner))
|
||||
@$(java-vm-cleanup)
|
||||
@$(TOUCH) $@
|
||||
|
||||
classheaders.clean:
|
||||
$(RM) $(CLASSHDR_DOTFILE)
|
||||
$(RM) -r $(CLASSHDRDIR)
|
||||
|
||||
else # FILES_export
|
||||
|
||||
classheaders: classes
|
||||
|
||||
classheaders.clean:
|
||||
|
||||
endif # FILES_export
|
||||
|
||||
clean clobber:: classheaders.clean classes.clean .delete.classlist
|
||||
|
||||
#
|
||||
# Default dependencies
|
||||
#
|
||||
|
||||
all: build
|
||||
|
||||
build: classheaders
|
||||
|
||||
default: all
|
||||
|
||||
.PHONY: all build clean clobber \
|
||||
.delete.classlist classes .compile.classlist classes.clean \
|
||||
classheaders classheaders.clean \
|
||||
batch_compile
|
||||
|
124
jdk/make/common/Sanity.gmk
Normal file
124
jdk/make/common/Sanity.gmk
Normal file
@ -0,0 +1,124 @@
|
||||
#
|
||||
# Copyright 2001-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# Settings and rules to validate the JDK build environment.
|
||||
|
||||
.PHONY: \
|
||||
pre-sanity \
|
||||
sanity \
|
||||
sanity-base \
|
||||
sanity-docs \
|
||||
sanity-images \
|
||||
post-sanity-all \
|
||||
post-sanity-docs \
|
||||
post-sanity-images \
|
||||
sanity-all
|
||||
|
||||
# Bring in common sanity check rules
|
||||
include $(JDK_MAKE_SHARED_DIR)/Sanity.gmk
|
||||
|
||||
# EXTERNALSANITYCONTROL means that this workspace build is being controlled by
|
||||
# the control workspace, and that workspace is managing what is done to the sanity
|
||||
# check files, and this sanity check run is only appending to those files.
|
||||
|
||||
pre-sanity: $(SANITY_FILES)
|
||||
ifndef EXTERNALSANITYCONTROL
|
||||
@$(RM) $(SANITY_FILES)
|
||||
endif
|
||||
|
||||
sanity-base: pre-sanity \
|
||||
sane-settings \
|
||||
sane-insane \
|
||||
sane-make \
|
||||
sane-build_number \
|
||||
sane-os_version \
|
||||
sane-makeflags \
|
||||
sane-alt_outputdir \
|
||||
sane-outputdir \
|
||||
sane-devtools_path \
|
||||
sane-compiler_path \
|
||||
sane-unixcommand_path \
|
||||
sane-usrbin_path \
|
||||
sane-math_iso \
|
||||
sane-libCrun \
|
||||
sane-unixccs_path \
|
||||
sane-odbcdir \
|
||||
sane-msdevtools_path \
|
||||
sane-dxsdk \
|
||||
sane-compiler \
|
||||
sane-cacerts \
|
||||
sane-ant_version \
|
||||
sane-findbugs_version \
|
||||
sane-zip_version \
|
||||
sane-msvcrt_path
|
||||
|
||||
# The rules sanity-* have a one-to-one correspondence with the major targets
|
||||
# Each sanity-* rule should have no body to ensure that the post-sanity-* is the
|
||||
# last rule executed. The pre-sanity rule should be the first dependency. This design
|
||||
# expects the execution of pre-sanity only once per gnumake command invocation,
|
||||
# thus, info written to ERROR_FILE and/or WARNING_FILE will not be removed by subsequent
|
||||
# targets in the same 'gnumake' command line.
|
||||
|
||||
sanity-all:: sanity-base \
|
||||
sane-classpath \
|
||||
sane-java_home \
|
||||
sane-fonts \
|
||||
sane-binary-plugs \
|
||||
sane-variant \
|
||||
sane-ld_library_path \
|
||||
sane-ld_library_path_64 \
|
||||
sane-ld_options \
|
||||
sane-ld_run_path \
|
||||
sane-alt_bootdir \
|
||||
sane-bootdir \
|
||||
sane-alsa-headers
|
||||
|
||||
ifdef OPENJDK
|
||||
sanity-all:: sane-freetype
|
||||
endif
|
||||
|
||||
|
||||
# Always check cups header paths on solaris & linux
|
||||
ifneq ($(PLATFORM), windows)
|
||||
sanity-all:: \
|
||||
sane-cups
|
||||
endif
|
||||
|
||||
# Always check hotspot binary paths even if we are building them from scratch
|
||||
HOTSPOT_IMPORT_CHECK=true
|
||||
ifeq ($(HOTSPOT_IMPORT_CHECK),true)
|
||||
sanity-all:: \
|
||||
sane-hotspot_binaries \
|
||||
sane-hotspot_import
|
||||
endif
|
||||
|
||||
sanity-docs: sanity-base sane-docs_import
|
||||
|
||||
sanity-images:: sanity-base
|
||||
|
||||
sanity:: sanity-all post-sanity
|
||||
|
||||
# this should be the last rule in any target's sanity rule.
|
||||
post-sanity post-sanity-all post-sanity-docs post-sanity-images: sane-lastrule
|
396
jdk/make/common/internal/BinaryPlugs.gmk
Normal file
396
jdk/make/common/internal/BinaryPlugs.gmk
Normal file
@ -0,0 +1,396 @@
|
||||
#
|
||||
# Copyright 2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
########################################################################
|
||||
|
||||
# Definitions for openjdk plugs (used by both import and export)
|
||||
|
||||
# Names of native shared libraries
|
||||
|
||||
PLUG_JSOUND_LIBRARY=$(LIB_PREFIX)jsoundhs.$(LIBRARY_SUFFIX)
|
||||
PLUG_LIBRARY_NAMES = \
|
||||
$(PLUG_JSOUND_LIBRARY)
|
||||
|
||||
# Sub-directory where native shared libraries are located (e.g. jre/bin or...)
|
||||
|
||||
PLUG_LOCATION_SUBDIR=$(ARCH_VM_SUBDIR)
|
||||
|
||||
# Explicit classfile lists
|
||||
|
||||
# WARNING: These classlists will not work with pattern rules, only used in
|
||||
# shell commands.
|
||||
# The \$$ patterns will fail in pattern rules, which want $$,
|
||||
# but the $$ fails in shell commands.
|
||||
# The shell commands are more important.
|
||||
# Also, the $1 pattern in these names causes problems with the
|
||||
# GNU make define feature, so you can't use these in define's.
|
||||
|
||||
PLUG_JMF_CLASS_NAMES = \
|
||||
com/sun/jmx/snmp/SnmpDataTypeEnums.class \
|
||||
com/sun/jmx/snmp/SnmpDefinitions.class \
|
||||
com/sun/jmx/snmp/SnmpOid.class \
|
||||
com/sun/jmx/snmp/SnmpOidDatabase.class \
|
||||
com/sun/jmx/snmp/SnmpOidDatabaseSupport.class \
|
||||
com/sun/jmx/snmp/SnmpOidRecord.class \
|
||||
com/sun/jmx/snmp/SnmpOidTable.class \
|
||||
com/sun/jmx/snmp/SnmpOidTableSupport.class \
|
||||
com/sun/jmx/snmp/SnmpParameters.class \
|
||||
com/sun/jmx/snmp/SnmpPduPacket.class \
|
||||
com/sun/jmx/snmp/SnmpPeer.class \
|
||||
com/sun/jmx/snmp/SnmpTimeticks.class \
|
||||
com/sun/jmx/snmp/SnmpVarBind.class \
|
||||
com/sun/jmx/snmp/SnmpVarBindList.class \
|
||||
com/sun/jmx/snmp/Timestamp.class \
|
||||
com/sun/jmx/snmp/daemon/SendQ.class \
|
||||
com/sun/jmx/snmp/daemon/SnmpInformRequest.class \
|
||||
com/sun/jmx/snmp/daemon/SnmpQManager.class \
|
||||
com/sun/jmx/snmp/daemon/SnmpRequestCounter.class \
|
||||
com/sun/jmx/snmp/daemon/SnmpResponseHandler.class \
|
||||
com/sun/jmx/snmp/daemon/SnmpSendServer.class \
|
||||
com/sun/jmx/snmp/daemon/SnmpSession.class \
|
||||
com/sun/jmx/snmp/daemon/SnmpSocket.class \
|
||||
com/sun/jmx/snmp/daemon/SnmpTimerServer.class \
|
||||
com/sun/jmx/snmp/daemon/WaitQ.class
|
||||
|
||||
PLUG_SOUND_CLASS_NAMES = \
|
||||
com/sun/media/sound/AbstractPlayer.class \
|
||||
com/sun/media/sound/CircularBuffer.class \
|
||||
com/sun/media/sound/HeadspaceInstrument.class \
|
||||
com/sun/media/sound/HeadspaceMixer\$$1.class \
|
||||
com/sun/media/sound/HeadspaceMixer\$$MidiLine.class \
|
||||
com/sun/media/sound/HeadspaceMixer\$$MidiLineInfo.class \
|
||||
com/sun/media/sound/HeadspaceMixer\$$MixerInfo.class \
|
||||
com/sun/media/sound/HeadspaceMixer\$$MixerReverbControl\$$MixerReverbType.class \
|
||||
com/sun/media/sound/HeadspaceMixer\$$MixerReverbControl.class \
|
||||
com/sun/media/sound/HeadspaceMixer.class \
|
||||
com/sun/media/sound/HeadspaceMixerProvider.class \
|
||||
com/sun/media/sound/HeadspaceSample.class \
|
||||
com/sun/media/sound/HeadspaceSoundbank.class \
|
||||
com/sun/media/sound/HsbParser.class \
|
||||
com/sun/media/sound/MixerClip\$$1.class \
|
||||
com/sun/media/sound/MixerClip\$$MixerClipApplyReverbControl.class \
|
||||
com/sun/media/sound/MixerClip\$$MixerClipGainControl.class \
|
||||
com/sun/media/sound/MixerClip\$$MixerClipMuteControl.class \
|
||||
com/sun/media/sound/MixerClip\$$MixerClipPanControl.class \
|
||||
com/sun/media/sound/MixerClip\$$MixerClipSampleRateControl.class \
|
||||
com/sun/media/sound/MixerClip.class \
|
||||
com/sun/media/sound/MixerMidiChannel.class \
|
||||
com/sun/media/sound/MixerSequencer\$$1.class \
|
||||
com/sun/media/sound/MixerSequencer\$$ControllerVectorElement.class \
|
||||
com/sun/media/sound/MixerSequencer\$$MixerSequencerInfo.class \
|
||||
com/sun/media/sound/MixerSequencer\$$RecordingTrack.class \
|
||||
com/sun/media/sound/MixerSequencer.class \
|
||||
com/sun/media/sound/MixerSequencerProvider.class \
|
||||
com/sun/media/sound/MixerSourceLine\$$1.class \
|
||||
com/sun/media/sound/MixerSourceLine\$$MixerSourceLineApplyReverbControl.class \
|
||||
com/sun/media/sound/MixerSourceLine\$$MixerSourceLineGainControl.class \
|
||||
com/sun/media/sound/MixerSourceLine\$$MixerSourceLineMuteControl.class \
|
||||
com/sun/media/sound/MixerSourceLine\$$MixerSourceLinePanControl.class \
|
||||
com/sun/media/sound/MixerSourceLine\$$MixerSourceLineSampleRateControl.class \
|
||||
com/sun/media/sound/MixerSourceLine.class \
|
||||
com/sun/media/sound/MixerSynth\$$1.class \
|
||||
com/sun/media/sound/MixerSynth\$$MixerSynthInfo.class \
|
||||
com/sun/media/sound/MixerSynth\$$SynthReceiver.class \
|
||||
com/sun/media/sound/MixerSynth.class \
|
||||
com/sun/media/sound/MixerSynthProvider.class \
|
||||
com/sun/media/sound/MixerThread.class \
|
||||
com/sun/media/sound/RmfFileReader.class \
|
||||
com/sun/media/sound/SimpleInputDevice\$$1.class \
|
||||
com/sun/media/sound/SimpleInputDevice\$$InputDeviceDataLine.class \
|
||||
com/sun/media/sound/SimpleInputDevice\$$InputDevicePort.class \
|
||||
com/sun/media/sound/SimpleInputDevice\$$InputDevicePortInfo.class \
|
||||
com/sun/media/sound/SimpleInputDevice.class \
|
||||
com/sun/media/sound/SimpleInputDeviceProvider\$$1.class \
|
||||
com/sun/media/sound/SimpleInputDeviceProvider\$$InputDeviceInfo.class \
|
||||
com/sun/media/sound/SimpleInputDeviceProvider.class
|
||||
|
||||
PLUG_AWT_CLASS_NAMES = \
|
||||
java/awt/color/CMMException.class \
|
||||
java/awt/color/ColorSpace.class \
|
||||
java/awt/color/ICC_ColorSpace.class \
|
||||
java/awt/color/ICC_Profile\$$1.class \
|
||||
java/awt/color/ICC_Profile\$$2.class \
|
||||
java/awt/color/ICC_Profile\$$3.class \
|
||||
java/awt/color/ICC_Profile.class \
|
||||
java/awt/color/ICC_ProfileGray.class \
|
||||
java/awt/color/ICC_ProfileRGB.class \
|
||||
java/awt/image/BandedSampleModel.class \
|
||||
java/awt/image/ColorConvertOp.class \
|
||||
java/awt/image/ComponentSampleModel.class \
|
||||
java/awt/image/DataBuffer\$$1.class \
|
||||
java/awt/image/DataBuffer.class \
|
||||
java/awt/image/DataBufferByte.class \
|
||||
java/awt/image/DataBufferInt.class \
|
||||
java/awt/image/DataBufferShort.class \
|
||||
java/awt/image/DataBufferUShort.class \
|
||||
java/awt/image/MultiPixelPackedSampleModel.class \
|
||||
java/awt/image/Raster.class \
|
||||
java/awt/image/RenderedImage.class \
|
||||
java/awt/image/SampleModel.class \
|
||||
java/awt/image/SinglePixelPackedSampleModel.class \
|
||||
java/awt/image/WritableRaster.class \
|
||||
java/awt/image/WritableRenderedImage.class \
|
||||
java/awt/image/renderable/ContextualRenderedImageFactory.class \
|
||||
java/awt/image/renderable/ParameterBlock.class \
|
||||
java/awt/image/renderable/RenderContext.class \
|
||||
java/awt/image/renderable/RenderableImage.class \
|
||||
java/awt/image/renderable/RenderableImageOp.class \
|
||||
java/awt/image/renderable/RenderableImageProducer.class \
|
||||
java/awt/image/renderable/RenderedImageFactory.class
|
||||
|
||||
# Class list temp files (used by both import and export of plugs)
|
||||
|
||||
PLUG_TEMPDIR=$(ABS_TEMPDIR)/plugs
|
||||
PLUG_CLASS_AREAS = jmf sound awt
|
||||
PLUG_CLISTS = $(PLUG_CLASS_AREAS:%=$(PLUG_TEMPDIR)/%.clist)
|
||||
|
||||
# Create jargs file command
|
||||
|
||||
define plug-create-jargs
|
||||
@$(prep-target)
|
||||
$(SED) -e "s@^@-C $(CLASSDESTDIR) @" $< > $@
|
||||
endef # plug-create-clist-jargs
|
||||
|
||||
# Create clist (class name list) and jargs file (input to jar)
|
||||
# Need these files to avoid long command lines which fail on some systems.
|
||||
|
||||
$(PLUG_TEMPDIR)/jmf.clist:
|
||||
@$(prep-target)
|
||||
@for i in $(PLUG_JMF_CLASS_NAMES) ; do \
|
||||
$(ECHO) "$$i" >> $@; \
|
||||
done
|
||||
$(PLUG_TEMPDIR)/sound.clist:
|
||||
@$(prep-target)
|
||||
@for i in $(PLUG_SOUND_CLASS_NAMES) ; do \
|
||||
$(ECHO) "$$i" >> $@ ; \
|
||||
done
|
||||
$(PLUG_TEMPDIR)/awt.clist:
|
||||
@$(prep-target)
|
||||
@for i in $(PLUG_AWT_CLASS_NAMES) ; do \
|
||||
$(ECHO) "$$i" >> $@ ; \
|
||||
done
|
||||
$(PLUG_TEMPDIR)/all.clist: $(PLUG_CLISTS)
|
||||
@$(prep-target)
|
||||
$(CAT) $(PLUG_CLISTS) > $@
|
||||
$(PLUG_TEMPDIR)/jmf.jargs: $(PLUG_TEMPDIR)/jmf.clist
|
||||
$(plug-create-jargs)
|
||||
$(PLUG_TEMPDIR)/sound.jargs: $(PLUG_TEMPDIR)/sound.clist
|
||||
$(plug-create-jargs)
|
||||
$(PLUG_TEMPDIR)/awt.jargs: $(PLUG_TEMPDIR)/awt.clist
|
||||
$(plug-create-jargs)
|
||||
$(PLUG_TEMPDIR)/all.jargs: $(PLUG_TEMPDIR)/all.clist
|
||||
$(plug-create-jargs)
|
||||
|
||||
#
|
||||
# Specific to OPENJDK import of binary plugs
|
||||
#
|
||||
|
||||
ifdef OPENJDK
|
||||
|
||||
# Import
|
||||
|
||||
PLUG_IMPORT_DIR=$(BINARY_PLUGS_PATH)
|
||||
PLUG_IMPORT_JARFILE=$(BINARY_PLUGS_JARFILE)
|
||||
|
||||
# Import file command
|
||||
|
||||
define import-binary-plug-file
|
||||
@$(ECHO) "PLUG IMPORT: $(@F)"
|
||||
$(install-file)
|
||||
endef # import-binary-plug-file
|
||||
|
||||
# Import classes command
|
||||
|
||||
define import-binary-plug-classes
|
||||
@$(MKDIR) -p $(CLASSDESTDIR)
|
||||
@$(CAT) $1 | $(SED) -e 's/^/PLUG IMPORT: /'
|
||||
($(CD) $(CLASSDESTDIR) && $(BOOT_JAR_CMD) xf $(PLUG_IMPORT_JARFILE) @$1)
|
||||
endef # import-binary-plug-classes
|
||||
|
||||
# Import specific area classes (the classes are always created)
|
||||
|
||||
import-binary-plug-jmf-classes: $(PLUG_IMPORT_JARFILE) $(PLUG_TEMPDIR)/jmf.clist
|
||||
$(call import-binary-plug-classes,$(PLUG_TEMPDIR)/jmf.clist)
|
||||
import-binary-plug-sound-classes: $(PLUG_IMPORT_JARFILE) $(PLUG_TEMPDIR)/sound.clist
|
||||
$(call import-binary-plug-classes,$(PLUG_TEMPDIR)/sound.clist)
|
||||
import-binary-plug-awt-classes: $(PLUG_IMPORT_JARFILE) $(PLUG_TEMPDIR)/awt.clist
|
||||
$(call import-binary-plug-classes,$(PLUG_TEMPDIR)/awt.clist)
|
||||
|
||||
# Import all classes from the jar file
|
||||
|
||||
import-binary-plug-jar: \
|
||||
import-binary-plug-jmf-classes \
|
||||
import-binary-plug-sound-classes \
|
||||
import-binary-plug-awt-classes
|
||||
|
||||
# Import native libraries
|
||||
|
||||
$(LIB_LOCATION)/$(PLUG_JSOUND_LIBRARY): \
|
||||
$(PLUG_IMPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/$(PLUG_JSOUND_LIBRARY)
|
||||
$(import-binary-plug-file)
|
||||
|
||||
# Rules only used by lower level makefiles
|
||||
|
||||
import-binary-plug-jsound-library: \
|
||||
$(LIB_LOCATION)/$(PLUG_JSOUND_LIBRARY)
|
||||
|
||||
# Binary plug start/complete messages
|
||||
|
||||
import-binary-plugs-started:
|
||||
@$(ECHO) "BinaryPlugs import started: `date`"
|
||||
@$(ECHO) "BINARY_PLUGS_PATH=$(BINARY_PLUGS_PATH)"
|
||||
import-binary-plugs-completed:
|
||||
@$(ECHO) "BinaryPlugs import completed: `date`"
|
||||
|
||||
# Import lib files (only if they don't exist already)
|
||||
|
||||
import-binary-plugs-libs: \
|
||||
$(PLUG_LIBRARY_NAMES:%=$(LIB_LOCATION)/%)
|
||||
|
||||
# Import everything
|
||||
|
||||
import-binary-plugs: \
|
||||
import-binary-plugs-started \
|
||||
import-binary-plugs-libs \
|
||||
import-binary-plug-jar \
|
||||
import-binary-plugs-completed
|
||||
|
||||
# All these targets are phony (no filenames)
|
||||
|
||||
.PHONY: import-binary-plugs-started \
|
||||
import-binary-plugs-completed \
|
||||
import-binary-plugs-libs \
|
||||
import-binary-plugs \
|
||||
import-binary-plug-jar \
|
||||
import-binary-plug-jmf-classes \
|
||||
import-binary-plug-sound-classes \
|
||||
import-binary-plug-awt-classes \
|
||||
import-binary-plug-jsound-library
|
||||
|
||||
else # !OPENJDK
|
||||
|
||||
#
|
||||
# Specific to exporting binary plugs for OPENJDK (e.g. OPENJDK is NOT defined)
|
||||
#
|
||||
|
||||
# Export names (See make/common/Defs.gmk for BINARY_PLUGS_JARNAME definition)
|
||||
|
||||
PLUG_EXPORT_DIRNAME=openjdk-binary-plugs-image
|
||||
PLUG_EXPORT_DIR=$(OUTPUTDIR)/$(PLUG_EXPORT_DIRNAME)
|
||||
PLUG_EXPORT_JARFILE=$(PLUG_EXPORT_DIR)/jre/lib/$(BINARY_PLUGS_JARNAME)
|
||||
|
||||
# Export file command
|
||||
|
||||
define export-binary-plug-file
|
||||
@$(ECHO) "PLUG EXPORT: $(@F)"
|
||||
$(install-file)
|
||||
endef # export-binary-plug-file
|
||||
|
||||
# OpenJDK Binary Plug License
|
||||
|
||||
$(PLUG_EXPORT_DIR)/LICENSE: $(CLOSED_SHARE_SRC)/doc/openjdk/binary-plugs/LICENSE
|
||||
$(export-binary-plug-file)
|
||||
export-binary-plugs-license: $(PLUG_EXPORT_DIR)/LICENSE
|
||||
|
||||
# Create jar file of plug classes (always created)
|
||||
|
||||
$(PLUG_EXPORT_JARFILE): $(PLUG_TEMPDIR)/all.clist $(PLUG_TEMPDIR)/all.jargs
|
||||
@$(prep-target)
|
||||
@$(ECHO) "PLUG EXPORT: $(@F)"
|
||||
@$(CAT) $(PLUG_TEMPDIR)/all.clist | $(SED) -e 's/^/PLUG EXPORT: /'
|
||||
$(BOOT_JAR_CMD) cf $@ @$(PLUG_TEMPDIR)/all.jargs
|
||||
export-binary-plugs-jar: $(PLUG_EXPORT_JARFILE)
|
||||
|
||||
# Export native libraries
|
||||
|
||||
$(PLUG_EXPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/$(PLUG_JSOUND_LIBRARY): \
|
||||
$(LIB_LOCATION)/$(PLUG_JSOUND_LIBRARY)
|
||||
$(export-binary-plug-file)
|
||||
|
||||
# Export binary plug start/complete messages
|
||||
|
||||
export-binary-plugs-started:
|
||||
@$(ECHO) "BinaryPlugs export started: `date`"
|
||||
@$(ECHO) "PLUG_EXPORT_DIR=$(PLUG_EXPORT_DIR)"
|
||||
$(RM) -r $(PLUG_EXPORT_DIR)
|
||||
@$(MKDIR) -p $(PLUG_EXPORT_DIR)
|
||||
@$(MKDIR) -p $(PLUG_TEMPDIR)
|
||||
export-binary-plugs-completed:
|
||||
@$(RM) -r $(PLUG_TEMPDIR)
|
||||
@$(ECHO) "BinaryPlugs export completed: `date`"
|
||||
|
||||
# Export lib files (only if they don't exist already)
|
||||
|
||||
export-binary-plugs-libs: \
|
||||
$(PLUG_LIBRARY_NAMES:%=$(PLUG_EXPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/%)
|
||||
|
||||
# Export everything
|
||||
|
||||
export-binary-plugs: \
|
||||
export-binary-plugs-started \
|
||||
export-binary-plugs-libs \
|
||||
export-binary-plugs-license \
|
||||
export-binary-plugs-jar \
|
||||
export-binary-plugs-completed
|
||||
|
||||
# All these targets are phony (no filenames)
|
||||
|
||||
.PHONY: export-binary-plugs-started \
|
||||
export-binary-plugs-license \
|
||||
export-binary-plugs-jar \
|
||||
export-binary-plugs-libs \
|
||||
export-binary-plugs-completed \
|
||||
export-binary-plugs
|
||||
|
||||
# Rules that test the export and import of plugs (only when you can export)
|
||||
|
||||
TEST_OUTPUTDIR=$(ABS_OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-testing-plugs
|
||||
TEST_PLUG_COPY=$(TEST_OUTPUTDIR)/$(PLUG_EXPORT_DIRNAME)-testcopy
|
||||
|
||||
# Run export-binary-plugs first, then use this rule to test an import
|
||||
|
||||
test-binary-plugs: $(TEST_PLUG_COPY)
|
||||
$(RM) -r $(TEST_OUTPUTDIR)/$(PLUG_EXPORT_DIRNAME)
|
||||
$(MKDIR) -p $(TEST_OUTPUTDIR)
|
||||
@$(ECHO) "Testing import of plugs"
|
||||
($(CD) $(JDK_TOPDIR)/make && \
|
||||
$(MAKE) OPENJDK=true \
|
||||
ALT_OUTPUTDIR=$(TEST_OUTPUTDIR) \
|
||||
ALT_JDK_IMPORT_PATH=$(JDK_IMPORT_PATH) \
|
||||
ALT_BINARY_PLUGS_PATH=$(TEST_PLUG_COPY) \
|
||||
import-binary-plugs )
|
||||
$(RM) -r $(TEST_OUTPUTDIR)
|
||||
@$(ECHO) "Testing of plugs was successful"
|
||||
|
||||
$(TEST_PLUG_COPY):
|
||||
@$(ECHO) "Creating test plug copy"
|
||||
$(RM) -r $@
|
||||
$(MKDIR) -p $(@D)
|
||||
$(CP) -r -p $(PLUG_EXPORT_DIR) $@
|
||||
|
||||
.PHONY: test-binary-plugs
|
||||
|
||||
endif # !OPENJDK
|
||||
|
63
jdk/make/common/internal/Defs-corba.gmk
Normal file
63
jdk/make/common/internal/Defs-corba.gmk
Normal file
@ -0,0 +1,63 @@
|
||||
#
|
||||
# Copyright 1997-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# The specific packages that come from or go to rt.jar and tools.jar
|
||||
IMPORT_RT_PACKAGES += \
|
||||
org/omg/CORBA \
|
||||
org/omg/CORBA_2_3 \
|
||||
org/omg/CosNaming \
|
||||
org/omg/Dynamic \
|
||||
org/omg/DynamicAny \
|
||||
org/omg/IOP \
|
||||
org/omg/Messaging \
|
||||
org/omg/PortableInterceptor \
|
||||
org/omg/PortableServer \
|
||||
org/omg/SendingContext \
|
||||
org/omg/stub/java/rmi \
|
||||
javax/rmi \
|
||||
javax/rmi/CORBA \
|
||||
javax/activity \
|
||||
javax/transaction \
|
||||
com/sun/corba/se/GiopIDL \
|
||||
com/sun/corba/se/PortableActivationIDL \
|
||||
com/sun/corba/se/impl \
|
||||
com/sun/corba/se/internal \
|
||||
com/sun/corba/se/org/omg/CORBA \
|
||||
com/sun/corba/se/pept \
|
||||
com/sun/corba/se/spi \
|
||||
com/sun/org/omg/CORBA \
|
||||
com/sun/org/omg/SendingContext \
|
||||
com/sun/tools/corba/se/logutil \
|
||||
sun/corba \
|
||||
sun/rmi/rmic/iiop
|
||||
|
||||
IMPORT_TOOLS_PACKAGES += \
|
||||
com/sun/tools/corba/se/idl \
|
||||
sun/rmi/rmic/iiop
|
||||
|
||||
IMPORT_CORBA_BINARIES += \
|
||||
lib/orb.idl \
|
||||
lib/ir.idl
|
||||
|
53
jdk/make/common/internal/Defs-jaxp.gmk
Normal file
53
jdk/make/common/internal/Defs-jaxp.gmk
Normal file
@ -0,0 +1,53 @@
|
||||
#
|
||||
# Copyright 1997-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# The specific packages that come from or go to rt.jar and tools.jar
|
||||
IMPORT_RT_PACKAGES += \
|
||||
org/w3c/dom \
|
||||
org/xml/sax \
|
||||
javax/xml/XMLConstants.class \
|
||||
javax/xml/datatype \
|
||||
javax/xml/namespace \
|
||||
javax/xml/parsers \
|
||||
javax/xml/stream \
|
||||
javax/xml/transform \
|
||||
javax/xml/validation \
|
||||
javax/xml/xpath \
|
||||
com/sun/java_cup \
|
||||
com/sun/org/apache/bcel \
|
||||
com/sun/org/apache/regexp \
|
||||
com/sun/org/apache/xalan \
|
||||
com/sun/org/apache/xerces \
|
||||
com/sun/org/apache/xml/internal/dtm \
|
||||
com/sun/org/apache/xml/internal/res \
|
||||
com/sun/org/apache/xml/internal/resolver \
|
||||
com/sun/org/apache/xml/internal/serialize \
|
||||
com/sun/org/apache/xml/internal/serializer \
|
||||
com/sun/org/apache/xml/internal/utils \
|
||||
com/sun/org/apache/xpath \
|
||||
com/sun/xml/internal/stream
|
||||
|
||||
IMPORT_TOOLS_PACKAGES +=
|
||||
|
60
jdk/make/common/internal/Defs-jaxws.gmk
Normal file
60
jdk/make/common/internal/Defs-jaxws.gmk
Normal file
@ -0,0 +1,60 @@
|
||||
#
|
||||
# Copyright 1997-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# The specific packages that come from or go to rt.jar and tools.jar
|
||||
IMPORT_RT_PACKAGES += \
|
||||
META-INF/mailcap.default \
|
||||
META-INF/mimetypes.default \
|
||||
javax/activation \
|
||||
com/sun/activation \
|
||||
javax/xml/bind \
|
||||
javax/xml/soap \
|
||||
javax/xml/ws \
|
||||
javax/jws \
|
||||
javax/annotation \
|
||||
com/sun/istack/internal \
|
||||
com/sun/xml/internal/bind \
|
||||
com/sun/xml/internal/fastinfoset \
|
||||
com/sun/xml/internal/messaging \
|
||||
com/sun/xml/internal/org/jvnet \
|
||||
com/sun/xml/internal/txw2 \
|
||||
com/sun/xml/internal/ws \
|
||||
com/sun/xml/internal/stream/buffer
|
||||
NOT_USED_PACKAGES += \
|
||||
com/sun/tools/internal/txw2
|
||||
|
||||
IMPORT_TOOLS_PACKAGES += \
|
||||
com/sun/codemodel \
|
||||
com/sun/istack/internal/tools \
|
||||
com/sun/istack/internal/ws \
|
||||
com/sun/xml/internal/rngom \
|
||||
com/sun/xml/internal/xsom \
|
||||
com/sun/xml/internal/dtdparser \
|
||||
com/sun/tools/internal/xjc \
|
||||
com/sun/tools/internal/ws \
|
||||
com/sun/tools/internal/jxc \
|
||||
META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory \
|
||||
META-INF/services/com.sun.tools.xjc.Plugin
|
||||
|
43
jdk/make/common/internal/Defs-langtools.gmk
Normal file
43
jdk/make/common/internal/Defs-langtools.gmk
Normal file
@ -0,0 +1,43 @@
|
||||
#
|
||||
# Copyright 1997-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# The specific packages that come from or go to rt.jar and tools.jar
|
||||
|
||||
IMPORT_RT_PACKAGES += \
|
||||
javax/annotation/processing \
|
||||
javax/lang/model \
|
||||
javax/tools
|
||||
|
||||
IMPORT_TOOLS_PACKAGES += \
|
||||
com/sun/mirror \
|
||||
com/sun/source \
|
||||
com/sun/tools/apt \
|
||||
com/sun/tools/javac \
|
||||
com/sun/tools/javah \
|
||||
com/sun/tools/javadoc \
|
||||
com/sun/tools/doclets \
|
||||
com/sun/javadoc \
|
||||
sun/tools/javap
|
||||
|
172
jdk/make/common/internal/ImportComponents.gmk
Normal file
172
jdk/make/common/internal/ImportComponents.gmk
Normal file
@ -0,0 +1,172 @@
|
||||
#
|
||||
# Copyright 1997-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
# JDK jars where component classes come from as second choice
|
||||
JDK_RT_JAR = $(JDK_IMPORT_PATH)/jre/lib/rt.jar
|
||||
JDK_TOOLS_JAR = $(JDK_IMPORT_PATH)/lib/tools.jar
|
||||
JDK_RESOURCES_JAR = $(JDK_IMPORT_PATH)/jre/lib/resources.jar
|
||||
|
||||
# The specific packages that come from or go to rt.jar and tools.jar
|
||||
# IF the component deliverables are not available.
|
||||
IMPORT_TOOLS_PACKAGES =
|
||||
IMPORT_RT_PACKAGES =
|
||||
|
||||
# The following will add to IMPORT_TOOLS_PACKAGES and/or IMPORT_RT_PACKAGES
|
||||
ifndef LANGTOOLS_DIST
|
||||
include $(BUILDDIR)/common/internal/Defs-langtools.gmk
|
||||
endif
|
||||
ifndef CORBA_DIST
|
||||
include $(BUILDDIR)/common/internal/Defs-corba.gmk
|
||||
endif
|
||||
ifndef JAXP_DIST
|
||||
include $(BUILDDIR)/common/internal/Defs-jaxp.gmk
|
||||
endif
|
||||
ifndef JAXWS_DIST
|
||||
include $(BUILDDIR)/common/internal/Defs-jaxws.gmk
|
||||
endif
|
||||
|
||||
# Clean up these lists so empty lists are empty
|
||||
IMPORT_TOOLS_PACKAGES := $(strip $(IMPORT_TOOLS_PACKAGES))
|
||||
IMPORT_RT_PACKAGES := $(strip $(IMPORT_RT_PACKAGES))
|
||||
|
||||
# Relative paths to import component deliverables
|
||||
CLASSES_JAR_FILE=lib/classes.jar
|
||||
SRC_ZIP_FILE=lib/src.zip
|
||||
BIN_ZIP_FILE=lib/bin.zip
|
||||
DOC_ZIP_FILE=lib/doc.zip
|
||||
|
||||
#################################################################
|
||||
# Macros:
|
||||
|
||||
# Importing component class files
|
||||
define import-one-classes
|
||||
@if [ "$($1)" != "" ] ; then \
|
||||
$(ECHO) "Importing classes from component $1"; \
|
||||
$(call Unjar,$2,$($1)/$(CLASSES_JAR_FILE),); \
|
||||
fi
|
||||
endef
|
||||
|
||||
# Importing optional component doc files (for man pages?)
|
||||
define import-one-docs
|
||||
@if [ "$($1)" != "" -a -f $($1)/$(DOC_ZIP_FILE) ] ; then \
|
||||
$(ECHO) "Importing docs from component $1"; \
|
||||
$(call Unzipper,$2,$($1)/$(DOC_ZIP_FILE)); \
|
||||
fi
|
||||
endef
|
||||
|
||||
# Importing optional component src files (for jdk src.zip and javadoc)
|
||||
define import-one-sources
|
||||
@if [ "$($1)" != "" ] ; then \
|
||||
$(ECHO) "Importing sources from component $1"; \
|
||||
$(call Unzipper,$2,$($1)/$(SRC_ZIP_FILE)); \
|
||||
fi
|
||||
endef
|
||||
|
||||
# Importing optional component bin files (for install image)
|
||||
define import-one-binaries
|
||||
@if [ "$($1)" != "" -a -f $($1)/$(BIN_ZIP_FILE) ] ; then \
|
||||
$(ECHO) "Importing binaries from component $1"; \
|
||||
$(call Unzipper,$2,$($1)/$(BIN_ZIP_FILE)); \
|
||||
fi
|
||||
endef
|
||||
|
||||
# Unzip zip file $2 into directory $1 (if $2 exists)
|
||||
# Warning: $2 must be absolute path not relative
|
||||
define Unzipper
|
||||
( \
|
||||
$(MKDIR) -p $1; \
|
||||
$(ECHO) "( $(CD) $1 && $(UNZIP) -o $2 )"; \
|
||||
( $(CD) $1 && $(UNZIP) -o $2 ) \
|
||||
)
|
||||
endef
|
||||
|
||||
# Unjar directories $3 from jar file $2 into directory $1 (if $2 exists)
|
||||
# Warning: $2 must be absolute path not relative
|
||||
define Unjar
|
||||
( \
|
||||
$(MKDIR) -p $1; \
|
||||
$(ECHO) "( $(CD) $1 && $(BOOT_JAR_CMD) xfv $2 $3 )" ; \
|
||||
( $(CD) $1 && $(BOOT_JAR_CMD) xfv $2 $3 ) \
|
||||
)
|
||||
endef
|
||||
|
||||
# Import all component sources into directory $1
|
||||
define import-component-sources
|
||||
$(call import-one-sources,LANGTOOLS_DIST,$1)
|
||||
$(call import-one-sources,CORBA_DIST,$1)
|
||||
$(call import-one-sources,JAXP_DIST,$1)
|
||||
$(call import-one-sources,JAXWS_DIST,$1)
|
||||
endef
|
||||
|
||||
# Import all component docs into directory $1 (optional)
|
||||
define import-component-docs
|
||||
$(call import-one-docs,LANGTOOLS_DIST,$1)
|
||||
$(call import-one-docs,CORBA_DIST,$1)
|
||||
$(call import-one-docs,JAXP_DIST,$1)
|
||||
$(call import-one-docs,JAXWS_DIST,$1)
|
||||
endef
|
||||
|
||||
# Import all component bins into directory $1 (optional)
|
||||
define import-component-binaries
|
||||
$(call import-one-binaries,LANGTOOLS_DIST,$1)
|
||||
$(call import-one-binaries,CORBA_DIST,$1)
|
||||
$(call import-one-binaries,JAXP_DIST,$1)
|
||||
$(call import-one-binaries,JAXWS_DIST,$1)
|
||||
if [ "$(CORBA_DIST)" = "" ] ; then \
|
||||
$(MKDIR) -p $(OUTPUTDIR)/lib ; \
|
||||
( $(CD) $(JDK_IMPORT_PATH) && $(CP) $(IMPORT_CORBA_BINARIES) $(ABS_OUTPUTDIR)/lib ) ; \
|
||||
fi
|
||||
endef
|
||||
|
||||
# Import all component classes into directory $1
|
||||
# Here we special case classes coming from JDK when component not supplied
|
||||
define import-component-classes
|
||||
$(ECHO) "Import classes from $(JDK_IMPORT_PATH)"
|
||||
if [ "$(IMPORT_TOOLS_PACKAGES)" != "" ] ; then \
|
||||
$(call Unjar,$1,$(JDK_RESOURCES_JAR),$(IMPORT_TOOLS_PACKAGES)); \
|
||||
$(call Unjar,$1,$(JDK_TOOLS_JAR),$(IMPORT_TOOLS_PACKAGES)); \
|
||||
fi
|
||||
if [ "$(IMPORT_RT_PACKAGES)" != "" ] ; then \
|
||||
$(call Unjar,$1,$(JDK_RESOURCES_JAR),$(IMPORT_RT_PACKAGES)); \
|
||||
$(call Unjar,$1,$(JDK_RT_JAR),$(IMPORT_RT_PACKAGES)); \
|
||||
fi
|
||||
$(call import-one-classes,LANGTOOLS_DIST,$1)
|
||||
$(call import-one-classes,CORBA_DIST,$1)
|
||||
$(call import-one-classes,JAXP_DIST,$1)
|
||||
$(call import-one-classes,JAXWS_DIST,$1)
|
||||
endef
|
||||
|
||||
# Clean up import files
|
||||
define import-component-sources-clean
|
||||
$(RM) -r $1
|
||||
endef
|
||||
define import-component-docs-clean
|
||||
$(RM) -r $1
|
||||
endef
|
||||
define import-component-classes-clean
|
||||
$(RM) -r $(IMPORT_TOOLS_PACKAGES:%=$1/%)
|
||||
$(RM) -r $(IMPORT_RT_PACKAGES:%=$1/%)
|
||||
endef
|
||||
|
214
jdk/make/common/internal/NativeCompileRules.gmk
Normal file
214
jdk/make/common/internal/NativeCompileRules.gmk
Normal file
@ -0,0 +1,214 @@
|
||||
#
|
||||
# Copyright 1995-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Native C/C++ Compile Rules
|
||||
#
|
||||
|
||||
#
|
||||
# INCREMENTAL_BUILD: Record the #include file dependencies.
|
||||
#
|
||||
# NOTE: We build make include files with the suffix
|
||||
# $(DEPEND_SUFFIX) on every compilation. These are initially
|
||||
# created as temp files just in case a ^C kills it in the middle.
|
||||
# Compiler is smart enough to handle ^C and not create the .o file, or
|
||||
# is supposed to be that smart, but the .$(DEPEND_SUFFIX) file
|
||||
# creation here isn't.
|
||||
# These .$(DEPEND_SUFFIX) files are included by Library.gmk and
|
||||
# Program.gmk, when they exist (Search for 'make dependencies').
|
||||
#
|
||||
|
||||
ifeq ($(INCREMENTAL_BUILD),true)
|
||||
|
||||
$(OBJDIR)/%.$(DEPEND_SUFFIX): %.c
|
||||
@$(prep-target)
|
||||
@$(ECHO) "Creating $@"
|
||||
@$(RM) $@.temp
|
||||
@$(CC) $(CC_DEPEND) $(CPPFLAGS) $< 2> $(DEV_NULL) | \
|
||||
$(CC_DEPEND_FILTER) > $@.temp
|
||||
@$(MV) $@.temp $@
|
||||
|
||||
$(OBJDIR)/%.$(DEPEND_SUFFIX): %.cpp
|
||||
@$(prep-target)
|
||||
@$(ECHO) "Creating $@"
|
||||
@$(RM) $@.temp
|
||||
@$(CXX) $(CC_DEPEND) $(CPPFLAGS) $(CXXFLAGS) $< 2> $(DEV_NULL) | \
|
||||
$(CC_DEPEND_FILTER) > $@.temp
|
||||
@$(MV) $@.temp $@
|
||||
|
||||
endif # INCREMENTAL_BUILD
|
||||
|
||||
#
|
||||
# C, C++, asm files.
|
||||
#
|
||||
# Normal or parallel compile rule is the same, but batch compiles require
|
||||
# we save up the sources files that use the same compile line so that we
|
||||
# can do one compile line.
|
||||
#
|
||||
|
||||
ifneq ($(COMPILE_APPROACH), batch)
|
||||
|
||||
$(OBJDIR)/%.$(OBJECT_SUFFIX): %.c
|
||||
@$(prep-target)
|
||||
$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ $(CFLAGS_GPROF) $<
|
||||
@$(check-conventions)
|
||||
|
||||
$(OBJDIR)/%.$(OBJECT_SUFFIX): %.cpp
|
||||
@$(prep-target)
|
||||
$(COMPILE.cc) $(CC_OBJECT_OUTPUT_FLAG)$@ $(CFLAGS_GPROF) $<
|
||||
@$(check-conventions)
|
||||
|
||||
else
|
||||
|
||||
#
|
||||
# Batch compiling might be faster if the compiler was smart about recognizing
|
||||
# optimization opportunities available when all files are being compiled
|
||||
# the same way. Unfortunately this is rare.
|
||||
# Automatic pre-compiled headers (pch) might be a possibility so we
|
||||
# add any auto pch options here.
|
||||
# So we save all the source files that have the same compile line as the
|
||||
# first file. A normal compile pass is made after the batch compile
|
||||
# to catch anything missed.
|
||||
# If the compilers had a -o option that allowed us to direct where to
|
||||
# write the object files to, then we would not need to save the object
|
||||
# file list or move them from the make directory to the build directory.
|
||||
#
|
||||
|
||||
# Source names
|
||||
COMPILE_LIST.c = $(OBJDIR)/.source_names_c
|
||||
COMPILE_LIST.cpp = $(OBJDIR)/.source_names_cpp
|
||||
|
||||
# Object file list
|
||||
COMPILE_OBJ_LIST.c = $(OBJDIR)/.obj_names_c
|
||||
COMPILE_OBJ_LIST.cpp = $(OBJDIR)/.obj_names_cpp
|
||||
|
||||
# The compile line
|
||||
COMPILE_BATCH.c = $(OBJDIR)/.compile_c
|
||||
COMPILE_BATCH.cpp = $(OBJDIR)/.compile_cpp
|
||||
|
||||
# The compile line for the current target
|
||||
THIS_COMPILE_BATCH.c = $(COMPILE_BATCH.c)-$(@F)
|
||||
THIS_COMPILE_BATCH.cpp = $(COMPILE_BATCH.cpp)-$(@F)
|
||||
|
||||
$(OBJDIR)/%.$(OBJECT_SUFFIX): %.c
|
||||
@$(prep-target)
|
||||
@$(ECHO) "$(COMPILE.c) $(CFLAGS_GPROF)" > $(THIS_COMPILE_BATCH.c)
|
||||
@if [ ! -s $(COMPILE_BATCH.c) ] ; then \
|
||||
$(CP) $(THIS_COMPILE_BATCH.c) $(COMPILE_BATCH.c) ; \
|
||||
$(ECHO) $< > $(COMPILE_LIST.c); \
|
||||
$(ECHO) $(@F) > $(COMPILE_OBJ_LIST.c); \
|
||||
elif [ "`$(DIFF) -w -b $(THIS_COMPILE_BATCH.c) $(COMPILE_BATCH.c)`" \
|
||||
= "" ] ; then \
|
||||
$(ECHO) $< >> $(COMPILE_LIST.c); \
|
||||
$(ECHO) $(@F) >> $(COMPILE_OBJ_LIST.c); \
|
||||
fi
|
||||
@$(RM) $(THIS_COMPILE_BATCH.c)
|
||||
@$(check-conventions)
|
||||
|
||||
$(OBJDIR)/%.$(OBJECT_SUFFIX): %.cpp
|
||||
@$(prep-target)
|
||||
@$(ECHO) "$(COMPILE.cpp) $(CFLAGS_GPROF)" > $(THIS_COMPILE_BATCH.cpp)
|
||||
@if [ ! -s $(COMPILE_BATCH.cpp) ] ; then \
|
||||
$(CP) $(THIS_COMPILE_BATCH.cpp) $(COMPILE_BATCH.cpp) ; \
|
||||
$(ECHO) $< > $(COMPILE_LIST.cpp); \
|
||||
$(ECHO) $(@F) > $(COMPILE_OBJ_LIST.cpp); \
|
||||
elif [ "`$(DIFF) -w -b $(THIS_COMPILE_BATCH.cpp) $(COMPILE_BATCH.cpp)`"\
|
||||
= "" ] ; then \
|
||||
$(ECHO) $< >> $(COMPILE_LIST.cpp); \
|
||||
$(ECHO) $(@F) >> $(COMPILE_OBJ_LIST.cpp); \
|
||||
fi
|
||||
@$(RM) $(THIS_COMPILE_BATCH.cpp)
|
||||
@$(check-conventions)
|
||||
|
||||
batch_compile: $(FILES_o)
|
||||
@$(ECHO) "Doing batch compilations"
|
||||
@if [ -s $(COMPILE_LIST.c) ] ; then \
|
||||
$(ECHO) "$(COMPILE.c) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
|
||||
`$(CAT) $(COMPILE_LIST.c)`" ; \
|
||||
( $(COMPILE.c) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
|
||||
`$(CAT) $(COMPILE_LIST.c)` && \
|
||||
$(ECHO) "$(MV) `$(CAT) $(COMPILE_OBJ_LIST.c)` $(OBJDIR)" && \
|
||||
$(MV) `$(CAT) $(COMPILE_OBJ_LIST.c)` $(OBJDIR) ) || exit 1 ; \
|
||||
fi
|
||||
@if [ -s $(COMPILE_LIST.cpp) ] ; then \
|
||||
$(ECHO) "$(COMPILE.cpp) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
|
||||
`$(CAT) $(COMPILE_LIST.cpp)`" ; \
|
||||
( $(COMPILE.cpp) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
|
||||
`$(CAT) $(COMPILE_LIST.cpp)` && \
|
||||
$(ECHO) "$(MV) `$(CAT) $(COMPILE_OBJ_LIST.cpp)` $(OBJDIR)" && \
|
||||
$(MV) `$(CAT) $(COMPILE_OBJ_LIST.cpp)` $(OBJDIR) ) || exit 1 ; \
|
||||
fi
|
||||
@$(RM) $(COMPILE_BATCH.c) $(COMPILE_LIST.c) $(COMPILE_OBJ_LIST.c)
|
||||
@$(RM) $(COMPILE_BATCH.cpp) $(COMPILE_LIST.cpp) $(COMPILE_OBJ_LIST.cpp)
|
||||
|
||||
endif
|
||||
|
||||
# newer as does not handle c++ style comments
|
||||
$(OBJDIR)/%.$(OBJECT_SUFFIX): %.s
|
||||
ifneq ($(CC_VERSION), gcc)
|
||||
@$(prep-target)
|
||||
$(COMPILE.s) $(CC_OBJECT_OUTPUT_FLAG)$@ $<
|
||||
else
|
||||
@$(prep-target)
|
||||
$(CPP) -x assembler-with-cpp $< | $(COMPILE.s) -o $@
|
||||
endif
|
||||
@$(check-conventions)
|
||||
|
||||
#
|
||||
# Quick hack for making the compiler generate just the assembly file.
|
||||
# $ gnumake obj/sparc/myfile.s
|
||||
#
|
||||
$(OBJDIR)/%.s: %.c
|
||||
@$(prep-target)
|
||||
$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ -S $<
|
||||
@$(check-conventions)
|
||||
|
||||
# remove the intermediate files from the directories.
|
||||
# (If VARIANT=OPT, this removes all debug and fastdebug files too)
|
||||
clobber clean::
|
||||
$(RM) -r $(OBJDIR)
|
||||
$(RM) -r $(OBJDIR)_*
|
||||
|
||||
#
|
||||
# Lint support
|
||||
# (The 'lint' rule below is an older rule not using the .$(LINT_SUFFIX) files)
|
||||
#
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
$(OBJDIR)/%.$(LINT_SUFFIX): %.c
|
||||
@$(prep-target)
|
||||
$(LINT.c) -dirout=$(OBJDIR) -c $<
|
||||
lint.clean:
|
||||
$(RM) $(OBJDIR)/*.$(LINT_SUFFIX)
|
||||
# Old rule
|
||||
lint: $(FILES_c)
|
||||
ifneq ($(FILES_c),)
|
||||
$(LINT.c) -Ncheck -Nlevel=3 $? $(LDLIBS) > lint.$(ARCH) 2>&1
|
||||
endif
|
||||
endif
|
||||
|
||||
.PHONY: batch_compile
|
||||
|
||||
|
265
jdk/make/common/internal/Resources.gmk
Normal file
265
jdk/make/common/internal/Resources.gmk
Normal file
@ -0,0 +1,265 @@
|
||||
#
|
||||
# Copyright 1997-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Generic mechanism for installing properties files, resource bundles,
|
||||
# and other resource files.
|
||||
#
|
||||
# FILES_properties should be defined.
|
||||
# FILES_compiled_properties should be defined.
|
||||
#
|
||||
# If COMPILED_PROPERTIES_SUPERCLASS is defined, ALL the FILES_properties
|
||||
# files will be compiled into java with this super class.
|
||||
#
|
||||
# You can add locales to LOCALE_SUFFIXES explicitly, or use the
|
||||
# LOCALE_SET_DEFINITION variable to add some pre-defined locale lists.
|
||||
# The LOCALE_SET_DEFINITION can have the value: jre, plugin, or jdk.
|
||||
#
|
||||
# Resource bundles to be installed are identified using the following variables.
|
||||
# Note that only the file name of the base bundle is given; localized versions
|
||||
# are added automatically. For Java files, use a format suitable for inclusion
|
||||
# in the FILES_java list; dito for properties, all relative paths.
|
||||
#
|
||||
# NEW_RESOURCE_BUNDLES_JAVA - new resource bundles implemented in
|
||||
# Java, not localized
|
||||
# NEW_RESOURCE_BUNDLES_PROPERTIES - new resource bundles implemented as
|
||||
# properties files, not localized
|
||||
# RESOURCE_BUNDLES_JAVA - resource bundles implemented in
|
||||
# Java, localized
|
||||
# RESOURCE_BUNDLES_PROPERTIES - new resource bundles implemented as
|
||||
# properties files, localized
|
||||
#
|
||||
# The following variable is now used for most .properties files in the JDK.
|
||||
# These properties files are converted into java and compiled with javac.
|
||||
# The resulting .class files are usually smaller and are always faster to load.
|
||||
# The relative path to the properties file becomes a relative path to a
|
||||
# java source file.
|
||||
#
|
||||
# RESOURCE_BUNDLES_COMPILED_PROPERTIES - resource bundles implemented as
|
||||
# properties files, localized
|
||||
# NEW_RESOURCE_BUNDLES_COMPILED_PROPERTIES - same as above, not localized
|
||||
#
|
||||
# Other properties files to be installed are identified using the variable:
|
||||
#
|
||||
# OTHER_PROPERTIES
|
||||
#
|
||||
|
||||
# Compile properties files into java source?
|
||||
ifdef COMPILED_PROPERTIES_SUPERCLASS
|
||||
# Add all properties files to the compiled properties list (all or nothing)
|
||||
COMPILED_PROPERTIES += $(FILES_compiled_properties) $(FILES_properties)
|
||||
else
|
||||
COMPILED_PROPERTIES_SUPERCLASS = ListResourceBundle
|
||||
COMPILED_PROPERTIES += $(FILES_compiled_properties)
|
||||
endif
|
||||
|
||||
# Determine the locale suffixes needed beyond the base bundle
|
||||
|
||||
ifeq ($(LOCALE_SET_DEFINITION), plugin)
|
||||
LOCALE_SUFFIXES += $(PLUGIN_LOCALES)
|
||||
endif
|
||||
ifeq ($(LOCALE_SET_DEFINITION), jdk)
|
||||
LOCALE_SUFFIXES += $(JDK_LOCALES)
|
||||
endif
|
||||
ifeq ($(LOCALE_SET_DEFINITION), jre)
|
||||
LOCALE_SUFFIXES += $(JRE_LOCALES)
|
||||
endif
|
||||
|
||||
# Java files get tacked onto the standard list of files to compile
|
||||
RESOURCE_BUNDLE_FILES_java += $(NEW_RESOURCE_BUNDLES_JAVA)
|
||||
RESOURCE_BUNDLE_FILES_java += $(RESOURCE_BUNDLES_JAVA) \
|
||||
$(foreach file,$(RESOURCE_BUNDLES_JAVA), \
|
||||
$(foreach locale,$(LOCALE_SUFFIXES), \
|
||||
$(basename $(file))_$(locale).java))
|
||||
|
||||
# Add to java sources list
|
||||
FILES_java += $(RESOURCE_BUNDLE_FILES_java)
|
||||
|
||||
# Compiled properties files are translated to .java.
|
||||
# The .java files are generated into GENSRCDIR.
|
||||
COMPILED_PROPERTIES += $(NEW_RESOURCE_BUNDLES_COMPILED_PROPERTIES)
|
||||
COMPILED_PROPERTIES += $(RESOURCE_BUNDLES_COMPILED_PROPERTIES) \
|
||||
$(foreach file,$(RESOURCE_BUNDLES_COMPILED_PROPERTIES),\
|
||||
$(foreach locale,$(LOCALE_SUFFIXES),\
|
||||
$(basename $(file))_$(locale)$(suffix $(file))))
|
||||
|
||||
# Add to java sources list
|
||||
FILES_java += $(COMPILED_PROPERTIES:%.properties=%.java)
|
||||
|
||||
# Non-compiled files
|
||||
PROPERTIES_FILES += $(NEW_RESOURCE_BUNDLES_PROPERTIES)
|
||||
PROPERTIES_FILES += $(RESOURCE_BUNDLES_PROPERTIES) \
|
||||
$(foreach file,$(RESOURCE_BUNDLES_PROPERTIES), \
|
||||
$(foreach locale,$(LOCALE_SUFFIXES), \
|
||||
$(basename $(file))_$(locale)$(suffix $(file))))
|
||||
PROPERTIES_FILES += $(OTHER_PROPERTIES)
|
||||
|
||||
#
|
||||
# Compile Properties tool
|
||||
#
|
||||
COMPILEPROPERTIES_JARFILE = $(BUILDTOOLJARDIR)/compileproperties.jar
|
||||
|
||||
#
|
||||
# Strip Properties tool
|
||||
#
|
||||
STRIPPROPERTIES_JARFILE = $(BUILDTOOLJARDIR)/stripproperties.jar
|
||||
|
||||
#
|
||||
# Process and strip all non-compiled properties files (in a batch mode)
|
||||
#
|
||||
STRIP_PROP_FILES = $(PROPERTIES_FILES:%=$(CLASSDESTDIR)/%)
|
||||
# To efficiently strip properties we use one run of StripProperties.
|
||||
# This macro gathers an option for use later.
|
||||
STRIP_PROP_options=$(TEMPDIR)/strip_prop_options
|
||||
define install-properties-file
|
||||
$(install-file)
|
||||
$(CHMOD) a+rw $@
|
||||
@$(ECHO) "# Adding to strip properties list: $@"
|
||||
$(ECHO) "$@" >> $(STRIP_PROP_options)
|
||||
endef
|
||||
|
||||
# Constructs command line options file
|
||||
$(STRIP_PROP_options): $(STRIP_PROP_FILES)
|
||||
@$(TOUCH) $@
|
||||
strip_prop_options_clean:
|
||||
@$(RM) $(STRIP_PROP_options)
|
||||
|
||||
# Strip the properties files
|
||||
strip_all_props: $(STRIPPROPERTIES_JARFILE) $(STRIP_PROP_options)
|
||||
@if [ -s $(STRIP_PROP_options) ] ; then \
|
||||
$(ECHO) "$(BOOT_JAVA_CMD) -jar $(STRIPPROPERTIES_JARFILE) -optionsfile $(STRIP_PROP_options)" ; \
|
||||
$(BOOT_JAVA_CMD) -jar $(STRIPPROPERTIES_JARFILE) -optionsfile $(STRIP_PROP_options) ; \
|
||||
fi
|
||||
@$(java-vm-cleanup)
|
||||
|
||||
#
|
||||
# Creates files in CLASSDESTDIR
|
||||
#
|
||||
|
||||
# In some cases, we move files from package to resources subdir
|
||||
$(CLASSDESTDIR)/$(PKGDIR)/resources/%.properties: \
|
||||
$(SHARE_SRC)/classes/$(PKGDIR)/%.properties
|
||||
$(install-properties-file)
|
||||
$(CLASSDESTDIR)/%.properties: $(SHARE_SRC)/classes/%.properties
|
||||
$(install-properties-file)
|
||||
$(CLASSDESTDIR)/%.res: $(SHARE_SRC)/classes/%.res
|
||||
$(install-file)
|
||||
$(CLASSDESTDIR)/%.dtd: $(SHARE_SRC)/classes/%.dtd
|
||||
$(install-file)
|
||||
$(CLASSDESTDIR)/%.xml: $(SHARE_SRC)/classes/%.xml
|
||||
$(install-file)
|
||||
$(CLASSDESTDIR)/%.prp: $(SHARE_SRC)/classes/%.prp
|
||||
$(install-file)
|
||||
|
||||
#
|
||||
# To efficiently compile properties into java sources we use one run
|
||||
# of compileproperties. This macro gathers an option for use later.
|
||||
# Note: The properties file and java source name can be different
|
||||
# locales, e.g. zh_TW and zh_HK. The java source filename
|
||||
# determines the name of the class.
|
||||
COMPILE_PROP_options=$(TEMPDIR)/compile_prop_options
|
||||
define add-property-java-file
|
||||
@$(prep-target)
|
||||
@$(ECHO) "# Adding to compile properties list: $? -> $@"
|
||||
$(ECHO) "-compile $? $@ $(COMPILED_PROPERTIES_SUPERCLASS)" \
|
||||
>> $(COMPILE_PROP_options)
|
||||
endef
|
||||
|
||||
$(GENSRCDIR)/%.java: $(PLATFORM_SRC)/classes/%.properties
|
||||
$(add-property-java-file)
|
||||
$(GENSRCDIR)/%.java: $(SHARE_SRC)/classes/%.properties
|
||||
$(add-property-java-file)
|
||||
$(GENSRCDIR)/%.java: $(GENSRCDIR)/%.properties
|
||||
$(add-property-java-file)
|
||||
ifndef OPENJDK
|
||||
$(GENSRCDIR)/%.java: $(CLOSED_PLATFORM_SRC)/classes/%.properties
|
||||
$(add-property-java-file)
|
||||
$(GENSRCDIR)/%.java: $(CLOSED_SHARE_SRC)/classes/%.properties
|
||||
$(add-property-java-file)
|
||||
endif
|
||||
|
||||
# Create HK java file from zh_TW (explicit resource bundles only)
|
||||
define create-hk-java-file
|
||||
@$(prep-target)
|
||||
$(CAT) $< | $(SED) -e '/class/s/_zh_TW/_zh_HK/' > $@
|
||||
endef
|
||||
|
||||
# Explicit resource bundles
|
||||
$(GENSRCDIR)/%_zh_HK.java: $(PLATFORM_SRC)/classes/%_zh_TW.java
|
||||
$(create-hk-java-file)
|
||||
$(GENSRCDIR)/%_zh_HK.java: $(SHARE_SRC)/classes/%_zh_TW.java
|
||||
$(create-hk-java-file)
|
||||
|
||||
# Compile of zh_HK properties just uses the zh_TW properties files
|
||||
$(GENSRCDIR)/%_zh_HK.java: $(PLATFORM_SRC)/classes/%_zh_TW.properties
|
||||
$(add-property-java-file)
|
||||
$(GENSRCDIR)/%_zh_HK.java: $(SHARE_SRC)/classes/%_zh_TW.properties
|
||||
$(add-property-java-file)
|
||||
|
||||
# Simple delivery of zh_HK properties files just copies zh_TW properties files
|
||||
$(CLASSDESTDIR)/%_zh_HK.properties: \
|
||||
$(PLATFORM_SRC)/classes/%_zh_TW.properties
|
||||
$(install-properties-file)
|
||||
$(CLASSDESTDIR)/%_zh_HK.properties: \
|
||||
$(SHARE_SRC)/classes/%_zh_TW.properties
|
||||
$(install-properties-file)
|
||||
|
||||
# List of java files converted from properties files needed
|
||||
COMPILE_PROP_JAVA_FILES = $(COMPILED_PROPERTIES:%.properties=$(GENSRCDIR)/%.java)
|
||||
|
||||
# Constructs command line options file
|
||||
$(COMPILE_PROP_options): $(COMPILE_PROP_JAVA_FILES)
|
||||
@$(TOUCH) $@
|
||||
compile_prop_options_clean:
|
||||
@$(RM) $(COMPILE_PROP_options)
|
||||
|
||||
# Make sure all are compiled, one compiler run
|
||||
compile_all_props: $(COMPILEPROPERTIES_JARFILE) $(COMPILE_PROP_options)
|
||||
@if [ `$(CAT) $(COMPILE_PROP_options) | $(WC) -l` -ge 1 ] ; then \
|
||||
$(MKDIR) -p $(GENSRCDIR); \
|
||||
$(ECHO) "$(BOOT_JAVA_CMD) -jar $(COMPILEPROPERTIES_JARFILE) -optionsfile $(COMPILE_PROP_options)";\
|
||||
$(BOOT_JAVA_CMD) -jar $(COMPILEPROPERTIES_JARFILE) -optionsfile $(COMPILE_PROP_options) ; \
|
||||
$(java-vm-cleanup); \
|
||||
fi
|
||||
|
||||
# Make sure the build rule creates all the properties
|
||||
resources:
|
||||
|
||||
ifneq ($(PROPERTIES_FILES),)
|
||||
resources: strip_prop_options_clean strip_all_props
|
||||
clobber clean::
|
||||
$(RM) $(STRIP_PROP_FILES) $(STRIP_PROP_options)
|
||||
endif
|
||||
|
||||
ifneq ($(COMPILED_PROPERTIES),)
|
||||
resources: compile_prop_options_clean compile_all_props
|
||||
clobber clean::
|
||||
$(RM) $(COMPILE_PROP_JAVA_FILES) $(COMPILE_PROP_options)
|
||||
endif
|
||||
|
||||
.PHONY: resources \
|
||||
compile_prop_options_clean compile_all_props \
|
||||
strip_prop_options_clean strip_all_props
|
||||
|
125
jdk/make/common/shared/Compiler-gcc.gmk
Normal file
125
jdk/make/common/shared/Compiler-gcc.gmk
Normal file
@ -0,0 +1,125 @@
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# GCC Compiler settings
|
||||
#
|
||||
|
||||
COMPILER_NAME=GCC
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
|
||||
# Settings specific to Windows, pretty stale, hasn't been used
|
||||
CC = $(COMPILER_PATH)gcc
|
||||
CPP = $(COMPILER_PATH)gcc -E
|
||||
CXX = $(COMPILER_PATH)g++
|
||||
CCC = $(COMPILER_PATH)g++
|
||||
LIBEXE = $(COMPILER_PATH)lib
|
||||
LINK = $(COMPILER_PATH)link
|
||||
RC = $(MSDEVTOOLS_PATH)link
|
||||
LINK32 = $(LINK)
|
||||
RSC = $(RC)
|
||||
# unset any GNU Make settings of MFLAGS and MAKEFLAGS which may mess up nmake
|
||||
NMAKE = MFLAGS= MAKEFLAGS= $(COMPILER_PATH)nmake -nologo
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CC_VER = UNKNOWN
|
||||
CC_TYPE = UNKNOWN
|
||||
else
|
||||
CC_VER = UNKNOWN
|
||||
CC_TYPE = UNKNOWN
|
||||
endif
|
||||
_LINK_VER :=$(shell $(LINK) 2>&1 | $(HEAD) -n 1)
|
||||
LINK_VER :=$(call GetVersion,"$(_LINK_VER)")
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), linux)
|
||||
|
||||
# Settings specific to Linux
|
||||
CC = $(COMPILER_PATH)gcc
|
||||
CPP = $(COMPILER_PATH)gcc -E
|
||||
# statically link libstdc++ before C++ ABI is stablized on Linux
|
||||
STATIC_CXX = true
|
||||
ifeq ($(STATIC_CXX),true)
|
||||
# g++ always dynamically links libstdc++, even we use "-Wl,-Bstatic -lstdc++"
|
||||
# We need to use gcc to statically link the C++ runtime. gcc and g++ use
|
||||
# the same subprocess to compile C++ files, so it is OK to build using gcc.
|
||||
CXX = $(COMPILER_PATH)gcc
|
||||
else
|
||||
CXX = $(COMPILER_PATH)g++
|
||||
endif
|
||||
ifneq ("$(findstring sparc,$(ARCH))", "")
|
||||
# sparc or sparcv9
|
||||
REQUIRED_CC_VER = 4.0
|
||||
REQUIRED_GCC_VER = 4.0.*
|
||||
else
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
# i586
|
||||
REQUIRED_CC_VER = 3.2
|
||||
REQUIRED_GCC_VER = 3.2.1*
|
||||
REQUIRED_GCC_VER_INT = 3.2.1-7a
|
||||
else
|
||||
ifeq ($(ARCH), amd64)
|
||||
# amd64
|
||||
REQUIRED_CC_VER = 3.2
|
||||
REQUIRED_GCC_VER = 3.2.*
|
||||
endif
|
||||
ifeq ($(ARCH), ia64)
|
||||
# ia64
|
||||
REQUIRED_CC_VER = 3.2
|
||||
REQUIRED_GCC_VER = 2.9[56789].*
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
# Option used to create a shared library
|
||||
SHARED_LIBRARY_FLAG = -shared -mimpure-text
|
||||
SUN_COMP_VER := $(shell $(CC) --verbose 2>&1 )
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
|
||||
# Settings specific to Solaris
|
||||
CC = $(COMPILER_PATH)gcc
|
||||
CPP = $(COMPILER_PATH)gcc -E
|
||||
CXX = $(COMPILER_PATH)g++
|
||||
REQUIRED_CC_VER = 3.2
|
||||
|
||||
# Option used to create a shared library
|
||||
SHARED_LIBRARY_FLAG = -G
|
||||
# But gcc is still needed no matter what on 32bit
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
REQUIRED_GCC_VER = 2.95
|
||||
GCC =$(GCC_COMPILER_PATH)gcc
|
||||
_GCC_VER :=$(shell $(GCC) -dumpversion 2>&1 )
|
||||
GCC_VER :=$(call GetVersion,"$(_GCC_VER)")
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
# Get gcc version
|
||||
_CC_VER :=$(shell $(CC) -dumpversion 2>&1 )
|
||||
CC_VER :=$(call GetVersion,"$(_CC_VER)")
|
||||
|
138
jdk/make/common/shared/Compiler-msvc.gmk
Normal file
138
jdk/make/common/shared/Compiler-msvc.gmk
Normal file
@ -0,0 +1,138 @@
|
||||
#
|
||||
# Copyright 2005-2006 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# MSVC Compiler settings
|
||||
#
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
CC = $(COMPILER_PATH)cl
|
||||
CPP = $(COMPILER_PATH)cl
|
||||
CXX = $(COMPILER_PATH)cl
|
||||
CCC = $(COMPILER_PATH)cl
|
||||
LIBEXE = $(COMPILER_PATH)lib
|
||||
LINK = $(COMPILER_PATH)link
|
||||
RC = $(MSDEVTOOLS_PATH)rc
|
||||
LINK32 = $(LINK)
|
||||
RSC = $(RC)
|
||||
|
||||
# Fill in unknown values
|
||||
COMPILER_NAME=Unknown MSVC Compiler
|
||||
COMPILER_VERSION=
|
||||
REQUIRED_CC_VER=
|
||||
REQUIRED_LINK_VER=
|
||||
|
||||
# unset any GNU Make settings of MFLAGS and MAKEFLAGS which may mess up nmake
|
||||
NMAKE = MFLAGS= MAKEFLAGS= $(COMPILER_PATH)nmake -nologo
|
||||
|
||||
# SDK-64 and MSVC6 put REBASE.EXE in a different places - go figure...
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CC_VER := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(NAWK) '{print $$8}')
|
||||
LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}')
|
||||
CC_TYPE := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(NAWK) '{print $$5}')
|
||||
CC_MAJORVER :=$(call MajorVersion,$(CC_VER))
|
||||
REQUIRED_CCTYPE = Optimizing
|
||||
REQUIRED_CC_VER = 13.10.3077
|
||||
REQUIRED_LINK_VER = 7.10.3077
|
||||
ifeq ($(CC_MAJORVER), 12)
|
||||
# This should be: CC_VER=12.00.8168 LINK_VER=6.00.8447
|
||||
COMPILER_NAME=Visual C++ 6.0 Professional + VC6-SP 3
|
||||
COMPILER_VERSION=VC6
|
||||
REBASE = $(COMPILER_PATH)rebase
|
||||
MTL = $(COMPILER_PATH)midl
|
||||
endif
|
||||
ifeq ($(CC_MAJORVER), 13)
|
||||
# This should be: CC_VER=13.10.3077 LINK_VER=7.10.3077
|
||||
COMPILER_NAME=Visual Studio .NET 2003 Professional C++
|
||||
COMPILER_VERSION=VS2003
|
||||
REBASE = $(COMPILER_PATH)../../Common7/Tools/Bin/rebase
|
||||
MTL = $(COMPILER_PATH)../../Common7/Tools/Bin/midl
|
||||
ifndef COMPILER_PATH
|
||||
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CC_MAJORVER), 14)
|
||||
# This should be: CC_VER=14.00.0000 LINK_VER=8.00.0000
|
||||
# NOTE: This compiler has not been tried yet on 32bit systems
|
||||
COMPILER_NAME=Visual Studio .NET 2005
|
||||
COMPILER_VERSION=VS2005
|
||||
REBASE = $(COMPILER_PATH)../../Common8/Tools/Bin/rebase
|
||||
MTL = $(COMPILER_PATH)../../Common8/Tools/Bin/midl
|
||||
ifndef COMPILER_PATH
|
||||
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
|
||||
endif
|
||||
endif
|
||||
else
|
||||
CC_VER := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(NAWK) '{print $$7}')
|
||||
LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}')
|
||||
CC_TYPE := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(NAWK) '{print $$4}')
|
||||
CC_MAJORVER :=$(call MajorVersion,$(CC_VER))
|
||||
CC_MINORVER :=$(call MinorVersion,$(CC_VER))
|
||||
CC_MICROVER :=$(call MicroVersion,$(CC_VER))
|
||||
ifeq ($(ARCH), ia64)
|
||||
REQUIRED_CC_VER = 13.00.9337.7
|
||||
REQUIRED_LINK_VER = 7.00.9337.7
|
||||
endif
|
||||
ifeq ($(ARCH), amd64)
|
||||
REQUIRED_CC_VER = 14.00.40310.41
|
||||
REQUIRED_LINK_VER = 8.00.40310.39
|
||||
endif
|
||||
ifeq ($(CC_MAJORVER), 13)
|
||||
ifeq ($(ARCH), ia64)
|
||||
# This should be: CC_VER=13.00.9337.7 LINK_VER=7.00.9337.7
|
||||
COMPILER_NAME=Microsoft Platform SDK - November 2001 Edition
|
||||
COMPILER_VERSION=VS2003
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CC_MAJORVER), 14)
|
||||
ifeq ($(ARCH), amd64)
|
||||
ifeq ($(CC_MICROVER), 30701)
|
||||
# This should be: CC_VER=14.00.30701 LINK_VER=8.00.30701
|
||||
# WARNING: it says 14, but it is such an early build it doesn't
|
||||
# have all the VS2005 compiler option changes, so treat
|
||||
# this like a VS2003 compiler.
|
||||
COMPILER_NAME=Microsoft Platform SDK - February 2003 Edition
|
||||
COMPILER_VERSION=VS2003
|
||||
else
|
||||
# This should be: CC_VER=14.00.40310.41 LINK_VER=8.00.40310.39
|
||||
COMPILER_NAME=Microsoft Platform SDK - April 2005 Edition (3790.1830)
|
||||
COMPILER_VERSION=VS2005
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
# This will cause problems if ALT_COMPILER_PATH is defined to ""
|
||||
# which is a directive to use the PATH.
|
||||
REBASE = $(COMPILER_PATH)../REBASE
|
||||
ifndef COMPILER_PATH
|
||||
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
|
||||
endif
|
||||
endif
|
||||
ifndef COMPILER_VERSION
|
||||
COMPILER_VERSION := $(error COMPILER_VERSION cannot be empty here)
|
||||
endif
|
||||
# Shared library generation flag
|
||||
SHARED_LIBRARY_FLAG = -LD
|
||||
endif
|
||||
|
76
jdk/make/common/shared/Compiler-sun.gmk
Normal file
76
jdk/make/common/shared/Compiler-sun.gmk
Normal file
@ -0,0 +1,76 @@
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Sun Studio Compiler settings
|
||||
#
|
||||
|
||||
COMPILER_NAME=Sun Studio
|
||||
|
||||
# Sun Studio Compiler settings specific to Solaris
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
COMPILER_VERSION=SS11
|
||||
REQUIRED_CC_VER=5.8
|
||||
CC = $(COMPILER_PATH)cc
|
||||
CPP = $(COMPILER_PATH)cc -E
|
||||
CXX = $(COMPILER_PATH)CC
|
||||
LINT = $(COMPILER_PATH)lint
|
||||
# Option used to create a shared library
|
||||
SHARED_LIBRARY_FLAG = -G
|
||||
# But gcc is still needed no matter what on 32bit
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
REQUIRED_GCC_VER = 2.95
|
||||
GCC =$(GCC_COMPILER_PATH)gcc
|
||||
_GCC_VER :=$(shell $(GCC) -dumpversion 2>&1 )
|
||||
GCC_VER :=$(call GetVersion,"$(_GCC_VER)")
|
||||
endif
|
||||
endif
|
||||
|
||||
# Sun Studio Compiler settings specific to Linux
|
||||
ifeq ($(PLATFORM), linux)
|
||||
# This has not been tested
|
||||
COMPILER_VERSION=SS11
|
||||
REQUIRED_CC_VER=5.8
|
||||
CC = $(COMPILER_PATH)cc
|
||||
CPP = $(COMPILER_PATH)cc -E
|
||||
CXX = $(COMPILER_PATH)CC
|
||||
LINT = $(COMPILER_PATH)lint
|
||||
# statically link libstdc++ before C++ ABI is stablized on Linux
|
||||
STATIC_CXX = true
|
||||
ifeq ($(STATIC_CXX),true)
|
||||
# CC always dynamically links libstdc++, even we use "-Wl,-Bstatic -lstdc++"
|
||||
# We need to use cc to statically link the C++ runtime.
|
||||
CXX = $(COMPILER_PATH)cc
|
||||
else
|
||||
CXX = $(COMPILER_PATH)CC
|
||||
endif
|
||||
# Option used to create a shared library
|
||||
SHARED_LIBRARY_FLAG = -G
|
||||
endif
|
||||
|
||||
# Get compiler version
|
||||
_CC_VER :=$(shell $(CC) -V 2>&1 | $(HEAD) -n 1)
|
||||
CC_VER :=$(call GetVersion,"$(_CC_VER)")
|
||||
|
47
jdk/make/common/shared/Compiler.gmk
Normal file
47
jdk/make/common/shared/Compiler.gmk
Normal file
@ -0,0 +1,47 @@
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
#
|
||||
# Compiler settings for all platforms and the default compiler for each.
|
||||
#
|
||||
|
||||
# Windows uses Microsoft compilers by default
|
||||
ifeq ($(PLATFORM), windows)
|
||||
override CC_VERSION = msvc
|
||||
endif
|
||||
|
||||
# Solaris uses Sun Studio compilers by default
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
override CC_VERSION = sun
|
||||
endif
|
||||
|
||||
# Linux uses GNU compilers by default
|
||||
ifeq ($(PLATFORM), linux)
|
||||
override CC_VERSION = gcc
|
||||
endif
|
||||
|
||||
# Get the compiler specific settings
|
||||
include $(JDK_MAKE_SHARED_DIR)/Compiler-$(CC_VERSION).gmk
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user