source: trunk/openjdk/hotspot/make/linux/makefiles/launcher.make

Last change on this file was 309, checked in by dmik, 14 years ago

trunk: Merged in openjdk6 b24 from branches/vendor/oracle.

File size: 3.4 KB
Line 
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
28LAUNCHER_SCRIPT = hotspot
29LAUNCHER = gamma
30
31LAUNCHERDIR := $(GAMMADIR)/src/os/posix/launcher
32LAUNCHERDIR_SHARE := $(GAMMADIR)/src/share/tools/launcher
33LAUNCHERFLAGS := $(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
45ifeq ($(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)
51else
52 LAUNCHER.o = launcher.o
53 LFLAGS_LAUNCHER += -L `pwd`
54 LIBS_LAUNCHER += -l$(JVM) $(LIBS)
55endif
56
57LINK_LAUNCHER = $(LINK.c)
58
59LINK_LAUNCHER/PRE_HOOK = $(LINK_LIB.CC/PRE_HOOK)
60LINK_LAUNCHER/POST_HOOK = $(LINK_LIB.CC/POST_HOOK)
61
62LAUNCHER_OUT = launcher
63
64SUFFIXES += .d
65
66SOURCES := $(shell find $(LAUNCHERDIR) -name "*.c")
67SOURCES_SHARE := $(shell find $(LAUNCHERDIR_SHARE) -name "*.c")
68
69OBJS := $(patsubst $(LAUNCHERDIR)/%.c,$(LAUNCHER_OUT)/%.o,$(SOURCES)) $(patsubst $(LAUNCHERDIR_SHARE)/%.c,$(LAUNCHER_OUT)/%.o,$(SOURCES_SHARE))
70
71DEPFILES := $(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
Note: See TracBrowser for help on using the repository browser.