source: libcfa/src/Makefile.am @ 44856ed

ADTast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since 44856ed was 44856ed, checked in by Michael Brooks <mlbrooks@…>, 3 years ago

Baseline "new" vector, with iterators.

Implementation has not had thorough correctness testing, e.g. checking wraparound
behaviours, and at least one such case is commented as unimplemented.

Implementation has not been optimized at the instruction path level, though a basic
iteration performance check has it within 5% of c++ std::vector.

  • Property mode set to 100644
File size: 6.2 KB
RevLine 
[00cc023]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##
[d63eeb0]8## Makefile.am --
[00cc023]9##
10## Author           : Peter A. Buhr
11## Created On       : Sun May 31 08:54:01 2015
[381fdee]12## Last Modified By : Peter A. Buhr
[fec63b2]13## Last Modified On : Sat Apr 24 09:09:56 2021
14## Update Count     : 254
[00cc023]15###############################################################################
16
[a922e34]17# create object files in directory with source files
[38d12e7]18AUTOMAKE_OPTIONS = foreign subdir-objects
19ACLOCAL_AMFLAGS  = -I automake
[a922e34]20
[bcadb26]21include $(top_srcdir)/../tools/build/cfa.make
[ba9baad]22
[088a5cd]23libdir = ${CFA_LIBDIR}
[8ac3b0e]24lib_LTLIBRARIES = libcfa.la libcfathread.la
[3d50aaf]25
[a9fb796]26VPATH += :../prelude
27
[dee1f89]28gdbwaittarget=""
29
[ba9baad]30# AM_CFLAGS for all cfa source
31# AM_CFAFLAGS for only cfa source
32# use -no-include-stdhdr to prevent rebuild cycles
[b7fe2e6]33# The built sources must not depend on the installed inst_headers_src
[2fbc904]34AM_CFAFLAGS = -quiet -cfalib -I$(srcdir)/stdhdr -I$(srcdir)/concurrency $(if $(findstring ${gdbwaittarget}, ${@}), -XCFA --gdb) @CONFIG_CFAFLAGS@
[f1b6671]35AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC -fexceptions -pthread @ARCH_FLAGS@ @CONFIG_CFLAGS@
[575a6e5]36AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@
[ba9baad]37CFACC = @CFACC@
[d3b7937]38
[73abe95]39#----------------------------------------------------------------------------------------------------------------
[e523b07]40if BUILDLIB
[b7fe2e6]41inst_headers_nosrc = \
42        bitmanip.hfa \
43        clock.hfa \
44        exception.hfa \
[d7a10af]45        exception.h \
[b7fe2e6]46        gmp.hfa \
47        math.hfa \
48        time_t.hfa \
49        bits/align.hfa \
50        bits/containers.hfa \
51        bits/debug.hfa \
52        bits/defs.hfa \
53        bits/locks.hfa \
[7d4ce2a]54        bits/collection.hfa \
55        bits/stack.hfa \
56        bits/queue.hfa \
57        bits/sequence.hfa \
[c7625e0]58        containers/array.hfa \
[b7fe2e6]59        concurrency/iofwd.hfa \
60        containers/list.hfa \
[304de00]61        containers/queueLockFree.hfa \
[eef8dfb]62        containers/stackLockFree.hfa \
[44856ed]63        containers/vector2.hfa \
[eef8dfb]64        vec/vec.hfa \
65        vec/vec2.hfa \
66        vec/vec3.hfa \
67        vec/vec4.hfa
[b7fe2e6]68
69inst_headers_src = \
70        common.hfa \
71        fstream.hfa \
72        heap.hfa \
73        iostream.hfa \
74        iterator.hfa \
75        limits.hfa \
[4d9172f]76        memory.hfa \
[b7fe2e6]77        parseargs.hfa \
78        rational.hfa \
79        stdlib.hfa \
[96f002c1]80        strstream.hfa \
[b7fe2e6]81        time.hfa \
[ab1b971]82        bits/weakso_locks.hfa \
[b7fe2e6]83        containers/maybe.hfa \
84        containers/pair.hfa \
85        containers/result.hfa \
[96f002c1]86        containers/vector.hfa \
87        device/cpu.hfa
[b7fe2e6]88
89libsrc = ${inst_headers_src} ${inst_headers_src:.hfa=.cfa} \
90        assert.cfa \
91        bits/algorithm.hfa \
92        bits/debug.cfa \
93        exception.c \
94        interpose.cfa \
95        lsda.h \
96        startup.cfa \
97        startup.hfa \
98        virtual.c \
99        virtual.h
[facc44f]100
101# not all platforms support concurrency, add option do disable it
[b7fe2e6]102inst_thread_headers_nosrc = \
103        bits/random.hfa \
[bb662027]104        concurrency/clib/cfathread.h \
[b7fe2e6]105        concurrency/invoke.h \
[70f8bcd2]106        concurrency/future.hfa \
[b7fe2e6]107        concurrency/kernel/fwd.hfa
108
109inst_thread_headers_src = \
[ab388c5]110        concurrency/alarm.hfa \
[b7fe2e6]111        concurrency/coroutine.hfa \
[856dff8]112        concurrency/exception.hfa \
[b7fe2e6]113        concurrency/kernel.hfa \
[6a8882c]114        concurrency/locks.hfa \
[b7fe2e6]115        concurrency/monitor.hfa \
116        concurrency/mutex.hfa \
117        concurrency/thread.hfa
118
119thread_libsrc = ${inst_thread_headers_src} ${inst_thread_headers_src:.hfa=.cfa} \
120        bits/signal.hfa \
[bb662027]121        concurrency/clib/cfathread.cfa \
[b7fe2e6]122        concurrency/CtxSwitch-@ARCHITECTURE@.S \
123        concurrency/invoke.c \
124        concurrency/io.cfa \
125        concurrency/io/setup.cfa \
126        concurrency/io/types.hfa \
[c402739f]127        concurrency/io/call.cfa \
[b7fe2e6]128        concurrency/iofwd.hfa \
129        concurrency/kernel_private.hfa \
130        concurrency/kernel/startup.cfa \
131        concurrency/preemption.cfa \
132        concurrency/preemption.hfa \
133        concurrency/ready_queue.cfa \
134        concurrency/ready_subqueue.hfa \
135        concurrency/snzi.hfa \
136        concurrency/stats.cfa \
137        concurrency/stats.hfa \
138        concurrency/stats.hfa
[3e2b9c9]139
[e523b07]140else
[b7fe2e6]141inst_headers_src =
142inst_thread_headers_src =
143inst_headers_nosrc =
144inst_thread_headers_nosrc =
[e523b07]145libsrc =
146endif
147
[ac78e25]148
[73abe95]149#----------------------------------------------------------------------------------------------------------------
150# add dependency to cfa-cpp so all libraries are rebuilt with new translator
[e523b07]151#@CFACC@ @CFACPP@ prelude.cfa
[a9fb796]152
153# add dependency of cfa files
[6d44da1]154libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(libsrc))))
[14347ac]155$(libobjs) : @LOCAL_CFACC@ @CFACPP@ prelude.cfa
[a9fb796]156
[2026bb6]157thread_libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(thread_libsrc))))
[14347ac]158$(thread_libobjs) : @LOCAL_CFACC@ @CFACPP@ prelude.cfa
[2026bb6]159
[a9fb796]160
161# .deps inclusion is not done automatically by automake for new languages
162libdeps = $(join \
163        $(addsuffix $(DEPDIR)/ , $(dir $(libobjs) ) ), \
[2a75572]164        $(notdir ${libobjs:.lo=.Plo}) \
[a9fb796]165)
[d3b7937]166
[0765121]167-include $(libdeps)
[a9fb796]168
[2026bb6]169thread_libdeps = $(join \
170        $(addsuffix $(DEPDIR)/ , $(dir $(thread_libobjs) ) ), \
171        $(notdir ${thread_libobjs:.lo=.Plo}) \
172)
173
174-include $(thread_libdeps)
175
176
[31d8f4d]177if ENABLE_DISTCC
178
179../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
180        @+make -C ../prelude distribution
181
182prelude.o prelude.lo $(libobjs) $(thread_libobjs) : ../prelude/distribution
183
184endif ENABLE_DISTCC
185
[14347ac]186prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @LOCAL_CFACC@ @CFACPP@
[0aa20e3]187        ${AM_V_GEN}$(CFACOMPILE) -quiet -XCFA,-l ${<} -c -o ${@}
[d3b7937]188
[14347ac]189prelude.lo: prelude.cfa extras.cf gcc-builtins.cf builtins.cf @LOCAL_CFACC@ @CFACPP@
[c6bbcdb]190        ${AM_V_GEN}$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile \
[0aa20e3]191        $(CFACOMPILE) -quiet -XCFA,-l ${<} -c -o ${@}
[a9fb796]192
193#----------------------------------------------------------------------------------------------------------------
[c2bc6d5]194libcfa_la_SOURCES = ${libsrc}
195nodist_libcfa_la_SOURCES = prelude.cfa
[c6bbcdb]196libcfa_la_LDFLAGS = -version-info @CFA_VERSION@
[bd85400]197
[2026bb6]198libcfathread_la_SOURCES = ${thread_libsrc}
199libcfathread_la_LDFLAGS = -version-info @CFA_VERSION@
200
[38d12e7]201stdhdr = $(shell find $(srcdir)/stdhdr -type f -printf "%p ")
[ed0e67a]202
[e958ff8]203cfa_includedir = $(CFA_INCDIR)
[b7fe2e6]204nobase_cfa_include_HEADERS = ${stdhdr} ${inst_headers_src} ${inst_headers_nosrc} ${inst_thread_headers_src} ${inst_thread_headers_nosrc}
205EXTRA_DIST = stdhdr
[73abe95]206
207#----------------------------------------------------------------------------------------------------------------
[159c62e]208maintainer-clean-local:
[796cea3]209        -rm -rf ${CFA_INCDIR} ${CFA_LIBDIR}
[a9fb796]210
[2a59655]211distclean-local:
212        find ${builddir} -path '*.Plo' -delete
213
[a9fb796]214
215# $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
216#       $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
217#       $(am__mv) $$depbase.Tpo $$depbase.Po
Note: See TracBrowser for help on using the repository browser.