forked from lhmouse/asteria
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile.am
74 lines (61 loc) · 2.41 KB
/
Makefile.am
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
ACLOCAL_AMFLAGS = -I m4
NOTHING =
## Compiler options
AM_CPPFLAGS = -pipe -pthread -Wall -Wextra -fPIC -DPIC -U_FORTIFY_SOURCE -DDLL_EXPORT \
-D_FILE_OFFSET_BITS=64 -D_POSIX_C_SOURCE=200809 -D_GNU_SOURCE -D_WIN32_WINNT=0x0600 \
-f{strict-{aliasing,overflow},merge-all-constants} \
-fno-{math-errno,trapping-math,devirtualize-speculatively,stack-protector} \
-Werror={{,sign-}conversion,sign-compare,write-strings,return-type,double-promotion} \
-W{invalid-pch,switch-enum,suggest-attribute=noreturn,shadow,missing-field-initializers} \
-Wunused-{function,label,local-typedefs,{,but-set-}{variable,parameter}}
AM_CXXFLAGS = -include precompiled.w.hpp -std=gnu++14 -Wp,-std=c++11 \
-fno-{gnu-keywords,elide-constructors} -fvisibility-inlines-hidden \
-Wno-redundant-move \
-Werror={non-virtual-dtor,missing-declarations}
AM_DEFAULT_SOURCE_EXT = .cpp
LDADD = lib/libasteria.la
## Pre-compiled header
BUILT_SOURCES = \
precompiled.w.hpp \
precompiled.w.hpp.gch \
${NOTHING}
CLEANFILES = \
precompiled.w.hpp \
precompiled.w.hpp.gch \
precompiled.w.hpp.gch.lo \
${NOTHING}
precompiled.w.hpp: ${srcdir}/asteria/src/precompiled.hpp
## Build the wrapper header, which contains the absolute path to the plain header.
${AM_V_GEN}echo "#include \"$$(cygpath -m $< 2>/dev/null || readlink -f $<)\"" >$@
precompiled.w.hpp.gch: precompiled.w.hpp config.h
## Compile the header. This must use LTCXXCOMPILE due to some nasty PIC flags...
${AM_V_CXX}${LTCXXCOMPILE} -x c++-header -Wno-error $< -o [email protected]
## ..., but it causes the 'real' output to go into './libs/' and leaves a text file outside,
## so move it to the correct location, ...
@${LIBTOOL} ${AM_V_lt} --tag=CXX --mode=link sh -c 'mv -f "$$1" "$$2"' _ [email protected] $@ -o $@
## ..., then libtool creates another text file as the 'executable', so delete it.
@test -z "${EXEEXT}" || rm -f $@${EXEEXT}
## Initialization
EXTRA_DIST = \
asteria/doc/operator-precedence.txt \
asteria/doc/standard-library.txt \
asteria/doc/syntax.txt \
asteria/doc/examples.txt \
asteria/doc/asteria.nanorc \
${NOTHING}
noinst_LIBRARIES =
noinst_LTLIBRARIES =
TESTS = ${check_PROGRAMS}
include_HEADERS =
lib_LIBRARIES =
lib_LTLIBRARIES =
bin_PROGRAMS =
check_HEADERS =
check_LIBRARIES =
check_LTLIBRARIES =
check_PROGRAMS =
## Programs and libraries
include asteria/rocket/Makefile.inc.am
include asteria/src/Makefile.inc.am
## Tests
include asteria/test/Makefile.inc.am