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