Makefile.am 4.32 KB
Newer Older
Diego Novillo committed
1 2
## Process this file with automake to produce Makefile.in

3
AUTOMAKE_OPTIONS = info-in-builddir
Steve Ellcey committed
4
ACLOCAL_AMFLAGS = -I .. -I ../config
Diego Novillo committed
5 6 7
SUBDIRS = testsuite

## May be used by toolexeclibdir.
8
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
Diego Novillo committed
9 10

config_path = @config_path@
11 12
search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir) \
	      $(top_srcdir)/../include
Diego Novillo committed
13

14
fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude
15
libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
16

Paolo Bonzini committed
17
vpath % $(strip $(search_path))
Diego Novillo committed
18 19 20 21 22 23 24 25 26

AM_CPPFLAGS = $(addprefix -I, $(search_path))
AM_CFLAGS = $(XCFLAGS)
AM_LDFLAGS = $(XLDFLAGS) $(SECTION_LDFLAGS) $(OPT_LDFLAGS)

toolexeclib_LTLIBRARIES = libgomp.la
nodist_toolexeclib_HEADERS = libgomp.spec

if LIBGOMP_BUILD_VERSIONED_SHLIB
27 28 29 30 31 32 33 34
# -Wc is only a libtool option.
comma = ,
PREPROCESS = $(subst -Wc$(comma), , $(COMPILE)) -E

libgomp.ver: $(top_srcdir)/libgomp.map
	$(EGREP) -v '#(#| |$$)' $< | \
	  $(PREPROCESS) -P -include config.h - > $@ || (rm -f $@ ; exit 1)

35
if LIBGOMP_BUILD_VERSIONED_SHLIB_GNU
36 37
libgomp_version_script = -Wl,--version-script,libgomp.ver
libgomp_version_dep = libgomp.ver
38 39
endif
if LIBGOMP_BUILD_VERSIONED_SHLIB_SUN
40 41 42
libgomp_version_script = -Wl,-M,libgomp.ver-sun
libgomp_version_dep = libgomp.ver-sun
libgomp.ver-sun : libgomp.ver \
43 44 45
		$(top_srcdir)/../contrib/make_sunver.pl \
		$(libgomp_la_OBJECTS) $(libgomp_la_LIBADD)
	perl $(top_srcdir)/../contrib/make_sunver.pl \
46
	  libgomp.ver \
47 48 49 50 51
	  $(libgomp_la_OBJECTS:%.lo=.libs/%.o) \
	 `echo $(libgomp_la_LIBADD) | \
	    sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
	 > $@ || (rm -f $@ ; exit 1)
endif
Diego Novillo committed
52 53
else
libgomp_version_script =
54
libgomp_version_dep =
Diego Novillo committed
55 56
endif
libgomp_version_info = -version-info $(libtool_VERSION)
57
libgomp_la_LDFLAGS = $(libgomp_version_info) $(libgomp_version_script) \
58
        $(lt_host_flags)
59
libgomp_la_DEPENDENCIES = $(libgomp_version_dep)
60
libgomp_la_LINK = $(LINK) $(libgomp_la_LDFLAGS)
Diego Novillo committed
61

62 63 64 65 66
libgomp_la_SOURCES = alloc.c atomic.c barrier.c critical.c env.c error.c \
	icv.c icv-device.c iter.c iter_ull.c loop.c loop_ull.c ordered.c \
	parallel.c sections.c single.c task.c team.c work.c lock.c mutex.c \
	proc.c sem.c bar.c ptrlock.c time.c fortran.c affinity.c target.c \
	splay-tree.c libgomp-plugin.c oacc-parallel.c oacc-host.c oacc-init.c \
67 68
	oacc-mem.c oacc-async.c oacc-plugin.c oacc-cuda.c priority_queue.c \
	affinity-fmt.c teams.c
69 70 71 72 73 74

include $(top_srcdir)/plugin/Makefrag.am

if USE_FORTRAN
libgomp_la_SOURCES += openacc.f90
endif
Diego Novillo committed
75 76

nodist_noinst_HEADERS = libgomp_f.h
77
nodist_libsubinclude_HEADERS = omp.h openacc.h
Diego Novillo committed
78
if USE_FORTRAN
79 80
nodist_finclude_HEADERS = omp_lib.h omp_lib.f90 omp_lib.mod omp_lib_kinds.mod \
	openacc_lib.h openacc.f90 openacc.mod openacc_kinds.mod
Diego Novillo committed
81 82
endif

83 84
LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))

85 86
LINK = $(LIBTOOL) --tag CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
	$(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LTLDFLAGS) -o $@
87

Diego Novillo committed
88 89
omp_lib_kinds.mod: omp_lib.mod
	:
90 91 92 93 94
openacc_kinds.mod: openacc.mod
	:
openacc.mod: openacc.lo
	:
%.mod: %.f90
95
	$(FC) $(FCFLAGS) -fsyntax-only $<
Diego Novillo committed
96 97 98 99
fortran.lo: libgomp_f.h
fortran.o: libgomp_f.h
env.lo: libgomp_f.h
env.o: libgomp_f.h
100

101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

# Automake Documentation:
# If your package has Texinfo files in many directories, you can use the
# variable TEXINFO_TEX to tell Automake where to find the canonical
# `texinfo.tex' for your package. The value of this variable should be
# the relative path from the current `Makefile.am' to `texinfo.tex'.
TEXINFO_TEX   = ../gcc/doc/include/texinfo.tex

# Defines info, dvi, pdf and html targets
MAKEINFOFLAGS = -I $(srcdir)/../gcc/doc/include
info_TEXINFOS = libgomp.texi

# AM_CONDITIONAL on configure option --generated-files-in-srcdir
if GENINSRC
STAMP_GENINSRC = stamp-geninsrc
else
STAMP_GENINSRC =
endif

120 121 122 123 124 125 126 127
# AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO])
if BUILD_INFO
STAMP_BUILD_INFO = stamp-build-info
else
STAMP_BUILD_INFO =
endif


128 129 130
all-local: $(STAMP_GENINSRC)

stamp-geninsrc: libgomp.info
131 132 133 134 135 136 137 138 139
	cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info
	@touch $@

libgomp.info: $(STAMP_BUILD_INFO)

stamp-build-info: libgomp.texi
	$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi
	@touch $@

140

141
CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO)
142
MAINTAINERCLEANFILES = $(srcdir)/libgomp.info
143 144

include $(top_srcdir)/../multilib.am