1 | #
|
---|
2 | # Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
---|
3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
---|
4 | #
|
---|
5 | # This code is free software; you can redistribute it and/or modify it
|
---|
6 | # under the terms of the GNU General Public License version 2 only, as
|
---|
7 | # published by the Free Software Foundation.
|
---|
8 | #
|
---|
9 | # This code is distributed in the hope that it will be useful, but WITHOUT
|
---|
10 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
---|
11 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
---|
12 | # version 2 for more details (a copy is included in the LICENSE file that
|
---|
13 | # accompanied this code).
|
---|
14 | #
|
---|
15 | # You should have received a copy of the GNU General Public License version
|
---|
16 | # 2 along with this work; if not, write to the Free Software Foundation,
|
---|
17 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
---|
18 | #
|
---|
19 | # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
---|
20 | # or visit www.oracle.com if you need additional information or have any
|
---|
21 | # questions.
|
---|
22 | #
|
---|
23 | #
|
---|
24 |
|
---|
25 | # Rules to build gamma launcher, used by vm.make
|
---|
26 |
|
---|
27 |
|
---|
28 | LAUNCHER_SCRIPT = hotspot
|
---|
29 | LAUNCHER = gamma
|
---|
30 |
|
---|
31 | LAUNCHERDIR := $(GAMMADIR)/src/os/posix/launcher
|
---|
32 | LAUNCHERDIR_SHARE := $(GAMMADIR)/src/share/tools/launcher
|
---|
33 | LAUNCHERFLAGS := $(ARCHFLAG) \
|
---|
34 | -I$(LAUNCHERDIR) -I$(GAMMADIR)/src/share/vm/prims \
|
---|
35 | -I$(LAUNCHERDIR_SHARE) \
|
---|
36 | -DFULL_VERSION=\"$(HOTSPOT_RELEASE_VERSION)\" \
|
---|
37 | -DJDK_MAJOR_VERSION=\"$(JDK_MAJOR_VERSION)\" \
|
---|
38 | -DJDK_MINOR_VERSION=\"$(JDK_MINOR_VERSION)\" \
|
---|
39 | -DARCH=\"$(LIBARCH)\" \
|
---|
40 | -DGAMMA \
|
---|
41 | -DLAUNCHER_TYPE=\"gamma\" \
|
---|
42 | -DLINK_INTO_$(LINK_INTO) \
|
---|
43 | $(TARGET_DEFINES)
|
---|
44 |
|
---|
45 | ifeq ($(LINK_INTO),AOUT)
|
---|
46 | LAUNCHER.o = launcher.o $(JVM_OBJ_FILES)
|
---|
47 | LAUNCHER_MAPFILE = mapfile_reorder
|
---|
48 | LFLAGS_LAUNCHER$(LDNOMAP) += $(MAPFLAG:FILENAME=$(LAUNCHER_MAPFILE))
|
---|
49 | LFLAGS_LAUNCHER += $(SONAMEFLAG:SONAME=$(LIBJVM)) $(STATIC_LIBGCC)
|
---|
50 | LIBS_LAUNCHER += $(STATIC_STDCXX) $(LIBS)
|
---|
51 | else
|
---|
52 | LAUNCHER.o = launcher.o
|
---|
53 | LFLAGS_LAUNCHER += -L `pwd`
|
---|
54 | LIBS_LAUNCHER += -l$(JVM) $(LIBS)
|
---|
55 | endif
|
---|
56 |
|
---|
57 | LINK_LAUNCHER = $(LINK.c)
|
---|
58 |
|
---|
59 | LINK_LAUNCHER/PRE_HOOK = $(LINK_LIB.CC/PRE_HOOK)
|
---|
60 | LINK_LAUNCHER/POST_HOOK = $(LINK_LIB.CC/POST_HOOK)
|
---|
61 |
|
---|
62 | LAUNCHER_OUT = launcher
|
---|
63 |
|
---|
64 | SUFFIXES += .d
|
---|
65 |
|
---|
66 | SOURCES := $(shell find $(LAUNCHERDIR) -name "*.c")
|
---|
67 | SOURCES_SHARE := $(shell find $(LAUNCHERDIR_SHARE) -name "*.c")
|
---|
68 |
|
---|
69 | OBJS := $(patsubst $(LAUNCHERDIR)/%.c,$(LAUNCHER_OUT)/%.o,$(SOURCES)) $(patsubst $(LAUNCHERDIR_SHARE)/%.c,$(LAUNCHER_OUT)/%.o,$(SOURCES_SHARE))
|
---|
70 |
|
---|
71 | DEPFILES := $(patsubst %.o,%.d,$(OBJS))
|
---|
72 | -include $(DEPFILES)
|
---|
73 |
|
---|
74 | $(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR_SHARE)/%.c
|
---|
75 | $(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
|
---|
76 | $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CPPFLAGS)
|
---|
77 |
|
---|
78 | $(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR)/%.c
|
---|
79 | $(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
|
---|
80 | $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CPPFLAGS)
|
---|
81 |
|
---|
82 | $(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE)
|
---|
83 | $(QUIETLY) echo Linking launcher...
|
---|
84 | $(QUIETLY) $(LINK_LAUNCHER/PRE_HOOK)
|
---|
85 | $(QUIETLY) $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(OBJS) $(LIBS_LAUNCHER)
|
---|
86 | $(QUIETLY) $(LINK_LAUNCHER/POST_HOOK)
|
---|
87 |
|
---|
88 | $(LAUNCHER): $(LAUNCHER_SCRIPT)
|
---|
89 |
|
---|
90 | $(LAUNCHER_SCRIPT): $(LAUNCHERDIR)/launcher.script
|
---|
91 | $(QUIETLY) sed -e 's/@@LIBARCH@@/$(LIBARCH)/g' $< > $@
|
---|
92 | $(QUIETLY) chmod +x $@
|
---|
93 |
|
---|