Fri, 25 Jul 2014 10:42:05 -0700
8051910: new hotspot build - hs25.40-b03
Reviewed-by: jcoomes
duke@435 | 1 | # |
mikael@6198 | 2 | # Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. |
duke@435 | 3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
duke@435 | 4 | # |
duke@435 | 5 | # This code is free software; you can redistribute it and/or modify it |
duke@435 | 6 | # under the terms of the GNU General Public License version 2 only, as |
duke@435 | 7 | # published by the Free Software Foundation. |
duke@435 | 8 | # |
duke@435 | 9 | # This code is distributed in the hope that it will be useful, but WITHOUT |
duke@435 | 10 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
duke@435 | 11 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
duke@435 | 12 | # version 2 for more details (a copy is included in the LICENSE file that |
duke@435 | 13 | # accompanied this code). |
duke@435 | 14 | # |
duke@435 | 15 | # You should have received a copy of the GNU General Public License version |
duke@435 | 16 | # 2 along with this work; if not, write to the Free Software Foundation, |
duke@435 | 17 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
duke@435 | 18 | # |
trims@1907 | 19 | # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
trims@1907 | 20 | # or visit www.oracle.com if you need additional information or have any |
trims@1907 | 21 | # questions. |
duke@435 | 22 | # |
duke@435 | 23 | # |
duke@435 | 24 | |
duke@435 | 25 | |
duke@435 | 26 | # Rules for building adlc.exe |
duke@435 | 27 | |
duke@435 | 28 | # Need exception handling support here |
duke@435 | 29 | # $(MS_RUNTIME_OPTION) ( with /D_STATIC_CPPLIB) |
duke@435 | 30 | # causes adlc.exe to link with the static |
duke@435 | 31 | # multithread Standard C++ library (libcpmt.lib) instead of |
duke@435 | 32 | # the dynamic version (msvcprt.lib), which is not included |
duke@435 | 33 | # in any of the free tools. |
duke@435 | 34 | EXH_FLAGS=$(GX_OPTION) $(MS_RUNTIME_OPTION) |
duke@435 | 35 | |
duke@435 | 36 | !ifdef ALT_ADLC_PATH |
duke@435 | 37 | ADLC=$(ALT_ADLC_PATH)\adlc.exe |
duke@435 | 38 | !else |
duke@435 | 39 | ADLC=adlc |
duke@435 | 40 | !endif |
duke@435 | 41 | |
duke@435 | 42 | !ifdef LP64 |
duke@435 | 43 | ADLCFLAGS=-q -T -D_LP64 |
duke@435 | 44 | !else |
duke@435 | 45 | ADLCFLAGS=-q -T -U_LP64 |
duke@435 | 46 | !endif |
duke@435 | 47 | |
erikj@3518 | 48 | ADLC_CXX_FLAGS=$(CXX_FLAGS) /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE |
duke@435 | 49 | |
erikj@3518 | 50 | CXX_INCLUDE_DIRS=\ |
stefank@2314 | 51 | /I "..\generated" \ |
stefank@2314 | 52 | /I "$(WorkSpace)\src\share\vm" \ |
stefank@2314 | 53 | /I "$(WorkSpace)\src\os\windows\vm" \ |
duke@435 | 54 | /I "$(WorkSpace)\src\cpu\$(Platform_arch)\vm" |
duke@435 | 55 | |
kvn@3390 | 56 | !if "$(Platform_arch_model)" == "$(Platform_arch)" |
kvn@3390 | 57 | SOURCES_AD=\ |
adlertz@5510 | 58 | $(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad |
kvn@3390 | 59 | !else |
kvn@3390 | 60 | SOURCES_AD=\ |
kvn@3390 | 61 | $(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad \ |
adlertz@5510 | 62 | $(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch).ad |
kvn@3390 | 63 | !endif |
kvn@3390 | 64 | |
stefank@2314 | 65 | # NOTE! If you add any files here, you must also update GENERATED_NAMES_IN_DIR |
stefank@2314 | 66 | # and ProjectCreatorIDEOptions in projectcreator.make. |
duke@435 | 67 | GENERATED_NAMES=\ |
duke@435 | 68 | ad_$(Platform_arch_model).cpp \ |
duke@435 | 69 | ad_$(Platform_arch_model).hpp \ |
duke@435 | 70 | ad_$(Platform_arch_model)_clone.cpp \ |
duke@435 | 71 | ad_$(Platform_arch_model)_expand.cpp \ |
duke@435 | 72 | ad_$(Platform_arch_model)_format.cpp \ |
duke@435 | 73 | ad_$(Platform_arch_model)_gen.cpp \ |
duke@435 | 74 | ad_$(Platform_arch_model)_misc.cpp \ |
duke@435 | 75 | ad_$(Platform_arch_model)_peephole.cpp \ |
duke@435 | 76 | ad_$(Platform_arch_model)_pipeline.cpp \ |
duke@435 | 77 | adGlobals_$(Platform_arch_model).hpp \ |
duke@435 | 78 | dfa_$(Platform_arch_model).cpp |
duke@435 | 79 | |
duke@435 | 80 | # NOTE! This must be kept in sync with GENERATED_NAMES |
stefank@2314 | 81 | GENERATED_NAMES_IN_DIR=\ |
stefank@2314 | 82 | $(AdlcOutDir)\ad_$(Platform_arch_model).cpp \ |
stefank@2314 | 83 | $(AdlcOutDir)\ad_$(Platform_arch_model).hpp \ |
stefank@2314 | 84 | $(AdlcOutDir)\ad_$(Platform_arch_model)_clone.cpp \ |
stefank@2314 | 85 | $(AdlcOutDir)\ad_$(Platform_arch_model)_expand.cpp \ |
stefank@2314 | 86 | $(AdlcOutDir)\ad_$(Platform_arch_model)_format.cpp \ |
stefank@2314 | 87 | $(AdlcOutDir)\ad_$(Platform_arch_model)_gen.cpp \ |
stefank@2314 | 88 | $(AdlcOutDir)\ad_$(Platform_arch_model)_misc.cpp \ |
stefank@2314 | 89 | $(AdlcOutDir)\ad_$(Platform_arch_model)_peephole.cpp \ |
stefank@2314 | 90 | $(AdlcOutDir)\ad_$(Platform_arch_model)_pipeline.cpp \ |
stefank@2314 | 91 | $(AdlcOutDir)\adGlobals_$(Platform_arch_model).hpp \ |
stefank@2314 | 92 | $(AdlcOutDir)\dfa_$(Platform_arch_model).cpp |
duke@435 | 93 | |
duke@435 | 94 | {$(WorkSpace)\src\share\vm\adlc}.cpp.obj:: |
erikj@3518 | 95 | $(CXX) $(ADLC_CXX_FLAGS) $(EXH_FLAGS) $(CXX_INCLUDE_DIRS) /c $< |
duke@435 | 96 | |
duke@435 | 97 | {$(WorkSpace)\src\share\vm\opto}.cpp.obj:: |
erikj@3518 | 98 | $(CXX) $(ADLC_CXX_FLAGS) $(EXH_FLAGS) $(CXX_INCLUDE_DIRS) /c $< |
duke@435 | 99 | |
duke@435 | 100 | adlc.exe: main.obj adlparse.obj archDesc.obj arena.obj dfa.obj dict2.obj filebuff.obj \ |
duke@435 | 101 | forms.obj formsopt.obj formssel.obj opcodes.obj output_c.obj output_h.obj |
erikj@3518 | 102 | $(LD) $(LD_FLAGS) /subsystem:console /out:$@ $** |
tbell@862 | 103 | !if "$(MT)" != "" |
tbell@862 | 104 | # The previous link command created a .manifest file that we want to |
tbell@862 | 105 | # insert into the linked artifact so we do not need to track it |
tbell@862 | 106 | # separately. Use ";#2" for .dll and ";#1" for .exe: |
tbell@862 | 107 | $(MT) /manifest $@.manifest /outputresource:$@;#1 |
tbell@862 | 108 | !endif |
duke@435 | 109 | |
stefank@2314 | 110 | $(GENERATED_NAMES_IN_DIR): $(Platform_arch_model).ad adlc.exe |
duke@435 | 111 | rm -f $(GENERATED_NAMES) |
stefank@2314 | 112 | if exist $(AdlcOutDir) rmdir /s /q $(AdlcOutDir) |
stefank@2314 | 113 | mkdir $(AdlcOutDir) |
duke@435 | 114 | $(ADLC) $(ADLCFLAGS) $(Platform_arch_model).ad |
stefank@2314 | 115 | mv $(GENERATED_NAMES) $(AdlcOutDir)/ |
duke@435 | 116 | |
kvn@3390 | 117 | $(Platform_arch_model).ad: $(SOURCES_AD) |
duke@435 | 118 | rm -f $(Platform_arch_model).ad |
kvn@3390 | 119 | cat $(SOURCES_AD) >$(Platform_arch_model).ad |