| 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 | toolexeclib_LTLIBRARIES = libffi.la
 | 
|---|
| 77 | noinst_LTLIBRARIES = libffi_convenience.la
 | 
|---|
| 78 | 
 | 
|---|
| 79 | noinst_PROGRAMS = ffitest
 | 
|---|
| 80 | 
 | 
|---|
| 81 | ffitest_OBJECTS = ffitest.lo
 | 
|---|
| 82 | ffitest_LDADD = libffi.la
 | 
|---|
| 83 | ffitest_LDFLAGS = -shared-libgcc
 | 
|---|
| 84 | 
 | 
|---|
| 85 | TARGET_SRC_MIPS_GCC = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
 | 
|---|
| 86 | TARGET_SRC_MIPS_SGI = src/mips/ffi.c src/mips/o32.s src/mips/n32.s
 | 
|---|
| 87 | TARGET_SRC_X86 = src/x86/ffi.c src/x86/sysv.S
 | 
|---|
| 88 | TARGET_SRC_X86_WIN32 = src/x86/ffi.c src/x86/win32.S
 | 
|---|
| 89 | TARGET_SRC_SPARC = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
 | 
|---|
| 90 | TARGET_SRC_ALPHA = src/alpha/ffi.c src/alpha/osf.S
 | 
|---|
| 91 | TARGET_SRC_IA64 = src/ia64/ffi.c src/ia64/unix.S
 | 
|---|
| 92 | TARGET_SRC_M68K = src/m68k/ffi.c src/m68k/sysv.S
 | 
|---|
| 93 | TARGET_SRC_POWERPC = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
 | 
|---|
| 94 | TARGET_SRC_POWERPC_AIX = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closures.S
 | 
|---|
| 95 | TARGET_SRC_POWERPC_DARWIN = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
 | 
|---|
| 96 | TARGET_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
 | 
|---|
| 100 | libffi_la_common_SOURCES = src/debug.c src/prep_cif.c src/types.c \
 | 
|---|
| 101 |                 src/raw_api.c src/java_raw_api.c
 | 
|---|
| 102 | if MIPS_GCC
 | 
|---|
| 103 | libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_GCC)
 | 
|---|
| 104 | libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_GCC)
 | 
|---|
| 105 | endif
 | 
|---|
| 106 | if MIPS_SGI
 | 
|---|
| 107 | libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_SGI)
 | 
|---|
| 108 | libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_SGI)
 | 
|---|
| 109 | endif
 | 
|---|
| 110 | if X86
 | 
|---|
| 111 | libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86)
 | 
|---|
| 112 | libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86)
 | 
|---|
| 113 | endif
 | 
|---|
| 114 | if X86_WIN32
 | 
|---|
| 115 | libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32)
 | 
|---|
| 116 | libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32)
 | 
|---|
| 117 | endif
 | 
|---|
| 118 | if SPARC
 | 
|---|
| 119 | libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SPARC)
 | 
|---|
| 120 | libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SPARC)
 | 
|---|
| 121 | endif
 | 
|---|
| 122 | if ALPHA
 | 
|---|
| 123 | libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ALPHA)
 | 
|---|
| 124 | libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ALPHA)
 | 
|---|
| 125 | endif
 | 
|---|
| 126 | if IA64
 | 
|---|
| 127 | libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_IA64)
 | 
|---|
| 128 | libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_IA64)
 | 
|---|
| 129 | endif
 | 
|---|
| 130 | if M68K
 | 
|---|
| 131 | libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_M68K)
 | 
|---|
| 132 | libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_M68K)
 | 
|---|
| 133 | endif
 | 
|---|
| 134 | if POWERPC
 | 
|---|
| 135 | libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC)
 | 
|---|
| 136 | libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC)
 | 
|---|
| 137 | endif
 | 
|---|
| 138 | if POWERPC_AIX
 | 
|---|
| 139 | libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_AIX)
 | 
|---|
| 140 | libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_AIX)
 | 
|---|
| 141 | endif
 | 
|---|
| 142 | if POWERPC_DARWIN
 | 
|---|
| 143 | libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN)
 | 
|---|
| 144 | libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN)
 | 
|---|
| 145 | endif
 | 
|---|
| 146 | if ARM
 | 
|---|
| 147 | libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
 | 
|---|
| 148 | libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
 | 
|---|
| 149 | endif
 | 
|---|
| 150 | 
 | 
|---|
| 151 | AM_CFLAGS = -fexceptions
 | 
|---|
| 152 | 
 | 
|---|
| 153 | libffi_la_LDFLAGS = -release $(VERSION) 
 | 
|---|
| 154 | 
 | 
|---|
| 155 | INCLUDES = -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 | 
 | 
|---|
| 181 | all-recursive: all-multi
 | 
|---|
| 182 | install-recursive: install-multi
 | 
|---|
| 183 | mostlyclean-recursive: mostlyclean-multi
 | 
|---|
| 184 | clean-recursive: clean-multi
 | 
|---|
| 185 | distclean-recursive: distclean-multi
 | 
|---|
| 186 | maintainer-clean-recursive: maintainer-clean-multi
 | 
|---|
| 187 | 
 | 
|---|
| 188 | all-multi:
 | 
|---|
| 189 |         : $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
 | 
|---|
| 190 | install-multi:
 | 
|---|
| 191 |         $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
 | 
|---|
| 192 | mostlyclean-multi:
 | 
|---|
| 193 |         $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
 | 
|---|
| 194 | clean-multi:
 | 
|---|
| 195 |         $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
 | 
|---|
| 196 | distclean-multi:
 | 
|---|
| 197 |         $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
 | 
|---|
| 198 | maintainer-clean-multi:
 | 
|---|
| 199 |         $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
 | 
|---|
| 200 | 
 | 
|---|
| 201 | 
 | 
|---|
| 202 | ## ################################################################
 | 
|---|
| 203 | 
 | 
|---|