Mercurial > hg > graal-jvmci-8
comparison src/share/tools/hsdis/Makefile @ 720:67a2f5ba5582
6684007: PrintAssembly plugin not available for linux or windows
Reviewed-by: rasbold, jrose, twisti
author | never |
---|---|
date | Wed, 15 Apr 2009 09:53:54 -0700 |
parents | c7c777385a15 |
children | bd02caa94611 |
comparison
equal
deleted
inserted
replaced
712:6e33bfd4139b | 720:67a2f5ba5582 |
---|---|
20 # CA 95054 USA or visit www.sun.com if you need additional information or | 20 # CA 95054 USA or visit www.sun.com if you need additional information or |
21 # have any questions. | 21 # have any questions. |
22 # | 22 # |
23 # | 23 # |
24 | 24 |
25 # Single gnu makefile for solaris, linux and windows (windows requires mks or | 25 # Single gnu makefile for solaris, linux and windows (windows requires cygwin and mingw) |
26 # cygwin). | |
27 | |
28 ifeq ($(BINUTILS),) | |
29 # Pop all the way out of the workspace to look for binutils. | |
30 # ...You probably want to override this setting. | |
31 BINUTILS = $(shell cd ../../../../..;pwd)/binutils-2.17-$(LIBARCH) | |
32 endif | |
33 | 26 |
34 # Default arch; it is changed below as needed. | 27 # Default arch; it is changed below as needed. |
35 ARCH = i386 | 28 ARCH = i386 |
36 OS = $(shell uname) | 29 OS = $(shell uname) |
37 | 30 |
38 CPPFLAGS += -I$(BINUTILS)/include -I$(BINUTILS)/bfd | |
39 CPPFLAGS += -DHOTSPOT_LIB_ARCH=\"$(LIBARCH)\" -DLIBARCH_$(LIBARCH) | |
40 CPPFLAGS += -DHOTSPOT_OS=\"$(OS)\" -DOS_$(OS) | |
41 | |
42 ## OS = SunOS ## | 31 ## OS = SunOS ## |
43 ifeq ($(OS),SunOS) | 32 ifeq ($(OS),SunOS) |
44 ARCH = $(shell uname -p) | 33 CPU = $(shell uname -p) |
34 ARCH1=$(CPU:i586=i386) | |
35 ARCH=$(ARCH1:i686=i386) | |
45 OS = solaris | 36 OS = solaris |
46 CC = cc | 37 CC = cc |
47 CCFLAGS += -Kpic -g | 38 CFLAGS += -KPIC |
48 CCFLAGS/amd64 += -xarch=amd64 | 39 ifdef LP64 |
49 CCFLAGS/sparcv9 += -xarch=v9 | 40 ifeq ($(ARCH),sparc) |
50 CCFLAGS += $(CCFLAGS/$(LIBARCH)) | 41 ARCH = sparcv9 |
42 endif | |
43 ifeq ($(ARCH),i386) | |
44 ARCH = amd64 | |
45 endif | |
46 endif | |
47 CFLAGS/sparcv9 += -xarch=v9 | |
48 CFLAGS/amd64 += -m64 | |
49 CFLAGS += $(CFLAGS/$(ARCH)) | |
51 DLDFLAGS += -G | 50 DLDFLAGS += -G |
51 LDFLAGS += -ldl | |
52 OUTFLAGS += -o $@ | 52 OUTFLAGS += -o $@ |
53 LIB_EXT = .so | 53 LIB_EXT = .so |
54 else | 54 else |
55 ## OS = Linux ## | 55 ## OS = Linux ## |
56 ifeq ($(OS),Linux) | 56 ifeq ($(OS),Linux) |
57 ifneq ($(MINGW),) | |
58 LIB_EXT = .dll | |
59 CPPFLAGS += -I$(TARGET_DIR)/include | |
60 LDFLAGS += -L$(TARGET_DIR)/lib | |
61 OS=windows | |
62 ifneq ($(findstring x86_64-,$(MINGW)),) | |
63 ARCH=amd64 | |
64 else | |
65 ARCH=i386 | |
66 endif | |
67 CC = $(MINGW)-gcc | |
68 CONFIGURE_ARGS= --host=$(MINGW) --target=$(MINGW) | |
69 else | |
57 CPU = $(shell uname -m) | 70 CPU = $(shell uname -m) |
58 ifeq ($(CPU),ia64) | 71 ARCH1=$(CPU:x86_64=amd64) |
59 ARCH = ia64 | 72 ARCH=$(ARCH1:i686=i386) |
60 else | 73 CFLAGS/i386 += -m32 |
61 ifeq ($(CPU),x86_64) | 74 CFLAGS/sparc += -m32 |
62 CCFLAGS += -fPIC | 75 CFLAGS/sparcv9 += -m64 |
63 endif # x86_64 | 76 CFLAGS/amd64 += -m64 |
64 endif # ia64 | 77 CFLAGS += $(CFLAGS/$(ARCH)) |
78 CFLAGS += -fPIC | |
65 OS = linux | 79 OS = linux |
80 LIB_EXT = .so | |
66 CC = gcc | 81 CC = gcc |
67 CCFLAGS += -O | 82 endif |
83 CFLAGS += -O | |
68 DLDFLAGS += -shared | 84 DLDFLAGS += -shared |
85 LDFLAGS += -ldl | |
69 OUTFLAGS += -o $@ | 86 OUTFLAGS += -o $@ |
70 LIB_EXT = .so | |
71 CPPFLAGS += -Iinclude -Iinclude/$(OS)_$(ARCH)/ | |
72 ## OS = Windows ## | 87 ## OS = Windows ## |
73 else # !SunOS, !Linux => Windows | 88 else # !SunOS, !Linux => Windows |
74 OS = win | 89 OS = windows |
75 CC = cl | 90 CC = gcc |
76 #CPPFLAGS += /D"WIN32" /D"_WINDOWS" /D"DEBUG" /D"NDEBUG" | 91 #CPPFLAGS += /D"WIN32" /D"_WINDOWS" /D"DEBUG" /D"NDEBUG" |
77 CCFLAGS += /nologo /MD /W3 /WX /O2 /Fo$(@:.dll=.obj) /Gi- | 92 CFLAGS += /nologo /MD /W3 /WX /O2 /Fo$(@:.dll=.obj) /Gi- |
78 CCFLAGS += -Iinclude -Iinclude/gnu -Iinclude/$(OS)_$(ARCH) | 93 CFLAGS += LIBARCH=\"$(LIBARCH)\"" |
79 CCFLAGS += /D"HOTSPOT_LIB_ARCH=\"$(LIBARCH)\"" | |
80 DLDFLAGS += /dll /subsystem:windows /incremental:no \ | 94 DLDFLAGS += /dll /subsystem:windows /incremental:no \ |
81 /export:decode_instruction | 95 /export:decode_instruction |
82 OUTFLAGS += /link /out:$@ | 96 OUTFLAGS += /link /out:$@ |
83 LIB_EXT = .dll | 97 LIB_EXT = .dll |
84 endif # Linux | 98 endif # Linux |
92 ifneq ($(LIBARCH64),) | 106 ifneq ($(LIBARCH64),) |
93 LIBARCH = $(LIBARCH64) | 107 LIBARCH = $(LIBARCH64) |
94 endif # LIBARCH64/$(ARCH) | 108 endif # LIBARCH64/$(ARCH) |
95 endif # LP64 | 109 endif # LP64 |
96 | 110 |
97 TARGET_DIR = bin/$(OS) | 111 JDKARCH=$(LIBARCH:i386=i586) |
112 | |
113 ifeq ($(BINUTILS),) | |
114 # Pop all the way out of the workspace to look for binutils. | |
115 # ...You probably want to override this setting. | |
116 BINUTILSDIR = $(shell cd build/binutils;pwd) | |
117 else | |
118 BINUTILSDIR = $(shell cd $(BINUTILS);pwd) | |
119 endif | |
120 | |
121 CPPFLAGS += -I$(BINUTILSDIR)/include -I$(BINUTILS)/bfd -I$(TARGET_DIR)/bfd | |
122 CPPFLAGS += -DLIBARCH_$(LIBARCH) -DLIBARCH=\"$(LIBARCH)\" -DLIB_EXT=\"$(LIB_EXT)\" | |
123 | |
124 TARGET_DIR = build/$(OS)-$(JDKARCH) | |
98 TARGET = $(TARGET_DIR)/hsdis-$(LIBARCH)$(LIB_EXT) | 125 TARGET = $(TARGET_DIR)/hsdis-$(LIBARCH)$(LIB_EXT) |
99 | 126 |
100 SOURCE = hsdis.c | 127 SOURCE = hsdis.c |
101 | 128 |
102 LIBRARIES = $(BINUTILS)/bfd/libbfd.a \ | 129 LIBRARIES = $(TARGET_DIR)/bfd/libbfd.a \ |
103 $(BINUTILS)/opcodes/libopcodes.a \ | 130 $(TARGET_DIR)/opcodes/libopcodes.a \ |
104 $(BINUTILS)/libiberty/libiberty.a | 131 $(TARGET_DIR)/libiberty/libiberty.a |
105 | 132 |
106 DEMO_TARGET = $(TARGET_DIR)/hsdis-demo-$(LIBARCH) | 133 DEMO_TARGET = $(TARGET_DIR)/hsdis-demo |
107 DEMO_SOURCE = hsdis-demo.c | 134 DEMO_SOURCE = hsdis-demo.c |
108 | 135 |
109 .PHONY: all clean demo both | 136 .PHONY: all clean demo both |
110 | 137 |
111 all: $(TARGET) demo | 138 all: $(TARGET) |
112 | 139 |
113 both: all all64 | 140 both: all all64 |
114 | 141 |
115 %64: | 142 %64: |
116 $(MAKE) LP64=1 ${@:%64=%} | 143 $(MAKE) LP64=1 ${@:%64=%} |
117 | 144 |
118 demo: $(TARGET) $(DEMO_TARGET) | 145 demo: $(TARGET) $(DEMO_TARGET) |
119 | 146 |
120 $(LIBRARIES): | 147 $(LIBRARIES): $(TARGET_DIR) $(TARGET_DIR)/Makefile |
121 @echo "*** Please build binutils first; see ./README: ***" | 148 if [ ! -f $@ ]; then cd $(TARGET_DIR); make all-opcodes; fi |
122 @sed < ./README '1,/__________/d' | head -20 | 149 |
123 @echo "..."; exit 1 | 150 $(TARGET_DIR)/Makefile: |
151 (cd $(TARGET_DIR); CC=$(CC) CFLAGS="$(CFLAGS)" $(BINUTILSDIR)/configure --disable-nls $(CONFIGURE_ARGS)) | |
124 | 152 |
125 $(TARGET): $(SOURCE) $(LIBS) $(LIBRARIES) $(TARGET_DIR) | 153 $(TARGET): $(SOURCE) $(LIBS) $(LIBRARIES) $(TARGET_DIR) |
126 $(CC) $(OUTFLAGS) $(CPPFLAGS) $(CCFLAGS) $(SOURCE) $(DLDFLAGS) $(LIBRARIES) | 154 $(CC) $(OUTFLAGS) $(CPPFLAGS) $(CFLAGS) $(SOURCE) $(DLDFLAGS) $(LIBRARIES) |
127 | 155 |
128 $(DEMO_TARGET): $(DEMO_SOURCE) $(TARGET) $(TARGET_DIR) | 156 $(DEMO_TARGET): $(DEMO_SOURCE) $(TARGET) $(TARGET_DIR) |
129 $(CC) $(OUTFLAGS) $(CPPFLAGS) $(CCFLAGS) $(DEMO_SOURCE) $(LDFLAGS) | 157 $(CC) $(OUTFLAGS) -DTARGET_DIR=\"$(TARGET_DIR)\" $(CPPFLAGS) -g $(CFLAGS/$(ARCH)) $(DEMO_SOURCE) $(LDFLAGS) |
130 | 158 |
131 $(TARGET_DIR): | 159 $(TARGET_DIR): |
132 [ -d $@ ] || mkdir -p $@ | 160 [ -d $@ ] || mkdir -p $@ |
133 | 161 |
134 clean: | 162 clean: |