source: src/libcfa/Makefile.am @ 76c7f65e

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since 76c7f65e was 854a32c, checked in by Thierry Delisle <tdelisle@…>, 8 years ago

change libcfa makefile to support subdirectories in includes

  • Property mode set to 100644
File size: 2.4 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 13 14:27:22 2016
14## Update Count     : 166
15###############################################################################
16
17lib_LIBRARIES = libcfa.a
18
19# put into lib for now
20cfalibdir = ${libdir}
21cfalib_DATA = prelude.cf builtins.cf
22
23# create forward declarations for gcc builtins
24${libdir}/builtins.cf : ${libdir} ${srcdir}/builtins.cf
25        ${INSTALL} ${srcdir}/builtins.cf ${libdir}
26        sed -i -e "s#typedef.*ptrdiff_t.*#`@BACKEND_CC@ -E ${srcdir}/ptrdiff_t.c | grep 'typedef.*ptrdiff_t'`#" ${srcdir}/prelude.cf
27
28builtins.cf : builtins.c
29        @if [ -e $< ] ; then \
30                @BACKEND_CC@ -E -P $^ | sed -e "/targetm/s/.*//" -e "/_Decimal/s/.*//" -e "s/void (const char \*)0();//" -e "s/\"//g" -e "s/\(__builtin_\) /\1/" > $@ ; \
31        fi
32
33builtins.c : builtins.def prototypes.awk
34        @if [ -e $< ] ; then \
35                @BACKEND_CC@ -E prototypes.c | awk -f prototypes.awk > $@ ; \
36        fi
37
38builtins.def :
39
40prototypes.awk :
41
42MAINTAINERCLEANFILES = ${addprefix ${libdir}/,${cfalib_DATA}} ${addprefix ${libdir}/,${lib_LIBRARIES}}
43
44#--------------------------------------------------
45
46libcfa-prelude.c : ${srcdir}/prelude.cf
47        ${abs_top_srcdir}/src/driver/cfa-cpp -l ${srcdir}/prelude.cf $@  # use src/cfa-cpp as not in lib until after install
48
49libcfa-prelude.o : libcfa-prelude.c
50        @BACKEND_CC@ -c -o $@ $<
51
52CFLAGS = -quiet -g -Wall -Wno-unused-function -B${abs_top_srcdir}/src/driver -XCFA -t  # TEMPORARY: does not build with -O2
53CC = ${abs_top_srcdir}/src/driver/cfa
54
55headers = limits stdlib math iostream fstream iterator rational containers/vector
56libobjs = ${headers:=.o}
57
58# extensionless header files are overridden by -o flag in default makerule => explicitly override default rule to silently do nothing
59% : %.c
60        @true
61
62${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp       # add dependency to cfa-cpp so all libraries are rebuilt with new translator
63
64libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c}
65
66nobase_include_HEADERS = ${headers}
67
68CLEANFILES = libcfa-prelude.c
69MAINTAINERCLEANFILES += ${includedir}/*
Note: See TracBrowser for help on using the repository browser.