source: trunk/src/gcc/libffi/Makefile.am@ 1036

Last change on this file since 1036 was 64, checked in by bird, 22 years ago

OS/2 workaround for the parallel build workaround ': $(MAKE) ; $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do'.

  • Property cvs2svn:cvs-rev set to 1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 6.5 KB
Line 
1## Process this with automake to create Makefile.in
2
3AUTOMAKE_OPTIONS = cygnus
4
5SUBDIRS = include
6
7EXTRA_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
20VPATH = @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.
31AM_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
66MAKEOVERRIDES=
67
68# Multilib support variables.
69MULTISRCTOP =
70MULTIBUILDTOP =
71MULTIDIRS =
72MULTISUBDIR =
73MULTIDO = true
74MULTICLEAN = true
75
76toolexeclib_LTLIBRARIES = libffi.la
77noinst_LTLIBRARIES = libffi_convenience.la
78
79noinst_PROGRAMS = ffitest
80
81ffitest_OBJECTS = ffitest.lo
82ffitest_LDADD = libffi.la
83ffitest_LDFLAGS = -shared-libgcc
84
85TARGET_SRC_MIPS_GCC = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
86TARGET_SRC_MIPS_SGI = src/mips/ffi.c src/mips/o32.s src/mips/n32.s
87TARGET_SRC_X86 = src/x86/ffi.c src/x86/sysv.S
88TARGET_SRC_X86_WIN32 = src/x86/ffi.c src/x86/win32.S
89TARGET_SRC_SPARC = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
90TARGET_SRC_ALPHA = src/alpha/ffi.c src/alpha/osf.S
91TARGET_SRC_IA64 = src/ia64/ffi.c src/ia64/unix.S
92TARGET_SRC_M68K = src/m68k/ffi.c src/m68k/sysv.S
93TARGET_SRC_POWERPC = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
94TARGET_SRC_POWERPC_AIX = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closures.S
95TARGET_SRC_POWERPC_DARWIN = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
96TARGET_SRC_ARM = src/arm/sysv.S src/arm/ffi.c
97
98##libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c $(TARGET_SRC_@TARGET@)
99## Work around automake deficiency
100libffi_la_common_SOURCES = src/debug.c src/prep_cif.c src/types.c \
101 src/raw_api.c src/java_raw_api.c
102if MIPS_GCC
103libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_GCC)
104libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_GCC)
105endif
106if MIPS_SGI
107libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_SGI)
108libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_SGI)
109endif
110if X86
111libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86)
112libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86)
113endif
114if X86_WIN32
115libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32)
116libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32)
117endif
118if SPARC
119libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SPARC)
120libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SPARC)
121endif
122if ALPHA
123libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ALPHA)
124libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ALPHA)
125endif
126if IA64
127libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_IA64)
128libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_IA64)
129endif
130if M68K
131libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_M68K)
132libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_M68K)
133endif
134if POWERPC
135libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC)
136libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC)
137endif
138if POWERPC_AIX
139libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_AIX)
140libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_AIX)
141endif
142if POWERPC_DARWIN
143libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN)
144libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN)
145endif
146if ARM
147libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
148libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
149endif
150
151AM_CFLAGS = -fexceptions
152
153libffi_la_LDFLAGS = -release $(VERSION)
154
155INCLUDES = -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
156
157# Override these rules so that object files get put in the correct
158# subdirectories.
159.c.o:
160 $(LTCOMPILE) -c -o $@ $<
161
162.s.o:
163 $(LTCOMPILE) -c -o $@ $<
164
165.S.o:
166 $(LTCOMPILE) -c -o $@ $<
167
168.c.lo:
169 $(LTCOMPILE) -c -o $@ $<
170
171.s.lo:
172 $(LTCOMPILE) -c -o $@ $<
173
174.S.lo:
175 $(LTCOMPILE) -c -o $@ $<
176
177# Multilib support.
178.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
179 maintainer-clean-multi
180
181all-recursive: all-multi
182install-recursive: install-multi
183mostlyclean-recursive: mostlyclean-multi
184clean-recursive: clean-multi
185distclean-recursive: distclean-multi
186maintainer-clean-recursive: maintainer-clean-multi
187
188all-multi:
189ifeq "$(BUILD_PLATFORM)" "OS2"
190 $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
191else
192 : $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
193endif
194install-multi:
195 $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
196mostlyclean-multi:
197 $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
198clean-multi:
199 $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
200distclean-multi:
201 $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
202maintainer-clean-multi:
203 $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
204
205
206## ################################################################
207
Note: See TracBrowser for help on using the repository browser.