]>
Commit | Line | Data |
---|---|---|
b4c522fa | 1 | ## Makefile for the Phobos standard library. |
99dee823 | 2 | ## Copyright (C) 2012-2021 Free Software Foundation, Inc. |
b4c522fa IB |
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 | ||
b4c522fa | 25 | # D flags for compilation |
38c3017f IB |
26 | AM_DFLAGS= \ |
27 | $(phobos_compiler_pic_flag) \ | |
0ed75760 IB |
28 | $(WARN_DFLAGS) $(CHECKING_DFLAGS) $(CET_DFLAGS) |
29 | ||
30 | # Flags for other kinds of sources | |
31 | AM_CFLAGS=$(CET_FLAGS) | |
b4c522fa IB |
32 | |
33 | # Install all D files | |
34 | ALL_PHOBOS_INSTALL_DSOURCES = $(PHOBOS_DSOURCES) | |
35 | ||
36 | # Setup source files depending on configure | |
37 | ALL_PHOBOS_COMPILE_DSOURCES = $(PHOBOS_DSOURCES) | |
38 | ||
39 | ALL_PHOBOS_SOURCES = $(ALL_PHOBOS_COMPILE_DSOURCES) | |
b4c522fa IB |
40 | |
41 | # Main library build definitions | |
b4c522fa IB |
42 | toolexeclib_DATA = libgphobos.spec |
43 | toolexeclib_LTLIBRARIES = libgphobos.la | |
bb50312e | 44 | libgphobos_la_SOURCES = $(ALL_PHOBOS_SOURCES) |
b4c522fa | 45 | libgphobos_la_LIBTOOLFLAGS = |
0b6e3127 RO |
46 | libgphobos_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../libdruntime/gcc \ |
47 | -version-info $(libtool_VERSION) | |
7478addd IB |
48 | libgphobos_la_LIBADD = \ |
49 | ../libdruntime/libgdruntime_convenience.la $(LIBZ) | |
50 | libgphobos_la_DEPENDENCIES = \ | |
51 | ../libdruntime/libgdruntime_convenience.la libgphobos.spec | |
52 | ||
53 | # Also override library link commands: This is not strictly | |
54 | # required, but we want to record additional dependencies such | |
55 | # as pthread in the library | |
56 | libgphobos_la_LINK = $(LIBTOOL) --tag=D $(libgphobos_la_LIBTOOLFLAGS) \ | |
57 | $(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \ | |
58 | $(libgphobos_la_LDFLAGS) $(LDFLAGS) -o $@ | |
b4c522fa | 59 | |
b4c522fa IB |
60 | # Handles generated files as well |
61 | install-data-local: | |
62 | for file in $(ALL_PHOBOS_INSTALL_DSOURCES); do \ | |
4f19d0e7 | 63 | $(MKDIR_P) `dirname $(DESTDIR)$(gdc_include_dir)/$$file` ; \ |
b4c522fa | 64 | if test -f $$file; then \ |
4f19d0e7 | 65 | $(INSTALL_HEADER) $$file $(DESTDIR)$(gdc_include_dir)/$$file ; \ |
b4c522fa | 66 | else \ |
4f19d0e7 | 67 | $(INSTALL_HEADER) $(srcdir)/$$file \ |
b4c522fa IB |
68 | $(DESTDIR)$(gdc_include_dir)/$$file ; \ |
69 | fi ; \ | |
70 | done | |
71 | ||
b4c522fa IB |
72 | # Source file definitions. Boring stuff, auto-generated with |
73 | # https://gist.github.com/jpf91/8744acebc9dcf1e9d1a35cdff20afbb2 | |
74 | # Can't use wildcards here: | |
75 | # https://www.gnu.org/software/automake/manual/html_node/Wildcards.html | |
261bd78d IB |
76 | if ENABLE_LIBDRUNTIME_ONLY |
77 | ||
78 | PHOBOS_DSOURCES = | |
79 | ||
80 | else | |
81 | ||
b4c522fa IB |
82 | PHOBOS_DSOURCES = etc/c/curl.d etc/c/sqlite3.d etc/c/zlib.d \ |
83 | std/algorithm/comparison.d std/algorithm/internal.d \ | |
84 | std/algorithm/iteration.d std/algorithm/mutation.d \ | |
85 | std/algorithm/package.d std/algorithm/searching.d \ | |
86 | std/algorithm/setops.d std/algorithm/sorting.d std/array.d std/ascii.d \ | |
87 | std/base64.d std/bigint.d std/bitmanip.d std/compiler.d std/complex.d \ | |
88 | std/concurrency.d std/container/array.d std/container/binaryheap.d \ | |
89 | std/container/dlist.d std/container/package.d std/container/rbtree.d \ | |
90 | std/container/slist.d std/container/util.d std/conv.d std/csv.d \ | |
91 | std/datetime/date.d std/datetime/interval.d std/datetime/package.d \ | |
92 | std/datetime/stopwatch.d std/datetime/systime.d \ | |
93 | std/datetime/timezone.d std/demangle.d std/digest/crc.d \ | |
94 | std/digest/digest.d std/digest/hmac.d std/digest/md.d \ | |
95 | std/digest/murmurhash.d std/digest/package.d std/digest/ripemd.d \ | |
96 | std/digest/sha.d std/encoding.d std/exception.d \ | |
97 | std/experimental/allocator/building_blocks/affix_allocator.d \ | |
98 | std/experimental/allocator/building_blocks/allocator_list.d \ | |
99 | std/experimental/allocator/building_blocks/bitmapped_block.d \ | |
100 | std/experimental/allocator/building_blocks/bucketizer.d \ | |
101 | std/experimental/allocator/building_blocks/fallback_allocator.d \ | |
102 | std/experimental/allocator/building_blocks/free_list.d \ | |
103 | std/experimental/allocator/building_blocks/free_tree.d \ | |
104 | std/experimental/allocator/building_blocks/kernighan_ritchie.d \ | |
105 | std/experimental/allocator/building_blocks/null_allocator.d \ | |
106 | std/experimental/allocator/building_blocks/package.d \ | |
107 | std/experimental/allocator/building_blocks/quantizer.d \ | |
108 | std/experimental/allocator/building_blocks/region.d \ | |
109 | std/experimental/allocator/building_blocks/scoped_allocator.d \ | |
110 | std/experimental/allocator/building_blocks/segregator.d \ | |
111 | std/experimental/allocator/building_blocks/stats_collector.d \ | |
112 | std/experimental/allocator/common.d \ | |
113 | std/experimental/allocator/gc_allocator.d \ | |
114 | std/experimental/allocator/mallocator.d \ | |
115 | std/experimental/allocator/mmap_allocator.d \ | |
116 | std/experimental/allocator/package.d \ | |
117 | std/experimental/allocator/showcase.d \ | |
118 | std/experimental/allocator/typed.d std/experimental/checkedint.d \ | |
119 | std/experimental/logger/core.d std/experimental/logger/filelogger.d \ | |
120 | std/experimental/logger/multilogger.d \ | |
121 | std/experimental/logger/nulllogger.d std/experimental/logger/package.d \ | |
122 | std/experimental/typecons.d std/file.d std/format.d std/functional.d \ | |
6feee1e1 IB |
123 | std/getopt.d std/internal/cstring.d std/internal/math/biguintcore.d \ |
124 | std/internal/math/biguintnoasm.d std/internal/math/errorfunction.d \ | |
b4c522fa IB |
125 | std/internal/math/gammafunction.d std/internal/scopebuffer.d \ |
126 | std/internal/test/dummyrange.d std/internal/test/range.d \ | |
127 | std/internal/test/uda.d std/internal/unicode_comp.d \ | |
128 | std/internal/unicode_decomp.d std/internal/unicode_grapheme.d \ | |
129 | std/internal/unicode_norm.d std/internal/unicode_tables.d \ | |
130 | std/internal/windows/advapi32.d std/json.d std/math.d \ | |
131 | std/mathspecial.d std/meta.d std/mmfile.d std/net/curl.d \ | |
132 | std/net/isemail.d std/numeric.d std/outbuffer.d std/parallelism.d \ | |
133 | std/path.d std/process.d std/random.d std/range/interfaces.d \ | |
134 | std/range/package.d std/range/primitives.d \ | |
135 | std/regex/internal/backtracking.d std/regex/internal/generator.d \ | |
136 | std/regex/internal/ir.d std/regex/internal/kickstart.d \ | |
137 | std/regex/internal/parser.d std/regex/internal/tests.d \ | |
138 | std/regex/internal/thompson.d std/regex/package.d std/signals.d \ | |
139 | std/socket.d std/stdint.d std/stdio.d std/string.d std/system.d \ | |
140 | std/traits.d std/typecons.d std/typetuple.d std/uni.d std/uri.d \ | |
141 | std/utf.d std/uuid.d std/variant.d std/windows/charset.d \ | |
142 | std/windows/registry.d std/windows/syserror.d std/xml.d std/zip.d \ | |
143 | std/zlib.d | |
261bd78d IB |
144 | |
145 | endif |