OSDN Git Service

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