145
|
1 ## Makefile for the Phobos standard library.
|
|
2 ## Copyright (C) 2012-2020 Free Software Foundation, Inc.
|
|
3 ##
|
|
4 ## GCC is free software; you can redistribute it and/or modify
|
|
5 ## it under the terms of the GNU General Public License as published by
|
|
6 ## the Free Software Foundation; either version 3, or (at your option)
|
|
7 ## any later version.
|
|
8 ##
|
|
9 ## GCC is distributed in the hope that it will be useful,
|
|
10 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12 ## GNU General Public License for more details.
|
|
13 ##
|
|
14 ## You should have received a copy of the GNU General Public License
|
|
15 ## along with GCC; see the file COPYING3. If not see
|
|
16 ## <http://www.gnu.org/licenses/>.
|
|
17
|
|
18 # Include D build rules
|
|
19 include $(top_srcdir)/d_rules.am
|
|
20
|
|
21 # Make sure GDC can find libdruntime and libphobos include files
|
|
22 D_EXTRA_DFLAGS=-nostdinc -I $(srcdir) \
|
|
23 -I $(top_srcdir)/libdruntime -I ../libdruntime -I .
|
|
24
|
|
25 # D flags for compilation
|
|
26 AM_DFLAGS=$(phobos_compiler_pic_flag)
|
|
27
|
|
28 # Install all D files
|
|
29 ALL_PHOBOS_INSTALL_DSOURCES = $(PHOBOS_DSOURCES)
|
|
30
|
|
31 # Setup source files depending on configure
|
|
32 ALL_PHOBOS_COMPILE_DSOURCES = $(PHOBOS_DSOURCES)
|
|
33
|
|
34 ALL_PHOBOS_SOURCES = $(ALL_PHOBOS_COMPILE_DSOURCES)
|
|
35
|
|
36 # Main library build definitions
|
|
37 toolexeclib_DATA = libgphobos.spec
|
|
38 toolexeclib_LTLIBRARIES = libgphobos.la
|
|
39 libgphobos_la_SOURCES = $(ALL_PHOBOS_SOURCES)
|
|
40 libgphobos_la_LIBTOOLFLAGS =
|
|
41 libgphobos_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../libdruntime/gcc \
|
|
42 -version-info $(libtool_VERSION)
|
|
43 libgphobos_la_LIBADD = ../libdruntime/libgdruntime.la $(LIBZ)
|
|
44 libgphobos_la_DEPENDENCIES = libgphobos.spec
|
|
45
|
|
46 # Handles generated files as well
|
|
47 install-data-local:
|
|
48 for file in $(ALL_PHOBOS_INSTALL_DSOURCES); do \
|
|
49 $(MKDIR_P) `dirname $(DESTDIR)$(gdc_include_dir)/$$file` ; \
|
|
50 if test -f $$file; then \
|
|
51 $(INSTALL_HEADER) $$file $(DESTDIR)$(gdc_include_dir)/$$file ; \
|
|
52 else \
|
|
53 $(INSTALL_HEADER) $(srcdir)/$$file \
|
|
54 $(DESTDIR)$(gdc_include_dir)/$$file ; \
|
|
55 fi ; \
|
|
56 done
|
|
57
|
|
58 # Source file definitions. Boring stuff, auto-generated with
|
|
59 # https://gist.github.com/jpf91/8744acebc9dcf1e9d1a35cdff20afbb2
|
|
60 # Can't use wildcards here:
|
|
61 # https://www.gnu.org/software/automake/manual/html_node/Wildcards.html
|
|
62 PHOBOS_DSOURCES = etc/c/curl.d etc/c/sqlite3.d etc/c/zlib.d \
|
|
63 std/algorithm/comparison.d std/algorithm/internal.d \
|
|
64 std/algorithm/iteration.d std/algorithm/mutation.d \
|
|
65 std/algorithm/package.d std/algorithm/searching.d \
|
|
66 std/algorithm/setops.d std/algorithm/sorting.d std/array.d std/ascii.d \
|
|
67 std/base64.d std/bigint.d std/bitmanip.d std/compiler.d std/complex.d \
|
|
68 std/concurrency.d std/container/array.d std/container/binaryheap.d \
|
|
69 std/container/dlist.d std/container/package.d std/container/rbtree.d \
|
|
70 std/container/slist.d std/container/util.d std/conv.d std/csv.d \
|
|
71 std/datetime/date.d std/datetime/interval.d std/datetime/package.d \
|
|
72 std/datetime/stopwatch.d std/datetime/systime.d \
|
|
73 std/datetime/timezone.d std/demangle.d std/digest/crc.d \
|
|
74 std/digest/digest.d std/digest/hmac.d std/digest/md.d \
|
|
75 std/digest/murmurhash.d std/digest/package.d std/digest/ripemd.d \
|
|
76 std/digest/sha.d std/encoding.d std/exception.d \
|
|
77 std/experimental/allocator/building_blocks/affix_allocator.d \
|
|
78 std/experimental/allocator/building_blocks/allocator_list.d \
|
|
79 std/experimental/allocator/building_blocks/bitmapped_block.d \
|
|
80 std/experimental/allocator/building_blocks/bucketizer.d \
|
|
81 std/experimental/allocator/building_blocks/fallback_allocator.d \
|
|
82 std/experimental/allocator/building_blocks/free_list.d \
|
|
83 std/experimental/allocator/building_blocks/free_tree.d \
|
|
84 std/experimental/allocator/building_blocks/kernighan_ritchie.d \
|
|
85 std/experimental/allocator/building_blocks/null_allocator.d \
|
|
86 std/experimental/allocator/building_blocks/package.d \
|
|
87 std/experimental/allocator/building_blocks/quantizer.d \
|
|
88 std/experimental/allocator/building_blocks/region.d \
|
|
89 std/experimental/allocator/building_blocks/scoped_allocator.d \
|
|
90 std/experimental/allocator/building_blocks/segregator.d \
|
|
91 std/experimental/allocator/building_blocks/stats_collector.d \
|
|
92 std/experimental/allocator/common.d \
|
|
93 std/experimental/allocator/gc_allocator.d \
|
|
94 std/experimental/allocator/mallocator.d \
|
|
95 std/experimental/allocator/mmap_allocator.d \
|
|
96 std/experimental/allocator/package.d \
|
|
97 std/experimental/allocator/showcase.d \
|
|
98 std/experimental/allocator/typed.d std/experimental/checkedint.d \
|
|
99 std/experimental/logger/core.d std/experimental/logger/filelogger.d \
|
|
100 std/experimental/logger/multilogger.d \
|
|
101 std/experimental/logger/nulllogger.d std/experimental/logger/package.d \
|
|
102 std/experimental/typecons.d std/file.d std/format.d std/functional.d \
|
|
103 std/getopt.d std/internal/cstring.d std/internal/math/biguintcore.d \
|
|
104 std/internal/math/biguintnoasm.d std/internal/math/errorfunction.d \
|
|
105 std/internal/math/gammafunction.d std/internal/scopebuffer.d \
|
|
106 std/internal/test/dummyrange.d std/internal/test/range.d \
|
|
107 std/internal/test/uda.d std/internal/unicode_comp.d \
|
|
108 std/internal/unicode_decomp.d std/internal/unicode_grapheme.d \
|
|
109 std/internal/unicode_norm.d std/internal/unicode_tables.d \
|
|
110 std/internal/windows/advapi32.d std/json.d std/math.d \
|
|
111 std/mathspecial.d std/meta.d std/mmfile.d std/net/curl.d \
|
|
112 std/net/isemail.d std/numeric.d std/outbuffer.d std/parallelism.d \
|
|
113 std/path.d std/process.d std/random.d std/range/interfaces.d \
|
|
114 std/range/package.d std/range/primitives.d \
|
|
115 std/regex/internal/backtracking.d std/regex/internal/generator.d \
|
|
116 std/regex/internal/ir.d std/regex/internal/kickstart.d \
|
|
117 std/regex/internal/parser.d std/regex/internal/tests.d \
|
|
118 std/regex/internal/thompson.d std/regex/package.d std/signals.d \
|
|
119 std/socket.d std/stdint.d std/stdio.d std/string.d std/system.d \
|
|
120 std/traits.d std/typecons.d std/typetuple.d std/uni.d std/uri.d \
|
|
121 std/utf.d std/uuid.d std/variant.d std/windows/charset.d \
|
|
122 std/windows/registry.d std/windows/syserror.d std/xml.d std/zip.d \
|
|
123 std/zlib.d
|