xref: /aosp_15_r20/external/libffi/Makefile.am (revision 1fd5a2e1d639cd1ddf29dd0c484c123bbd850c21)
1*1fd5a2e1SPrashanth Swaminathan## Process this with automake to create Makefile.in
2*1fd5a2e1SPrashanth Swaminathan
3*1fd5a2e1SPrashanth SwaminathanAUTOMAKE_OPTIONS = foreign subdir-objects
4*1fd5a2e1SPrashanth Swaminathan
5*1fd5a2e1SPrashanth SwaminathanACLOCAL_AMFLAGS = -I m4
6*1fd5a2e1SPrashanth Swaminathan
7*1fd5a2e1SPrashanth SwaminathanSUBDIRS = include testsuite man
8*1fd5a2e1SPrashanth Swaminathanif BUILD_DOCS
9*1fd5a2e1SPrashanth Swaminathan## This hack is needed because it doesn't seem possible to make a
10*1fd5a2e1SPrashanth Swaminathan## conditional info_TEXINFOS in Automake.  At least Automake 1.14
11*1fd5a2e1SPrashanth Swaminathan## either gives errors -- if this attempted in the most
12*1fd5a2e1SPrashanth Swaminathan## straightforward way -- or simply unconditionally tries to build the
13*1fd5a2e1SPrashanth Swaminathan## info file.
14*1fd5a2e1SPrashanth SwaminathanSUBDIRS += doc
15*1fd5a2e1SPrashanth Swaminathanendif
16*1fd5a2e1SPrashanth Swaminathan
17*1fd5a2e1SPrashanth SwaminathanEXTRA_DIST = LICENSE ChangeLog.old					\
18*1fd5a2e1SPrashanth Swaminathan	m4/libtool.m4 m4/lt~obsolete.m4					\
19*1fd5a2e1SPrashanth Swaminathan	 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4			\
20*1fd5a2e1SPrashanth Swaminathan	 m4/ltversion.m4 src/debug.c msvcc.sh				\
21*1fd5a2e1SPrashanth Swaminathan	generate-darwin-source-and-headers.py				\
22*1fd5a2e1SPrashanth Swaminathan	libffi.xcodeproj/project.pbxproj				\
23*1fd5a2e1SPrashanth Swaminathan	libtool-ldflags libtool-version configure.host README.md        \
24*1fd5a2e1SPrashanth Swaminathan	libffi.map.in LICENSE-BUILDTOOLS msvc_build make_sunver.pl
25*1fd5a2e1SPrashanth Swaminathan
26*1fd5a2e1SPrashanth Swaminathan# local.exp is generated by configure
27*1fd5a2e1SPrashanth SwaminathanDISTCLEANFILES = local.exp
28*1fd5a2e1SPrashanth Swaminathan
29*1fd5a2e1SPrashanth Swaminathan# Subdir rules rely on $(FLAGS_TO_PASS)
30*1fd5a2e1SPrashanth SwaminathanFLAGS_TO_PASS = $(AM_MAKEFLAGS)
31*1fd5a2e1SPrashanth Swaminathan
32*1fd5a2e1SPrashanth SwaminathanMAKEOVERRIDES=
33*1fd5a2e1SPrashanth Swaminathan
34*1fd5a2e1SPrashanth Swaminathanpkgconfigdir = $(libdir)/pkgconfig
35*1fd5a2e1SPrashanth Swaminathanpkgconfig_DATA = libffi.pc
36*1fd5a2e1SPrashanth Swaminathan
37*1fd5a2e1SPrashanth Swaminathantoolexeclib_LTLIBRARIES = libffi.la
38*1fd5a2e1SPrashanth Swaminathannoinst_LTLIBRARIES = libffi_convenience.la
39*1fd5a2e1SPrashanth Swaminathan
40*1fd5a2e1SPrashanth Swaminathanlibffi_la_SOURCES = src/prep_cif.c src/types.c \
41*1fd5a2e1SPrashanth Swaminathan		src/raw_api.c src/java_raw_api.c src/closures.c
42*1fd5a2e1SPrashanth Swaminathan
43*1fd5a2e1SPrashanth Swaminathanif FFI_DEBUG
44*1fd5a2e1SPrashanth Swaminathanlibffi_la_SOURCES += src/debug.c
45*1fd5a2e1SPrashanth Swaminathanendif
46*1fd5a2e1SPrashanth Swaminathan
47*1fd5a2e1SPrashanth Swaminathannoinst_HEADERS = \
48*1fd5a2e1SPrashanth Swaminathan	src/aarch64/ffitarget.h src/aarch64/internal.h			\
49*1fd5a2e1SPrashanth Swaminathan	src/alpha/ffitarget.h src/alpha/internal.h			\
50*1fd5a2e1SPrashanth Swaminathan	src/arc/ffitarget.h						\
51*1fd5a2e1SPrashanth Swaminathan	src/arm/ffitarget.h src/arm/internal.h				\
52*1fd5a2e1SPrashanth Swaminathan	src/avr32/ffitarget.h						\
53*1fd5a2e1SPrashanth Swaminathan	src/bfin/ffitarget.h						\
54*1fd5a2e1SPrashanth Swaminathan	src/cris/ffitarget.h						\
55*1fd5a2e1SPrashanth Swaminathan	src/frv/ffitarget.h						\
56*1fd5a2e1SPrashanth Swaminathan	src/ia64/ffitarget.h src/ia64/ia64_flags.h			\
57*1fd5a2e1SPrashanth Swaminathan	src/m32r/ffitarget.h						\
58*1fd5a2e1SPrashanth Swaminathan	src/m68k/ffitarget.h						\
59*1fd5a2e1SPrashanth Swaminathan	src/m88k/ffitarget.h						\
60*1fd5a2e1SPrashanth Swaminathan	src/metag/ffitarget.h						\
61*1fd5a2e1SPrashanth Swaminathan	src/microblaze/ffitarget.h					\
62*1fd5a2e1SPrashanth Swaminathan	src/mips/ffitarget.h						\
63*1fd5a2e1SPrashanth Swaminathan	src/moxie/ffitarget.h						\
64*1fd5a2e1SPrashanth Swaminathan	src/nios2/ffitarget.h						\
65*1fd5a2e1SPrashanth Swaminathan	src/or1k/ffitarget.h						\
66*1fd5a2e1SPrashanth Swaminathan	src/pa/ffitarget.h						\
67*1fd5a2e1SPrashanth Swaminathan	src/powerpc/ffitarget.h src/powerpc/asm.h src/powerpc/ffi_powerpc.h \
68*1fd5a2e1SPrashanth Swaminathan	src/riscv/ffitarget.h						\
69*1fd5a2e1SPrashanth Swaminathan	src/s390/ffitarget.h src/s390/internal.h			\
70*1fd5a2e1SPrashanth Swaminathan	src/sh/ffitarget.h						\
71*1fd5a2e1SPrashanth Swaminathan	src/sh64/ffitarget.h						\
72*1fd5a2e1SPrashanth Swaminathan	src/sparc/ffitarget.h src/sparc/internal.h			\
73*1fd5a2e1SPrashanth Swaminathan	src/tile/ffitarget.h						\
74*1fd5a2e1SPrashanth Swaminathan	src/vax/ffitarget.h						\
75*1fd5a2e1SPrashanth Swaminathan	src/x86/ffitarget.h src/x86/internal.h src/x86/internal64.h src/x86/asmnames.h \
76*1fd5a2e1SPrashanth Swaminathan	src/xtensa/ffitarget.h						\
77*1fd5a2e1SPrashanth Swaminathan	src/dlmalloc.c
78*1fd5a2e1SPrashanth Swaminathan
79*1fd5a2e1SPrashanth SwaminathanEXTRA_libffi_la_SOURCES = src/aarch64/ffi.c src/aarch64/sysv.S \
80*1fd5a2e1SPrashanth Swaminathan	src/aarch64/win64_armasm.S src/alpha/ffi.c src/alpha/osf.S \
81*1fd5a2e1SPrashanth Swaminathan	src/arc/ffi.c src/arc/arcompact.S src/arm/ffi.c	\
82*1fd5a2e1SPrashanth Swaminathan	src/arm/sysv.S src/arm/ffi.c src/arm/sysv_msvc_arm32.S \
83*1fd5a2e1SPrashanth Swaminathan	src/avr32/ffi.c src/avr32/sysv.S src/bfin/ffi.c	\
84*1fd5a2e1SPrashanth Swaminathan	src/bfin/sysv.S src/cris/ffi.c src/cris/sysv.S src/frv/ffi.c \
85*1fd5a2e1SPrashanth Swaminathan	src/frv/eabi.S src/ia64/ffi.c src/ia64/unix.S src/m32r/ffi.c \
86*1fd5a2e1SPrashanth Swaminathan	src/m32r/sysv.S src/m68k/ffi.c src/m68k/sysv.S src/m88k/ffi.c \
87*1fd5a2e1SPrashanth Swaminathan	src/m88k/obsd.S src/metag/ffi.c src/metag/sysv.S \
88*1fd5a2e1SPrashanth Swaminathan	src/microblaze/ffi.c src/microblaze/sysv.S src/mips/ffi.c \
89*1fd5a2e1SPrashanth Swaminathan	src/mips/o32.S src/mips/n32.S src/moxie/ffi.c \
90*1fd5a2e1SPrashanth Swaminathan	src/moxie/eabi.S src/nios2/ffi.c src/nios2/sysv.S \
91*1fd5a2e1SPrashanth Swaminathan	src/or1k/ffi.c src/or1k/sysv.S src/pa/ffi.c src/pa/linux.S \
92*1fd5a2e1SPrashanth Swaminathan	src/pa/hpux32.S src/powerpc/ffi.c src/powerpc/ffi_sysv.c \
93*1fd5a2e1SPrashanth Swaminathan	src/powerpc/ffi_linux64.c src/powerpc/sysv.S \
94*1fd5a2e1SPrashanth Swaminathan	src/powerpc/linux64.S src/powerpc/linux64_closure.S \
95*1fd5a2e1SPrashanth Swaminathan	src/powerpc/ppc_closure.S src/powerpc/aix.S \
96*1fd5a2e1SPrashanth Swaminathan	src/powerpc/darwin.S src/powerpc/aix_closure.S \
97*1fd5a2e1SPrashanth Swaminathan	src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
98*1fd5a2e1SPrashanth Swaminathan	src/riscv/ffi.c src/riscv/sysv.S src/s390/ffi.c	\
99*1fd5a2e1SPrashanth Swaminathan	src/s390/sysv.S src/sh/ffi.c src/sh/sysv.S src/sh64/ffi.c \
100*1fd5a2e1SPrashanth Swaminathan	src/sh64/sysv.S src/sparc/ffi.c src/sparc/ffi64.c \
101*1fd5a2e1SPrashanth Swaminathan	src/sparc/v8.S src/sparc/v9.S src/tile/ffi.c src/tile/tile.S \
102*1fd5a2e1SPrashanth Swaminathan	src/vax/ffi.c src/vax/elfbsd.S src/x86/ffi.c src/x86/sysv.S \
103*1fd5a2e1SPrashanth Swaminathan	src/x86/ffiw64.c src/x86/win64.S src/x86/ffi64.c \
104*1fd5a2e1SPrashanth Swaminathan	src/x86/unix64.S src/x86/sysv_intel.S src/x86/win64_intel.S \
105*1fd5a2e1SPrashanth Swaminathan	src/xtensa/ffi.c src/xtensa/sysv.S
106*1fd5a2e1SPrashanth Swaminathan
107*1fd5a2e1SPrashanth SwaminathanTARGET_OBJ = @TARGET_OBJ@
108*1fd5a2e1SPrashanth Swaminathanlibffi_la_LIBADD = $(TARGET_OBJ)
109*1fd5a2e1SPrashanth Swaminathan
110*1fd5a2e1SPrashanth Swaminathanlibffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
111*1fd5a2e1SPrashanth SwaminathanEXTRA_libffi_convenience_la_SOURCES = $(EXTRA_libffi_la_SOURCES)
112*1fd5a2e1SPrashanth Swaminathanlibffi_convenience_la_LIBADD = $(libffi_la_LIBADD)
113*1fd5a2e1SPrashanth Swaminathanlibffi_convenience_la_DEPENDENCIES = $(libffi_la_DEPENDENCIES)
114*1fd5a2e1SPrashanth Swaminathannodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
115*1fd5a2e1SPrashanth Swaminathan
116*1fd5a2e1SPrashanth SwaminathanLTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/libtool-ldflags $(LDFLAGS))
117*1fd5a2e1SPrashanth Swaminathan
118*1fd5a2e1SPrashanth SwaminathanAM_CFLAGS =
119*1fd5a2e1SPrashanth Swaminathanif FFI_DEBUG
120*1fd5a2e1SPrashanth Swaminathan# Build debug. Define FFI_DEBUG on the commandline so that, when building with
121*1fd5a2e1SPrashanth Swaminathan# MSVC, it can link against the debug CRT.
122*1fd5a2e1SPrashanth SwaminathanAM_CFLAGS += -DFFI_DEBUG
123*1fd5a2e1SPrashanth Swaminathanendif
124*1fd5a2e1SPrashanth Swaminathan
125*1fd5a2e1SPrashanth Swaminathanif LIBFFI_BUILD_VERSIONED_SHLIB
126*1fd5a2e1SPrashanth Swaminathanif LIBFFI_BUILD_VERSIONED_SHLIB_GNU
127*1fd5a2e1SPrashanth Swaminathanlibffi_version_script = -Wl,--version-script,libffi.map
128*1fd5a2e1SPrashanth Swaminathanlibffi_version_dep = libffi.map
129*1fd5a2e1SPrashanth Swaminathanendif
130*1fd5a2e1SPrashanth Swaminathanif LIBFFI_BUILD_VERSIONED_SHLIB_SUN
131*1fd5a2e1SPrashanth Swaminathanlibffi_version_script = -Wl,-M,libffi.map-sun
132*1fd5a2e1SPrashanth Swaminathanlibffi_version_dep = libffi.map-sun
133*1fd5a2e1SPrashanth Swaminathanlibffi.map-sun : libffi.map $(top_srcdir)/make_sunver.pl \
134*1fd5a2e1SPrashanth Swaminathan		 $(libffi_la_OBJECTS) $(libffi_la_LIBADD)
135*1fd5a2e1SPrashanth Swaminathan	perl $(top_srcdir)/make_sunver.pl libffi.map \
136*1fd5a2e1SPrashanth Swaminathan	 `echo $(libffi_la_OBJECTS) $(libffi_la_LIBADD) | \
137*1fd5a2e1SPrashanth Swaminathan	    sed 's,\([^/        ]*\)\.l\([ao]\),.libs/\1.\2,g'` \
138*1fd5a2e1SPrashanth Swaminathan	 > $@ || (rm -f $@ ; exit 1)
139*1fd5a2e1SPrashanth Swaminathanendif
140*1fd5a2e1SPrashanth Swaminathanelse
141*1fd5a2e1SPrashanth Swaminathanlibffi_version_script =
142*1fd5a2e1SPrashanth Swaminathanlibffi_version_dep =
143*1fd5a2e1SPrashanth Swaminathanendif
144*1fd5a2e1SPrashanth Swaminathanlibffi_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
145*1fd5a2e1SPrashanth Swaminathan
146*1fd5a2e1SPrashanth Swaminathanlibffi.map: $(top_srcdir)/libffi.map.in
147*1fd5a2e1SPrashanth Swaminathan	$(COMPILE) -D$(TARGET) -E -x assembler-with-cpp -o $@ $<
148*1fd5a2e1SPrashanth Swaminathan
149*1fd5a2e1SPrashanth Swaminathanlibffi_la_LDFLAGS = -no-undefined $(libffi_version_info) $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS)
150*1fd5a2e1SPrashanth Swaminathanlibffi_la_DEPENDENCIES = $(libffi_la_LIBADD) $(libffi_version_dep)
151*1fd5a2e1SPrashanth Swaminathan
152*1fd5a2e1SPrashanth SwaminathanAM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
153*1fd5a2e1SPrashanth SwaminathanAM_CCASFLAGS = $(AM_CPPFLAGS)
154*1fd5a2e1SPrashanth Swaminathan
155*1fd5a2e1SPrashanth Swaminathandist-hook:
156*1fd5a2e1SPrashanth Swaminathan	d=`(cd $(distdir); pwd)`; (cd doc; make pdf; cp *.pdf $$d/doc)
157*1fd5a2e1SPrashanth Swaminathan	if [ -d $(top_srcdir)/.git ] ; then (cd $(top_srcdir); git log --no-decorate) ; else echo 'See git log for history.' ; fi > $(distdir)/ChangeLog
158*1fd5a2e1SPrashanth Swaminathan	s=`awk '/was released on/{ print NR; exit}' $(top_srcdir)/README.md`; tail -n +$$(($$s-1)) $(top_srcdir)/README.md > $(distdir)/README.md
159*1fd5a2e1SPrashanth Swaminathan
160