source: libcfa/src/Makefile.am @ 3f91792

ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since 3f91792 was 08ce416, checked in by Thierry Delisle <tdelisle@…>, 3 years ago

Changed configure to use new-ast by default.
Ast options no longer pushed to libcfa (that didn't make sense).
Long Run tests and benchmark no longer distributed.
Added missing source to distribution.
Added pybin to distribution.

  • Property mode set to 100644
File size: 5.9 KB
Line 
1######################## -*- Mode: Makefile-Automake -*- ######################
2##
3## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
4##
5## The contents of this file are covered under the licence agreement in the
6## file "LICENCE" distributed with Cforall.
7##
8## Makefile.am --
9##
10## Author           : Peter A. Buhr
11## Created On       : Sun May 31 08:54:01 2015
12## Last Modified By : Peter A. Buhr
13## Last Modified On : Mon Jun  1 13:35:33 2020
14## Update Count     : 248
15###############################################################################
16
17# create object files in directory with source files
18AUTOMAKE_OPTIONS = foreign subdir-objects
19ACLOCAL_AMFLAGS  = -I automake
20
21include $(top_srcdir)/../tools/build/cfa.make
22
23libdir = ${CFA_LIBDIR}
24lib_LTLIBRARIES = libcfa.la libcfathread.la
25
26VPATH += :../prelude
27
28gdbwaittarget=""
29
30# AM_CFLAGS for all cfa source
31# AM_CFAFLAGS for only cfa source
32# use -no-include-stdhdr to prevent rebuild cycles
33# The built sources must not depend on the installed inst_headers_src
34AM_CFAFLAGS = -quiet -cfalib -I$(srcdir)/stdhdr -I$(srcdir)/concurrency $(if $(findstring ${gdbwaittarget}, ${@}), -XCFA --gdb) @CONFIG_CFAFLAGS@
35AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC -fexceptions -pthread @ARCH_FLAGS@ @CONFIG_CFLAGS@
36AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@
37CFACC = @CFACC@
38
39#----------------------------------------------------------------------------------------------------------------
40if BUILDLIB
41inst_headers_nosrc = \
42        bitmanip.hfa \
43        clock.hfa \
44        exception.hfa \
45        gmp.hfa \
46        math.hfa \
47        time_t.hfa \
48        bits/align.hfa \
49        bits/containers.hfa \
50        bits/debug.hfa \
51        bits/defs.hfa \
52        bits/locks.hfa \
53        concurrency/iofwd.hfa \
54        containers/list.hfa \
55        containers/stackLockFree.hfa
56
57inst_headers_src = \
58        common.hfa \
59        fstream.hfa \
60        heap.hfa \
61        iostream.hfa \
62        iterator.hfa \
63        limits.hfa \
64        memory.hfa \
65        parseargs.hfa \
66        rational.hfa \
67        stdlib.hfa \
68        time.hfa \
69        containers/maybe.hfa \
70        containers/pair.hfa \
71        containers/result.hfa \
72        containers/vector.hfa
73
74libsrc = ${inst_headers_src} ${inst_headers_src:.hfa=.cfa} \
75        assert.cfa \
76        bits/algorithm.hfa \
77        bits/debug.cfa \
78        exception.c \
79        exception.h \
80        interpose.cfa \
81        lsda.h \
82        startup.cfa \
83        startup.hfa \
84        virtual.c \
85        virtual.h
86
87# not all platforms support concurrency, add option do disable it
88inst_thread_headers_nosrc = \
89        bits/collection.hfa \
90        bits/random.hfa \
91        bits/sequence.hfa \
92        concurrency/clib/cfathread.h \
93        concurrency/invoke.h \
94        concurrency/kernel/fwd.hfa
95
96inst_thread_headers_src = \
97        concurrency/coroutine.hfa \
98        concurrency/exception.hfa \
99        concurrency/kernel.hfa \
100        concurrency/locks.hfa \
101        concurrency/monitor.hfa \
102        concurrency/mutex.hfa \
103        concurrency/thread.hfa
104
105thread_libsrc = ${inst_thread_headers_src} ${inst_thread_headers_src:.hfa=.cfa} \
106        bits/signal.hfa \
107        concurrency/alarm.cfa \
108        concurrency/alarm.hfa \
109        concurrency/clib/cfathread.cfa \
110        concurrency/CtxSwitch-@ARCHITECTURE@.S \
111        concurrency/invoke.c \
112        concurrency/io.cfa \
113        concurrency/io/setup.cfa \
114        concurrency/io/types.hfa \
115        concurrency/io/call.cfa \
116        concurrency/iofwd.hfa \
117        concurrency/kernel_private.hfa \
118        concurrency/kernel/startup.cfa \
119        concurrency/preemption.cfa \
120        concurrency/preemption.hfa \
121        concurrency/ready_queue.cfa \
122        concurrency/ready_subqueue.hfa \
123        concurrency/snzi.hfa \
124        concurrency/stats.cfa \
125        concurrency/stats.hfa \
126        concurrency/stats.hfa
127
128else
129inst_headers_src =
130inst_thread_headers_src =
131inst_headers_nosrc =
132inst_thread_headers_nosrc =
133libsrc =
134endif
135
136
137#----------------------------------------------------------------------------------------------------------------
138# add dependency to cfa-cpp so all libraries are rebuilt with new translator
139#@CFACC@ @CFACPP@ prelude.cfa
140
141# add dependency of cfa files
142libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(libsrc))))
143$(libobjs) : @LOCAL_CFACC@ @CFACPP@ prelude.cfa
144
145thread_libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(thread_libsrc))))
146$(thread_libobjs) : @LOCAL_CFACC@ @CFACPP@ prelude.cfa
147
148
149# .deps inclusion is not done automatically by automake for new languages
150libdeps = $(join \
151        $(addsuffix $(DEPDIR)/ , $(dir $(libobjs) ) ), \
152        $(notdir ${libobjs:.lo=.Plo}) \
153)
154
155-include $(libdeps)
156
157thread_libdeps = $(join \
158        $(addsuffix $(DEPDIR)/ , $(dir $(thread_libobjs) ) ), \
159        $(notdir ${thread_libobjs:.lo=.Plo}) \
160)
161
162-include $(thread_libdeps)
163
164
165if ENABLE_DISTCC
166
167../prelude/distribution: @LOCAL_CFACC@ @LOCAL_CC1@ @CFACPP@ ../prelude/gcc-builtins.cf ../prelude/builtins.cf ../prelude/extras.cf ../prelude/prelude.cfa ../prelude/bootloader.c $(srcdir)/../../tools/build/push2dist.sh
168        @+make -C ../prelude distribution
169
170prelude.o prelude.lo $(libobjs) $(thread_libobjs) : ../prelude/distribution
171
172endif ENABLE_DISTCC
173
174prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @LOCAL_CFACC@ @CFACPP@
175        ${AM_V_GEN}$(CFACOMPILE) -quiet -XCFA,-l ${<} -c -o ${@}
176
177prelude.lo: prelude.cfa extras.cf gcc-builtins.cf builtins.cf @LOCAL_CFACC@ @CFACPP@
178        ${AM_V_GEN}$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile \
179        $(CFACOMPILE) -quiet -XCFA,-l ${<} -c -o ${@}
180
181#----------------------------------------------------------------------------------------------------------------
182libcfa_la_SOURCES = ${libsrc}
183nodist_libcfa_la_SOURCES = prelude.cfa
184libcfa_la_LDFLAGS = -version-info @CFA_VERSION@
185
186libcfathread_la_SOURCES = ${thread_libsrc}
187libcfathread_la_LDFLAGS = -version-info @CFA_VERSION@
188
189stdhdr = $(shell find $(srcdir)/stdhdr -type f -printf "%p ")
190
191cfa_includedir = $(CFA_INCDIR)
192nobase_cfa_include_HEADERS = ${stdhdr} ${inst_headers_src} ${inst_headers_nosrc} ${inst_thread_headers_src} ${inst_thread_headers_nosrc}
193EXTRA_DIST = stdhdr
194
195#----------------------------------------------------------------------------------------------------------------
196maintainer-clean-local:
197        -rm -rf ${CFA_INCDIR} ${CFA_LIBDIR}
198
199
200# $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
201#       $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
202#       $(am__mv) $$depbase.Tpo $$depbase.Po
Note: See TracBrowser for help on using the repository browser.