OSDN Git Service

XFAIL these tests on AIX when using -msoft-float
[pf3gnuchains/gcc-fork.git] / libffi / Makefile.am
1 ## Process this with automake to create Makefile.in
2
3 AUTOMAKE_OPTIONS = cygnus
4
5 SUBDIRS = include
6
7 EXTRA_DIST = LICENSE ChangeLog.v1 src/mips/ffi.c src/mips/n32.S \
8                 src/mips/n32.s src/mips/o32.S src/mips/o32.s \
9                 src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S \
10                 src/x86/ffi.c src/x86/sysv.S src/x86/win32.S \
11                 src/alpha/ffi.c src/alpha/osf.S \
12                 src/m68k/ffi.c src/m68k/sysv.S \
13                 src/powerpc/ffi.c src/powerpc/sysv.S \
14                 src/powerpc/ppc_closure.S src/powerpc/asm.h \
15                 src/arm/ffi.c src/arm/sysv.S
16
17 VPATH = @srcdir@:@srcdir@/src:@srcdir@/src/@TARGETDIR@
18
19 ## ################################################################
20
21 ##
22 ## This section is for make and multilib madness.
23 ##
24
25 # Work around what appears to be a GNU make bug handling MAKEFLAGS
26 # values defined in terms of make variables, as is the case for CC and
27 # friends when we are called from the top level Makefile.
28 AM_MAKEFLAGS = \
29         "AR_FLAGS=$(AR_FLAGS)" \
30         "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
31         "CFLAGS=$(CFLAGS)" \
32         "CXXFLAGS=$(CXXFLAGS)" \
33         "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
34         "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
35         "INSTALL=$(INSTALL)" \
36         "INSTALL_DATA=$(INSTALL_DATA)" \
37         "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
38         "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
39         "JC1FLAGS=$(JC1FLAGS)" \
40         "LDFLAGS=$(LDFLAGS)" \
41         "LIBCFLAGS=$(LIBCFLAGS)" \
42         "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
43         "MAKE=$(MAKE)" \
44         "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
45         "PICFLAG=$(PICFLAG)" \
46         "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
47         "SHELL=$(SHELL)" \
48         "exec_prefix=$(exec_prefix)" \
49         "infodir=$(infodir)" \
50         "libdir=$(libdir)" \
51         "prefix=$(prefix)" \
52         "AR=$(AR)" \
53         "AS=$(AS)" \
54         "CC=$(CC)" \
55         "CXX=$(CXX)" \
56         "LD=$(LD)" \
57         "LIBCFLAGS=$(LIBCFLAGS)" \
58         "NM=$(NM)" \
59         "PICFLAG=$(PICFLAG)" \
60         "RANLIB=$(RANLIB)" \
61         "DESTDIR=$(DESTDIR)"
62
63 MAKEOVERRIDES=
64
65 # Multilib support variables.
66 MULTISRCTOP =
67 MULTIBUILDTOP =
68 MULTIDIRS =
69 MULTISUBDIR =
70 MULTIDO = true
71 MULTICLEAN = true
72
73 ## Install a library built with a cross compiler in tooldir, not
74 ## libdir.
75 if USE_LIBDIR
76 toolexeclibdir = $(libdir)$(MULTISUBDIR)
77 else
78 toolexecdir = $(exec_prefix)/$(target_alias)
79 toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
80 endif
81
82 toolexeclib_LTLIBRARIES = libffi.la
83 noinst_LTLIBRARIES = libfficonvenience.la
84
85 noinst_PROGRAMS = ffitest
86
87 ffitest_SOURCES = src/ffitest.c
88 ffitest_LDADD = libffi.la
89 ffitest_LDFLAGS = -shared-libgcc
90
91 TARGET_SRC_MIPS_GCC = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
92 TARGET_SRC_MIPS_SGI = src/mips/ffi.c src/mips/o32.s src/mips/n32.s
93 TARGET_SRC_X86 = src/x86/ffi.c src/x86/sysv.S
94 TARGET_SRC_X86_WIN32 = src/x86/ffi.c src/x86/win32.S
95 TARGET_SRC_SPARC = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
96 TARGET_SRC_ALPHA = src/alpha/ffi.c src/alpha/osf.S
97 TARGET_SRC_IA64 = src/ia64/ffi.c src/ia64/unix.S
98 TARGET_SRC_M68K = src/m68k/ffi.c src/m68k/sysv.S
99 TARGET_SRC_POWERPC = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
100 TARGET_SRC_POWERPC_DARWIN = src/powerpc/ffi_darwin.c src/powerpc/darwin.S
101 TARGET_SRC_ARM =  src/arm/sysv.S src/arm/ffi.c
102
103 ##libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c $(TARGET_SRC_@TARGET@)
104 ## Work around automake deficiency
105 libffi_la_common_SOURCES = src/debug.c src/prep_cif.c src/types.c \
106                 src/raw_api.c src/java_raw_api.c
107 if MIPS_GCC
108 libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_GCC)
109 libfficonvenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_GCC)
110 endif
111 if MIPS_SGI
112 libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_SGI)
113 libfficonvenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_SGI)
114 endif
115 if X86
116 libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86)
117 libfficonvenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86)
118 endif
119 if X86_WIN32
120 libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32)
121 libfficonvenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32)
122 endif
123 if SPARC
124 libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SPARC)
125 libfficonvenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SPARC)
126 endif
127 if ALPHA
128 libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ALPHA)
129 libfficonvenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ALPHA)
130 endif
131 if IA64
132 libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_IA64)
133 libfficonvenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_IA64)
134 endif
135 if M68K
136 libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_M68K)
137 libfficonvenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_M68K)
138 endif
139 if POWERPC
140 libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC)
141 libfficonvenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC)
142 endif
143 if POWERPC_DARWIN
144 libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN)
145 libfficonvenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN)
146 endif
147 if ARM
148 libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
149 libfficonvenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
150 endif
151
152 AM_CFLAGS = -fexceptions
153
154 libffi_la_LDFLAGS = -release $(VERSION) 
155
156 INCLUDES = -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
157
158 # Override these rules so that object files get put in the correct 
159 # subdirectories. 
160 .c.o:
161         $(LTCOMPILE) -c -o $@ $<
162
163 .s.o:
164         $(LTCOMPILE) -c -o $@ $<
165
166 .S.o:
167         $(LTCOMPILE) -c -o $@ $<
168
169 .c.lo:
170         $(LTCOMPILE) -c -o $@ $<
171
172 .s.lo:
173         $(LTCOMPILE) -c -o $@ $<
174
175 .S.lo:
176         $(LTCOMPILE) -c -o $@ $<
177
178 # Multilib support.
179 .PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
180         maintainer-clean-multi
181
182 all-recursive: all-multi
183 install-recursive: install-multi
184 mostlyclean-recursive: mostlyclean-multi
185 clean-recursive: clean-multi
186 distclean-recursive: distclean-multi
187 maintainer-clean-recursive: maintainer-clean-multi
188
189 all-multi:
190         $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
191 install-multi:
192         $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
193 mostlyclean-multi:
194         $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
195 clean-multi:
196         $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
197 distclean-multi:
198         $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
199 maintainer-clean-multi:
200         $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
201
202
203 ## ################################################################
204