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