DC := ../dmd/src/dmd CFLAGS := -O3 DFLAGS := -O -release -inline -gc GC := cdgc d_src := \ tango/time/Time.d \ tango/time/StopWatch.d \ tango/time/Clock.d \ tango/time/ISO8601.d \ tango/time/WallClock.d \ tango/time/chrono/GregorianBased.d \ tango/time/chrono/Hijri.d \ tango/time/chrono/Korean.d \ tango/time/chrono/Hebrew.d \ tango/time/chrono/ThaiBuddhist.d \ tango/time/chrono/Gregorian.d \ tango/time/chrono/Taiwan.d \ tango/time/chrono/Calendar.d \ tango/time/chrono/Japanese.d \ tango/util/PathUtil.d \ tango/util/digest/MerkleDamgard.d \ tango/util/digest/Ripemd128.d \ tango/util/digest/Ripemd160.d \ tango/util/digest/Sha0.d \ tango/util/digest/Sha01.d \ tango/util/digest/Md2.d \ tango/util/digest/Sha512.d \ tango/util/digest/Crc32.d \ tango/util/digest/Ripemd320.d \ tango/util/digest/Digest.d \ tango/util/digest/Ripemd256.d \ tango/util/digest/Whirlpool.d \ tango/util/digest/Tiger.d \ tango/util/digest/Sha256.d \ tango/util/digest/Md4.d \ tango/util/digest/Sha1.d \ tango/util/digest/Md5.d \ tango/util/Convert.d \ tango/util/encode/Base64.d \ tango/util/log/Trace.d \ tango/util/log/model/ILogger.d \ tango/util/log/AppendFiles.d \ tango/util/log/ConfigProps.d \ tango/util/log/LayoutDate.d \ tango/util/log/LayoutChainsaw.d \ tango/util/log/Config.d \ tango/util/log/AppendSocket.d \ tango/util/log/AppendMail.d \ tango/util/log/AppendConsole.d \ tango/util/log/Log.d \ tango/util/log/AppendFile.d \ tango/util/MinMax.d \ tango/util/container/model/IContainer.d \ tango/util/container/RedBlack.d \ tango/util/container/Container.d \ tango/util/container/SortedMap.d \ tango/util/container/HashMap.d \ tango/util/container/HashSet.d \ tango/util/container/Slink.d \ tango/util/container/CircularList.d \ tango/util/container/Clink.d \ tango/util/container/LinkedList.d \ tango/util/container/more/CacheMap.d \ tango/util/container/more/Stack.d \ tango/util/container/more/Vector.d \ tango/util/container/more/StackMap.d \ tango/util/container/more/HashFile.d \ tango/util/container/more/Heap.d \ tango/util/container/more/BitSet.d \ tango/util/ArgParser.d \ tango/math/ErrorFunction.d \ tango/math/Math.d \ tango/math/GammaFunction.d \ tango/math/internal/BiguintCore.d \ tango/math/internal/BignumX86.d \ tango/math/internal/BignumNoAsm.d \ tango/math/IEEE.d \ tango/math/Probability.d \ tango/math/BigInt.d \ tango/math/Elliptic.d \ tango/math/Bracket.d \ tango/math/Bessel.d \ tango/math/random/engines/ArraySource.d \ tango/math/random/engines/Twister.d \ tango/math/random/engines/KissCmwc.d \ tango/math/random/engines/URandom.d \ tango/math/random/engines/CMWC.d \ tango/math/random/engines/KISS.d \ tango/math/random/engines/Sync.d \ tango/math/random/Twister.d \ tango/math/random/Kiss.d \ tango/math/random/Ziggurat.d \ tango/math/random/Random.d \ tango/math/random/NormalSource.d \ tango/math/random/ExpSource.d \ tango/io/model/IBuffer.d \ tango/io/model/IConduit.d \ tango/io/model/IFile.d \ tango/io/Path.d \ tango/io/stream/Format.d \ tango/io/stream/Delimiters.d \ tango/io/stream/Endian.d \ tango/io/stream/Snoop.d \ tango/io/stream/Iterator.d \ tango/io/stream/Quotes.d \ tango/io/stream/Data.d \ tango/io/stream/Greedy.d \ tango/io/stream/Digester.d \ tango/io/stream/Buffered.d \ tango/io/stream/DataFile.d \ tango/io/stream/Text.d \ tango/io/stream/Lines.d \ tango/io/stream/Map.d \ tango/io/stream/Typed.d \ tango/io/stream/TextFile.d \ tango/io/stream/Utf.d \ tango/io/stream/Patterns.d \ tango/io/FilePath.d \ tango/io/vfs/model/Vfs.d \ tango/io/vfs/LinkedFolder.d \ tango/io/vfs/ZipFolder.d \ tango/io/vfs/FtpFolder.d \ tango/io/vfs/VirtualFolder.d \ tango/io/vfs/FileFolder.d \ tango/io/compress/BzipStream.d \ tango/io/compress/Zip.d \ tango/io/compress/ZlibStream.d \ tango/io/compress/c/zlib.d \ tango/io/compress/c/bzlib.d \ tango/io/UnicodeFile.d \ tango/io/Console.d \ tango/io/Stdout.d \ tango/io/device/FileMap.d \ tango/io/device/Device.d \ tango/io/device/SerialPort.d \ tango/io/device/BitBucket.d \ tango/io/device/ThreadPipe.d \ tango/io/device/TempFile.d \ tango/io/device/Conduit.d \ tango/io/device/File.d \ tango/io/device/Array.d \ tango/io/Buffer.d \ tango/io/FileScan.d \ tango/io/selector/model/ISelector.d \ tango/io/selector/PollSelector.d \ tango/io/selector/SelectorException.d \ tango/io/selector/SelectSelector.d \ tango/io/selector/EpollSelector.d \ tango/io/selector/Selector.d \ tango/io/selector/AbstractSelector.d \ tango/io/FileSystem.d \ tango/net/model/UriView.d \ tango/net/SocketListener.d \ tango/net/SSLSocketConduit.d \ tango/net/DatagramConduit.d \ tango/net/PKI.d \ tango/net/SSLServerSocket.d \ tango/net/util/PKI.d \ tango/net/util/MemCache.d \ tango/net/util/c/OpenSSL.d \ tango/net/ServerSocket.d \ tango/net/SocketConduit.d \ tango/net/Socket.d \ tango/net/InternetAddress.d \ tango/net/http/HttpGet.d \ tango/net/http/model/HttpParamsView.d \ tango/net/http/HttpTokens.d \ tango/net/http/HttpParams.d \ tango/net/http/HttpPost.d \ tango/net/http/HttpStack.d \ tango/net/http/HttpClient.d \ tango/net/http/HttpTriplet.d \ tango/net/http/HttpConst.d \ tango/net/http/HttpHeaders.d \ tango/net/http/ChunkStream.d \ tango/net/http/HttpCookies.d \ tango/net/device/Berkeley.d \ tango/net/device/Socket.d \ tango/net/device/Multicast.d \ tango/net/device/Datagram.d \ tango/net/device/LocalSocket.d \ tango/net/device/SSLSocket.d \ tango/net/MulticastConduit.d \ tango/net/Uri.d \ tango/net/ftp/FtpClient.d \ tango/net/ftp/Telnet.d \ tango/text/locale/Win32.d \ tango/text/locale/Core.d \ tango/text/locale/Convert.d \ tango/text/locale/Data.d \ tango/text/locale/Collation.d \ tango/text/locale/Locale.d \ tango/text/locale/Posix.d \ tango/text/locale/Parse.d \ tango/text/Ascii.d \ tango/text/Regex.d \ tango/text/Unicode.d \ tango/text/Arguments.d \ tango/text/Util.d \ tango/text/Text.d \ tango/text/json/Json.d \ tango/text/json/JsonEscape.d \ tango/text/json/JsonParser.d \ tango/text/convert/Integer.d \ tango/text/convert/Format.d \ tango/text/convert/TimeStamp.d \ tango/text/convert/Float.d \ tango/text/convert/UnicodeBom.d \ tango/text/convert/DateTime.d \ tango/text/convert/Layout.d \ tango/text/convert/Utf.d \ tango/text/UnicodeData.d \ tango/text/xml/DocEntity.d \ tango/text/xml/Document.d \ tango/text/xml/DocPrinter.d \ tango/text/xml/DocTester.d \ tango/text/xml/PullParser.d \ tango/text/xml/SaxParser.d \ tango/text/Search.d \ tango/sys/Environment.d \ tango/sys/consts/sysctl.d \ tango/sys/consts/fcntl.d \ tango/sys/consts/unistd.d \ tango/sys/consts/errno.d \ tango/sys/consts/socket.d \ tango/sys/HomeFolder.d \ tango/sys/Process.d \ tango/sys/SharedLib.d \ tango/sys/Pipe.d \ tango/sys/Common.d \ tango/sys/linux/linux.d \ tango/sys/linux/consts/sysctl.d \ tango/sys/linux/consts/fcntl.d \ tango/sys/linux/consts/unistd.d \ tango/sys/linux/consts/errno.d \ tango/sys/linux/consts/socket.d \ tango/sys/linux/inotify.d \ tango/sys/linux/epoll.d \ tango/sys/linux/tipc.d \ tango/stdc/stddef.d \ tango/stdc/stdarg.d \ tango/stdc/wctype.d \ tango/stdc/tgmath.d \ tango/stdc/string.d \ tango/stdc/stringz.d \ tango/stdc/signal.d \ tango/stdc/stdint.d \ tango/stdc/time.d \ tango/stdc/inttypes.d \ tango/stdc/stdlib.d \ tango/stdc/math.d \ tango/stdc/posix/ucontext.d \ tango/stdc/posix/arpa/inet.d \ tango/stdc/posix/utime.d \ tango/stdc/posix/fcntl.d \ tango/stdc/posix/dirent.d \ tango/stdc/posix/setjmp.d \ tango/stdc/posix/signal.d \ tango/stdc/posix/pthread.d \ tango/stdc/posix/time.d \ tango/stdc/posix/inttypes.d \ tango/stdc/posix/netinet/tcp.d \ tango/stdc/posix/netinet/in_.d \ tango/stdc/posix/stdlib.d \ tango/stdc/posix/unistd.d \ tango/stdc/posix/config.d \ tango/stdc/posix/net/if_.d \ tango/stdc/posix/poll.d \ tango/stdc/posix/dlfcn.d \ tango/stdc/posix/sys/types.d \ tango/stdc/posix/sys/stat.d \ tango/stdc/posix/sys/select.d \ tango/stdc/posix/sys/uio.d \ tango/stdc/posix/sys/wait.d \ tango/stdc/posix/sys/time.d \ tango/stdc/posix/sys/ipc.d \ tango/stdc/posix/sys/utsname.d \ tango/stdc/posix/sys/socket.d \ tango/stdc/posix/sys/mman.d \ tango/stdc/posix/sys/shm.d \ tango/stdc/posix/sys/statvfs.d \ tango/stdc/posix/stdio.d \ tango/stdc/posix/langinfo.d \ tango/stdc/posix/pwd.d \ tango/stdc/posix/semaphore.d \ tango/stdc/posix/sched.d \ tango/stdc/posix/termios.d \ tango/stdc/ctype.d \ tango/stdc/errno.d \ tango/stdc/complex.d \ tango/stdc/config.d \ tango/stdc/limits.d \ tango/stdc/stdio.d \ tango/stdc/locale.d \ tango/stdc/fenv.d \ tango/core/Runtime.d \ tango/core/BitManip.d \ tango/core/BitArray.d \ tango/core/Signal.d \ tango/core/ThreadPool.d \ tango/core/Traits.d \ tango/core/Exception.d \ tango/core/Memory.d \ tango/core/Variant.d \ tango/core/Atomic.d \ tango/core/Vararg.d \ tango/core/Tuple.d \ tango/core/ByteSwap.d \ tango/core/Thread.d \ tango/core/sync/Mutex.d \ tango/core/sync/Condition.d \ tango/core/sync/Semaphore.d \ tango/core/sync/Config.d \ tango/core/sync/ReadWriteMutex.d \ tango/core/sync/Barrier.d \ tango/core/Version.d \ tango/core/WeakRef.d \ tango/core/RuntimeTraits.d \ tango/core/tools/LinuxStackTrace.d \ tango/core/tools/StackTrace.d \ tango/core/tools/Demangler.d \ tango/core/tools/TraceExceptions.d \ tango/core/tools/Cpuid.d \ tango/core/tools/WinStackTrace.d \ tango/core/rt/compiler/util/hash.d \ tango/core/rt/compiler/util/string.d \ tango/core/rt/compiler/util/console.d \ tango/core/rt/compiler/util/ctype.d \ tango/core/rt/compiler/util/utf.d \ tango/core/rt/compiler/util/cpuid.d \ tango/core/rt/compiler/dmd/invariant.d \ tango/core/rt/compiler/dmd/posix/deh.d \ tango/core/rt/compiler/dmd/posix/llmath.d \ tango/core/rt/compiler/dmd/typeinfo/ti_float.d \ tango/core/rt/compiler/dmd/typeinfo/ti_ubyte.d \ tango/core/rt/compiler/dmd/typeinfo/ti_C.d \ tango/core/rt/compiler/dmd/typeinfo/ti_short.d \ tango/core/rt/compiler/dmd/typeinfo/ti_AC.d \ tango/core/rt/compiler/dmd/typeinfo/ti_creal.d \ tango/core/rt/compiler/dmd/typeinfo/ti_cdouble.d \ tango/core/rt/compiler/dmd/typeinfo/ti_Areal.d \ tango/core/rt/compiler/dmd/typeinfo/ti_ushort.d \ tango/core/rt/compiler/dmd/typeinfo/ti_void.d \ tango/core/rt/compiler/dmd/typeinfo/ti_Along.d \ tango/core/rt/compiler/dmd/typeinfo/ti_Adouble.d \ tango/core/rt/compiler/dmd/typeinfo/ti_Afloat.d \ tango/core/rt/compiler/dmd/typeinfo/ti_dchar.d \ tango/core/rt/compiler/dmd/typeinfo/ti_Acreal.d \ tango/core/rt/compiler/dmd/typeinfo/ti_Aint.d \ tango/core/rt/compiler/dmd/typeinfo/ti_wchar.d \ tango/core/rt/compiler/dmd/typeinfo/ti_ulong.d \ tango/core/rt/compiler/dmd/typeinfo/ti_Acfloat.d \ tango/core/rt/compiler/dmd/typeinfo/ti_Acdouble.d \ tango/core/rt/compiler/dmd/typeinfo/ti_idouble.d \ tango/core/rt/compiler/dmd/typeinfo/ti_ptr.d \ tango/core/rt/compiler/dmd/typeinfo/ti_int.d \ tango/core/rt/compiler/dmd/typeinfo/ti_Ashort.d \ tango/core/rt/compiler/dmd/typeinfo/ti_delegate.d \ tango/core/rt/compiler/dmd/typeinfo/ti_long.d \ tango/core/rt/compiler/dmd/typeinfo/ti_Ag.d \ tango/core/rt/compiler/dmd/typeinfo/ti_ireal.d \ tango/core/rt/compiler/dmd/typeinfo/ti_double.d \ tango/core/rt/compiler/dmd/typeinfo/ti_uint.d \ tango/core/rt/compiler/dmd/typeinfo/ti_cfloat.d \ tango/core/rt/compiler/dmd/typeinfo/ti_real.d \ tango/core/rt/compiler/dmd/typeinfo/ti_char.d \ tango/core/rt/compiler/dmd/typeinfo/ti_byte.d \ tango/core/rt/compiler/dmd/typeinfo/ti_ifloat.d \ tango/core/rt/compiler/dmd/object_.d \ tango/core/rt/compiler/dmd/rt/aaA.d \ tango/core/rt/compiler/dmd/rt/adi.d \ tango/core/rt/compiler/dmd/rt/arrayint.d \ tango/core/rt/compiler/dmd/rt/cInterface.d \ tango/core/rt/compiler/dmd/rt/arraybyte.d \ tango/core/rt/compiler/dmd/rt/qsort.d \ tango/core/rt/compiler/dmd/rt/trace.d \ tango/core/rt/compiler/dmd/rt/cmath2.d \ tango/core/rt/compiler/dmd/rt/aApply.d \ tango/core/rt/compiler/dmd/rt/invariant_.d \ tango/core/rt/compiler/dmd/rt/switch_.d \ tango/core/rt/compiler/dmd/rt/cast_.d \ tango/core/rt/compiler/dmd/rt/memory.d \ tango/core/rt/compiler/dmd/rt/compiler.d \ tango/core/rt/compiler/dmd/rt/arraycast.d \ tango/core/rt/compiler/dmd/rt/memset.d \ tango/core/rt/compiler/dmd/rt/arraydouble.d \ tango/core/rt/compiler/dmd/rt/obj.d \ tango/core/rt/compiler/dmd/rt/alloca.d \ tango/core/rt/compiler/dmd/rt/lifetime.d \ tango/core/rt/compiler/dmd/rt/arrayshort.d \ tango/core/rt/compiler/dmd/rt/dmain2.d \ tango/core/rt/compiler/dmd/rt/aApplyR.d \ tango/core/rt/compiler/dmd/rt/arrayfloat.d \ tango/core/rt/compiler/dmd/rt/cover.d \ tango/core/rt/compiler/dmd/rt/arraycat.d \ tango/core/rt/compiler/dmd/rt/arrayreal.d \ $(wildcard tango/core/rt/gc/$(GC)/*.d) \ tango/core/Array.d c_src := \ tango/core/rt/compiler/util/wrap.c \ tango/core/rt/compiler/dmd/gcosx.c \ tango/core/rt/compiler/dmd/complex.c \ tango/core/rt/compiler/dmd/cConst.c \ tango/core/rt/compiler/dmd/monitor.c \ tango/core/rt/compiler/dmd/critical.c a_src := \ tango/core/rt/compiler/util/ThreadASM.S objs := $(addsuffix .o,$(addprefix obj/,$(d_src) $(c_src) $(a_src))) lib := obj/libtango-$(GC).a override V := $(if $V,,@) .PHONY: all all: $(lib) obj/%.d.o: %.d @mkdir -p obj/$(