hotspot/src/share/tools/hsdis/Makefile
author jlaskey
Tue, 23 Jul 2013 12:00:29 -0300
changeset 19089 51cfdcf21d35
parent 17006 b9bfa72b7dda
child 22822 696e77cc8e7b
permissions -rw-r--r--
8021130: Comments need to be tokens Reviewed-by: lagergren, attila Contributed-by: james.laskey@oracle.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
     1
#
17006
b9bfa72b7dda 7104565: trim jprt build targets
drchase
parents: 13873
diff changeset
     2
# Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
     4
#
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
     7
# published by the Free Software Foundation.
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
     8
#
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
     9
# This code is distributed in the hope that it will be useful, but WITHOUT
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    10
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    11
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    12
# version 2 for more details (a copy is included in the LICENSE file that
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    13
# accompanied this code).
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    14
#
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    15
# You should have received a copy of the GNU General Public License version
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    16
# 2 along with this work; if not, write to the Free Software Foundation,
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    17
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    18
#
5547
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 3261
diff changeset
    19
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 3261
diff changeset
    20
# or visit www.oracle.com if you need additional information or have any
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 3261
diff changeset
    21
# questions.
17006
b9bfa72b7dda 7104565: trim jprt build targets
drchase
parents: 13873
diff changeset
    22
#
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    23
#
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    24
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    25
# Single gnu makefile for solaris, linux and windows (windows requires cygwin and mingw)
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    26
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    27
# Default arch; it is changed below as needed.
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    28
ARCH		= i386
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    29
OS		= $(shell uname)
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    30
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    31
## OS = SunOS ##
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    32
ifeq		($(OS),SunOS)
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    33
CPU             = $(shell uname -p)
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    34
ARCH1=$(CPU:i586=i386)
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    35
ARCH=$(ARCH1:i686=i386)
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    36
OS		= solaris
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    37
CC 		= cc
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    38
CFLAGS		+= -KPIC
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    39
ifdef LP64
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    40
ifeq ($(ARCH),sparc)
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    41
ARCH            = sparcv9
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    42
endif
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    43
ifeq ($(ARCH),i386)
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    44
ARCH            = amd64
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    45
endif
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    46
endif
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    47
CFLAGS/sparcv9	+= -xarch=v9
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    48
CFLAGS/amd64	+= -m64
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    49
CFLAGS		+= $(CFLAGS/$(ARCH))
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    50
DLDFLAGS	+= -G
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    51
LDFLAGS         += -ldl
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    52
OUTFLAGS	+= -o $@
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    53
LIB_EXT		= .so
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    54
else
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    55
## OS = Linux ##
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    56
ifeq		($(OS),Linux)
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    57
ifneq           ($(MINGW),)
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    58
LIB_EXT		= .dll
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    59
CPPFLAGS += -I$(TARGET_DIR)/include
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    60
LDFLAGS += -L$(TARGET_DIR)/lib
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    61
OS=windows
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    62
ifneq           ($(findstring x86_64-,$(MINGW)),)
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    63
ARCH=amd64
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    64
else
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    65
ARCH=i386
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    66
endif
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    67
CC 		= $(MINGW)-gcc
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    68
CONFIGURE_ARGS= --host=$(MINGW) --target=$(MINGW)
17006
b9bfa72b7dda 7104565: trim jprt build targets
drchase
parents: 13873
diff changeset
    69
else   #linux
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    70
CPU             = $(shell uname -m)
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    71
ARCH1=$(CPU:x86_64=amd64)
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    72
ARCH=$(ARCH1:i686=i386)
13873
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
    73
ifdef LP64
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
    74
CFLAGS/sparcv9	+= -m64
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
    75
CFLAGS/amd64	+= -m64
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
    76
else
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
    77
ARCH=$(ARCH1:amd64=i386)
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    78
CFLAGS/i386	+= -m32
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    79
CFLAGS/sparc	+= -m32
13873
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
    80
endif
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    81
CFLAGS		+= $(CFLAGS/$(ARCH))
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    82
CFLAGS		+= -fPIC
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    83
OS		= linux
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    84
LIB_EXT		= .so
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    85
CC 		= gcc
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    86
endif
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    87
CFLAGS		+= -O
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    88
DLDFLAGS	+= -shared
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
    89
LDFLAGS         += -ldl
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    90
OUTFLAGS	+= -o $@
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
    91
## OS = Windows ##
13873
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
    92
else   # !SunOS, !Linux => Darwin or Windows
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
    93
ifeq ($(OS),Darwin)
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
    94
CPU             = $(shell uname -m)
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
    95
ARCH1=$(CPU:x86_64=amd64)
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
    96
ARCH=$(ARCH1:i686=i386)
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
    97
ifdef LP64
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
    98
CFLAGS/sparcv9  += -m64
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
    99
CFLAGS/amd64    += -m64
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   100
else
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   101
ARCH=$(ARCH1:amd64=i386)
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   102
CFLAGS/i386     += -m32
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   103
CFLAGS/sparc    += -m32
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   104
endif # LP64
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   105
CFLAGS          += $(CFLAGS/$(ARCH))
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   106
CFLAGS          += -fPIC
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   107
OS              = macosx
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   108
LIB_EXT         = .dylib
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   109
CC              = gcc
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   110
CFLAGS          += -O
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   111
# CFLAGS        += -DZ_PREFIX
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   112
DLDFLAGS        += -shared
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   113
DLDFLAGS        += -lz
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   114
LDFLAGS         += -ldl
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   115
OUTFLAGS        += -o $@
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   116
else #Windows
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   117
OS		= windows
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   118
CC		= gcc
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   119
CFLAGS		+=  /nologo /MD /W3 /WX /O2 /Fo$(@:.dll=.obj) /Gi-
13873
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   120
CFLAGS		+= LIBARCH=\"$(LIBARCH)\"
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   121
DLDFLAGS	+= /dll /subsystem:windows /incremental:no \
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   122
			/export:decode_instruction
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   123
OUTFLAGS	+= /link /out:$@
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   124
LIB_EXT		= .dll
13873
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   125
endif   # Darwin
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   126
endif	# Linux
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   127
endif	# SunOS
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   128
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   129
LIBARCH		= $(ARCH)
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   130
ifdef		LP64
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   131
LIBARCH64/sparc	= sparcv9
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   132
LIBARCH64/i386	= amd64
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   133
LIBARCH64	= $(LIBARCH64/$(ARCH))
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   134
ifneq		($(LIBARCH64),)
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   135
LIBARCH		= $(LIBARCH64)
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   136
endif   # LIBARCH64/$(ARCH)
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   137
endif   # LP64
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   138
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   139
JDKARCH=$(LIBARCH:i386=i586)
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   140
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   141
ifeq            ($(BINUTILS),)
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   142
# Pop all the way out of the workspace to look for binutils.
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   143
# ...You probably want to override this setting.
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   144
BINUTILSDIR	= $(shell cd build/binutils;pwd)
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   145
else
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   146
BINUTILSDIR	= $(shell cd $(BINUTILS);pwd)
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   147
endif
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   148
13873
7b72e3873785 6879063: SA should use hsdis for disassembly
minqi
parents: 5547
diff changeset
   149
CPPFLAGS	+= -I$(BINUTILSDIR)/include -I$(BINUTILSDIR)/bfd -I$(TARGET_DIR)/bfd
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   150
CPPFLAGS	+= -DLIBARCH_$(LIBARCH) -DLIBARCH=\"$(LIBARCH)\" -DLIB_EXT=\"$(LIB_EXT)\"
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   151
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   152
TARGET_DIR	= build/$(OS)-$(JDKARCH)
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   153
TARGET		= $(TARGET_DIR)/hsdis-$(LIBARCH)$(LIB_EXT)
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   154
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   155
SOURCE		= hsdis.c
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   156
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   157
LIBRARIES =	$(TARGET_DIR)/bfd/libbfd.a \
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   158
		$(TARGET_DIR)/opcodes/libopcodes.a \
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   159
		$(TARGET_DIR)/libiberty/libiberty.a
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   160
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   161
DEMO_TARGET	= $(TARGET_DIR)/hsdis-demo
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   162
DEMO_SOURCE	= hsdis-demo.c
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   163
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   164
.PHONY:  all clean demo both
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   165
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   166
all:  $(TARGET)
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   167
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   168
both: all all64
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   169
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   170
%64:
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   171
	$(MAKE) LP64=1 ${@:%64=%}
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   172
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   173
demo: $(TARGET) $(DEMO_TARGET)
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   174
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   175
$(LIBRARIES): $(TARGET_DIR) $(TARGET_DIR)/Makefile
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   176
	if [ ! -f $@ ]; then cd $(TARGET_DIR); make all-opcodes; fi
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   177
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   178
$(TARGET_DIR)/Makefile:
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   179
	(cd $(TARGET_DIR); CC=$(CC) CFLAGS="$(CFLAGS)" $(BINUTILSDIR)/configure --disable-nls $(CONFIGURE_ARGS))
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   180
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   181
$(TARGET): $(SOURCE) $(LIBS) $(LIBRARIES) $(TARGET_DIR)
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   182
	$(CC) $(OUTFLAGS) $(CPPFLAGS) $(CFLAGS) $(SOURCE) $(DLDFLAGS) $(LIBRARIES)
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   183
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   184
$(DEMO_TARGET): $(DEMO_SOURCE) $(TARGET) $(TARGET_DIR)
2564
85c3ae53ca1c 6684007: PrintAssembly plugin not available for linux or windows
never
parents: 347
diff changeset
   185
	$(CC) $(OUTFLAGS) -DTARGET_DIR=\"$(TARGET_DIR)\" $(CPPFLAGS) -g $(CFLAGS/$(ARCH)) $(DEMO_SOURCE) $(LDFLAGS)
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   186
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   187
$(TARGET_DIR):
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   188
	[ -d $@ ] || mkdir -p $@
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   189
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   190
clean:
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents:
diff changeset
   191
	rm -rf $(TARGET_DIR)