Mercurial > hg > truffle
comparison src/share/tools/hsdis/Makefile @ 14406:c9f0adfb4a8b
8019926: PPC64 (part 106): Make hsdis build and work on Linux/PPC64
Summary: Make hsdis work on Linux/PPC64 and AIX/PPC64
Reviewed-by: kvn
author | simonis |
---|---|
date | Fri, 26 Jul 2013 10:12:15 +0200 |
parents | f36e073d56a4 |
children | 4ca6dc0799b6 |
comparison
equal
deleted
inserted
replaced
14405:438e13354adf | 14406:c9f0adfb4a8b |
---|---|
25 # Single gnu makefile for solaris, linux and windows (windows requires cygwin and mingw) | 25 # Single gnu makefile for solaris, linux and windows (windows requires cygwin and mingw) |
26 | 26 |
27 # Default arch; it is changed below as needed. | 27 # Default arch; it is changed below as needed. |
28 ARCH = i386 | 28 ARCH = i386 |
29 OS = $(shell uname) | 29 OS = $(shell uname) |
30 AR = ar | |
30 | 31 |
31 ## OS = SunOS ## | 32 ## OS = SunOS ## |
32 ifeq ($(OS),SunOS) | 33 ifeq ($(OS),SunOS) |
33 CPU = $(shell uname -p) | 34 CPU = $(shell uname -p) |
34 ARCH1=$(CPU:i586=i386) | 35 ARCH1=$(CPU:i586=i386) |
71 ARCH1=$(CPU:x86_64=amd64) | 72 ARCH1=$(CPU:x86_64=amd64) |
72 ARCH=$(ARCH1:i686=i386) | 73 ARCH=$(ARCH1:i686=i386) |
73 ifdef LP64 | 74 ifdef LP64 |
74 CFLAGS/sparcv9 += -m64 | 75 CFLAGS/sparcv9 += -m64 |
75 CFLAGS/amd64 += -m64 | 76 CFLAGS/amd64 += -m64 |
77 CFLAGS/ppc64 += -m64 | |
76 else | 78 else |
77 ARCH=$(ARCH1:amd64=i386) | 79 ARCH=$(ARCH1:amd64=i386) |
78 CFLAGS/i386 += -m32 | 80 CFLAGS/i386 += -m32 |
79 CFLAGS/sparc += -m32 | 81 CFLAGS/sparc += -m32 |
80 endif | 82 endif |
86 endif | 88 endif |
87 CFLAGS += -O | 89 CFLAGS += -O |
88 DLDFLAGS += -shared | 90 DLDFLAGS += -shared |
89 LDFLAGS += -ldl | 91 LDFLAGS += -ldl |
90 OUTFLAGS += -o $@ | 92 OUTFLAGS += -o $@ |
91 ## OS = Windows ## | 93 else |
92 else # !SunOS, !Linux => Darwin or Windows | 94 ## OS = AIX ## |
95 ifeq ($(OS),AIX) | |
96 OS = aix | |
97 ARCH = ppc64 | |
98 CC = xlc_r | |
99 CFLAGS += -DAIX -g -qpic=large -q64 | |
100 CFLAGS/ppc64 += -q64 | |
101 AR = ar -X64 | |
102 DLDFLAGS += -qmkshrobj -lz | |
103 OUTFLAGS += -o $@ | |
104 LIB_EXT = .so | |
105 else | |
106 ## OS = Darwin ## | |
93 ifeq ($(OS),Darwin) | 107 ifeq ($(OS),Darwin) |
94 CPU = $(shell uname -m) | 108 CPU = $(shell uname -m) |
95 ARCH1=$(CPU:x86_64=amd64) | 109 ARCH1=$(CPU:x86_64=amd64) |
96 ARCH=$(ARCH1:i686=i386) | 110 ARCH=$(ARCH1:i686=i386) |
97 ifdef LP64 | 111 ifdef LP64 |
111 # CFLAGS += -DZ_PREFIX | 125 # CFLAGS += -DZ_PREFIX |
112 DLDFLAGS += -shared | 126 DLDFLAGS += -shared |
113 DLDFLAGS += -lz | 127 DLDFLAGS += -lz |
114 LDFLAGS += -ldl | 128 LDFLAGS += -ldl |
115 OUTFLAGS += -o $@ | 129 OUTFLAGS += -o $@ |
116 else #Windows | 130 else |
131 ## OS = Windows ## | |
117 OS = windows | 132 OS = windows |
118 CC = gcc | 133 CC = gcc |
119 CFLAGS += /nologo /MD /W3 /WX /O2 /Fo$(@:.dll=.obj) /Gi- | 134 CFLAGS += /nologo /MD /W3 /WX /O2 /Fo$(@:.dll=.obj) /Gi- |
120 CFLAGS += LIBARCH=\"$(LIBARCH)\" | 135 CFLAGS += LIBARCH=\"$(LIBARCH)\" |
121 DLDFLAGS += /dll /subsystem:windows /incremental:no \ | 136 DLDFLAGS += /dll /subsystem:windows /incremental:no \ |
122 /export:decode_instruction | 137 /export:decode_instruction |
123 OUTFLAGS += /link /out:$@ | 138 OUTFLAGS += /link /out:$@ |
124 LIB_EXT = .dll | 139 LIB_EXT = .dll |
125 endif # Darwin | 140 endif # Darwin |
141 endif # AIX | |
126 endif # Linux | 142 endif # Linux |
127 endif # SunOS | 143 endif # SunOS |
128 | 144 |
129 LIBARCH = $(ARCH) | 145 LIBARCH = $(ARCH) |
130 ifdef LP64 | 146 ifdef LP64 |
174 | 190 |
175 $(LIBRARIES): $(TARGET_DIR) $(TARGET_DIR)/Makefile | 191 $(LIBRARIES): $(TARGET_DIR) $(TARGET_DIR)/Makefile |
176 if [ ! -f $@ ]; then cd $(TARGET_DIR); make all-opcodes; fi | 192 if [ ! -f $@ ]; then cd $(TARGET_DIR); make all-opcodes; fi |
177 | 193 |
178 $(TARGET_DIR)/Makefile: | 194 $(TARGET_DIR)/Makefile: |
179 (cd $(TARGET_DIR); CC=$(CC) CFLAGS="$(CFLAGS)" $(BINUTILSDIR)/configure --disable-nls $(CONFIGURE_ARGS)) | 195 (cd $(TARGET_DIR); CC=$(CC) CFLAGS="$(CFLAGS)" AR="$(AR)" $(BINUTILSDIR)/configure --disable-nls $(CONFIGURE_ARGS)) |
180 | 196 |
181 $(TARGET): $(SOURCE) $(LIBS) $(LIBRARIES) $(TARGET_DIR) | 197 $(TARGET): $(SOURCE) $(LIBS) $(LIBRARIES) $(TARGET_DIR) |
182 $(CC) $(OUTFLAGS) $(CPPFLAGS) $(CFLAGS) $(SOURCE) $(DLDFLAGS) $(LIBRARIES) | 198 $(CC) $(OUTFLAGS) $(CPPFLAGS) $(CFLAGS) $(SOURCE) $(DLDFLAGS) $(LIBRARIES) |
183 | 199 |
184 $(DEMO_TARGET): $(DEMO_SOURCE) $(TARGET) $(TARGET_DIR) | 200 $(DEMO_TARGET): $(DEMO_SOURCE) $(TARGET) $(TARGET_DIR) |