diff --git a/src/build.d b/src/build.d index 909847f7fc4f..e77b779e883e 100755 --- a/src/build.d +++ b/src/build.d @@ -236,10 +236,10 @@ DFLAGS=-I%@P%/../../../../../druntime/import -I%@P%/../../../../../phobos -L-L%@ }); /// Returns: the dependencies that build the D backend -alias dBackend = memoize!(function () { +alias backendObj = memoize!(function () { Dependency dependency = { - name: "dbackend", - target: env["G"].buildPath("dbackend").objName, + name: "backendObj", + target: env["G"].buildPath("backend").objName, sources: sources.backend, msg: "(DC) D_BACK_OBJS %-(%s, %)".format(sources.backend.map!(e => e.baseName).array), command: [ @@ -258,9 +258,9 @@ alias backend = memoize!(function() { Dependency dependency = { name: "backend", msg: "(LIB) %s".format("BACKEND".libName), - sources: [ env["G"].buildPath("dbackend").objName ], + sources: [ env["G"].buildPath("backend").objName ], target: env["G"].buildPath("backend").libName, - deps: [dBackend], + deps: [backendObj], command: [env["HOST_DMD_RUN"], env["MODEL_FLAG"], "-lib", "-of$@", "$<"] }; return new DependencyRef(dependency); @@ -312,11 +312,12 @@ Params: */ alias dmdExe = memoize!(function(string targetSuffix, string[] extraFlags...) { // Main DMD build dependency + const dmdSources = sources.dmd.chain(sources.root).array; Dependency dependency = { // newdelete.o + lexer.a + backend.a - sources: sources.dmd.chain(sources.root, lexer.targets, backend.targets).array, + sources: dmdSources.chain(lexer.targets, backend.targets).array, target: env["DMD_PATH"] ~ targetSuffix, - msg: "(DC) DMD%s %-(%s, %)".format(targetSuffix, sources.dmd.map!(e => e.baseName).array), + msg: "(DC) DMD%s %-(%s, %)".format(targetSuffix, dmdSources.map!(e => e.baseName).array), deps: [versionFile, sysconfDirFile, lexer, backend], command: [ env["HOST_DMD_RUN"], @@ -497,6 +498,31 @@ struct DependencyRange /// Sets the environment variables void parseEnvironment() { + // This block is temporary until we can remove the windows make files + { + const ddebug = env.get("DDEBUG", null); + if (ddebug.length) + { + writefln("WARNING: the DDEBUG variable is deprecated"); + if (ddebug == "-debug -g -unittest -cov") + { + environment["ENABLE_DEBUG"] = "1"; + environment["ENABLE_UNITTEST"] = "1"; + environment["ENABLE_COVERAGE"] = "1"; + } + else if (ddebug == "-debug -g -unittest") + { + environment["ENABLE_DEBUG"] = "1"; + environment["ENABLE_UNITTEST"] = "1"; + } + else + { + writefln("Error: DDEBUG is not an expected value '%s'", ddebug); + exit(1); + } + } + } + env.getDefault("TARGET_CPU", "X86"); version (Windows) { @@ -730,16 +756,23 @@ auto sourceFiles() .map!(e => e.name) .filter!(e => !lexerRootFiles.canFind(e.baseName.stripExtension)) .array, - backend: - dirEntries(env["C"], "*.d", SpanMode.shallow) - .map!(e => e.name) - .filter!(e => !e.baseName.among("dt.d", "obj.d")) - .array, - backendHeaders: [ - // can't be built with -betterC - "dt", - "obj", - ].map!(e => env["C"].buildPath(e ~ ".d")).array, + backend: (" + bcomplex.d evalu8.d divcoeff.d dvec.d go.d gsroa.d glocal.d gdag.d gother.d gflow.d + out.d + gloop.d compress.d cgelem.d cgcs.d ee.d cod4.d cod5.d nteh.d blockopt.d mem.d cg.d cgreg.d + dtype.d debugprint.d fp.d symbol.d elem.d dcode.d cgsched.d cg87.d cgxmm.d cgcod.d cod1.d cod2.d + cod3.d cv8.d dcgcv.d pdata.d util2.d var.d md5.d backconfig.d ph2.d drtlsym.d dwarfeh.d ptrntab.d + dvarstats.d dwarfdbginf.d cgen.d os.d goh.d barray.d cgcse.d elpicpie.d + machobj.d elfobj.d + ".split + ~ ( (env["OS"] == "windows") ? "cgobj.d filespec.d mscoffobj.d newman.d".split : ["aarray.d"] ) + ).map!(e => env["C"].buildPath(e)).array, + backendHeaders: " + cc.d cdef.d cgcv.d code.d cv4.d dt.d el.d global.d + obj.d oper.d outbuf.d rtlsym.d code_x86.d iasm.d codebuilder.d + ty.d type.d exh.d mach.d mscoff.d dwarf.d dwarf2.d xmm.d + dlist.d melf.d varstats.di + ".split.map!(e => env["C"].buildPath(e)).array, }; sources.dmd = sources.frontend ~ sources.backendHeaders; diff --git a/src/posix.mak b/src/posix.mak index 71ccd9dfd0c9..676e63000d06 100644 --- a/src/posix.mak +++ b/src/posix.mak @@ -343,21 +343,6 @@ GLUE_SRCS=$(addsuffix .d, $(addprefix $D/,irstate toctype glue gluelayer todt to DMD_SRCS=$(FRONT_SRCS) $(GLUE_SRCS) $(BACK_HDRS) -BACK_DOBJS = bcomplex.o evalu8.o divcoeff.o dvec.o go.o gsroa.o glocal.o gdag.o gother.o gflow.o \ - out.o \ - gloop.o compress.o cgelem.o cgcs.o ee.o cod4.o cod5.o nteh.o blockopt.o mem.o cg.o cgreg.o \ - dtype.o debugprint.o fp.o symbol.o elem.o dcode.o cgsched.o cg87.o cgxmm.o cgcod.o cod1.o cod2.o \ - cod3.o cv8.o dcgcv.o pdata.o util2.o var.o md5.o backconfig.o ph2.o drtlsym.o dwarfeh.o ptrntab.o \ - aarray.o dvarstats.o dwarfdbginf.o elfobj.o cgen.o os.o goh.o barray.o cgcse.o elpicpie.o - -G_DOBJS = $(addprefix $G/, $(BACK_DOBJS)) - -ifeq (osx,$(OS)) - BACK_DOBJS += machobj.o -else -# BACK_DOBJS += elfobj.o -endif - ######## DMD glue layer and backend GLUE_SRC = \ @@ -411,7 +396,7 @@ SRC_MAKE = posix.mak osmodel.mak STRING_IMPORT_FILES = $G/VERSION $G/SYSCONFDIR.imp $(RES)/default_ddoc_theme.ddoc -DEPS = $(patsubst %.o,%.deps,$(DMD_OBJS) $(BACK_OBJS) $(BACK_DOBJS)) +DEPS = $(patsubst %.o,%.deps,$(DMD_OBJS)) RUN_BUILD = $(GENERATED)/build HOST_DMD="$(HOST_DMD)" OS=$(OS) BUILD=$(BUILD) MODEL=$(MODEL) AUTO_BOOTSTRAP="$(AUTO_BOOTSTRAP)" --called-from-make @@ -443,21 +428,13 @@ toolchain-info: @echo '==== Toolchain Information ====' @echo -$G/backend.a: $(G_DOBJS) $(SRC_MAKE) - $(AR) rcs $@ $(G_DOBJS) - $G/dmd_frontend: $(FRONT_SRCS) $D/gluelayer.d $(ROOT_SRCS) $G/lexer.a $(STRING_IMPORT_FILES) $(HOST_DMD_PATH) $(HOST_DMD_RUN) -of$@ $(MODEL_FLAG) -vtls -J$G -J$(RES) $(DFLAGS) $(filter-out $(STRING_IMPORT_FILES) $(HOST_DMD_PATH),$^) -version=NoBackend -ifdef ENABLE_LTO -$G/dmd: $(DMD_SRCS) $(ROOT_SRCS) $G/lexer.a $(G_DOBJS) $(STRING_IMPORT_FILES) $(HOST_DMD_PATH) - $(HOST_DMD_RUN) -of$@ $(MODEL_FLAG) -vtls -J$G -J$(RES) $(DFLAGS) $(filter-out $(STRING_IMPORT_FILES) $(HOST_DMD_PATH),$^) -else -$G/dmd: $(DMD_SRCS) $(ROOT_SRCS) $G/backend.a $G/lexer.a $(STRING_IMPORT_FILES) $(HOST_DMD_PATH) +$G/dmd: $(DMD_SRCS) $(ROOT_SRCS) $G/lexer.a $G/backend.o $(STRING_IMPORT_FILES) $(HOST_DMD_PATH) $(HOST_DMD_RUN) -of$@ $(MODEL_FLAG) -vtls -J$G -J$(RES) $(DFLAGS) $(filter-out $(STRING_IMPORT_FILES) $(HOST_DMD_PATH) $(LEXER_ROOT),$^) -endif -$G/dmd-unittest: $(DMD_SRCS) $(ROOT_SRCS) $(LEXER_SRCS) $(G_DOBJS) $(STRING_IMPORT_FILES) $(HOST_DMD_PATH) +$G/dmd-unittest: $(DMD_SRCS) $(ROOT_SRCS) $(LEXER_SRCS) $G/backend.o $(STRING_IMPORT_FILES) $(HOST_DMD_PATH) $(HOST_DMD_RUN) -of$@ $(MODEL_FLAG) -vtls -J$G -J$(RES) $(DFLAGS) -g -unittest -main -version=NoMain $(filter-out $(STRING_IMPORT_FILES) $(HOST_DMD_PATH),$^) unittest: $G/dmd-unittest @@ -530,10 +507,6 @@ FORCE: ; -include $(DEPS) -$(G_DOBJS): $G/%.o: $C/%.d posix.mak $(HOST_DMD_PATH) - @echo " (HOST_DMD_RUN) BACK_DOBJS $<" - $(HOST_DMD_RUN) -c -of$@ $(DFLAGS) $(MODEL_FLAG) $(BACK_BETTERC) $(BACK_DFLAGS) $< - ################################################################################ # Generate the man pages ################################################################################ @@ -589,7 +562,7 @@ dscanner: $(DSCANNER_DIR)/dsc $G/cxxfrontend.o: $G/%.o: tests/%.c $(SRC) $(ROOT_SRC) $(SRC_MAKE) $(CXX) -c -o$@ $(CXXFLAGS) $(DMD_FLAGS) $(MMD) $< -$G/cxx-unittest: $G/cxxfrontend.o $(DMD_SRCS) $(ROOT_SRCS) $G/lexer.a $(G_DOBJS) $(STRING_IMPORT_FILES) $(HOST_DMD_PATH) +$G/cxx-unittest: $G/cxxfrontend.o $(DMD_SRCS) $(ROOT_SRCS) $G/lexer.a $G/backend.o $(STRING_IMPORT_FILES) $(HOST_DMD_PATH) CC=$(HOST_CXX) $(HOST_DMD_RUN) -of$@ $(MODEL_FLAG) -vtls -J$G -J$(RES) -L-lstdc++ $(DFLAGS) -version=NoMain $(filter-out $(STRING_IMPORT_FILES) $(HOST_DMD_PATH),$^) cxx-unittest: $G/cxx-unittest diff --git a/src/win32.mak b/src/win32.mak index 2ed977407ac3..9d116e92c2f9 100644 --- a/src/win32.mak +++ b/src/win32.mak @@ -164,7 +164,7 @@ GLUE_SRCS=$D/irstate.d $D/toctype.d $D/glue.d $D/gluelayer.d $D/todt.d $D/tocsym BACK_HDRS=$C/cc.d $C/cdef.d $C/cgcv.d $C/code.d $C/cv4.d $C/dt.d $C/el.d $C/global.d \ $C/obj.d $C/oper.d $C/outbuf.d $C/rtlsym.d $C/code_x86.d $C/iasm.d $C/codebuilder.d \ $C/ty.d $C/type.d $C/exh.d $C/mach.d $C/mscoff.d $C/dwarf.d $C/dwarf2.d $C/xmm.d \ - $C/dlist.d $C/goh.d $C/melf.d $C/varstats.di $C/barray.d + $C/dlist.d $C/melf.d $C/varstats.di $C/barray.d STRING_IMPORT_FILES= $G\VERSION ../res/default_ddoc_theme.ddoc @@ -173,23 +173,11 @@ DMD_SRCS=$(FRONT_SRCS) $(GLUE_SRCS) $(BACK_HDRS) # Glue layer GLUEOBJ= -# D back end -GBACKOBJ= $G/go.obj $G/gdag.obj $G/gother.obj $G/gflow.obj $G/gloop.obj $G/var.obj $G/elem.obj \ - $G/newman.obj $G/glocal.obj $G/os.obj $G/nteh.obj $G/evalu8.obj $G/fp.obj $G/cgcs.obj \ - $G/drtlsym.obj $G/cgelem.obj $G/cgen.obj $G/cgreg.obj $G/out.obj $G/elpicpie.obj \ - $G/blockopt.obj $G/cgobj.obj $G/cg.obj $G/dcgcv.obj $G/dtype.obj \ - $G/debugprint.obj $G/dcode.obj $G/cg87.obj $G/cgxmm.obj $G/cgsched.obj $G/ee.obj $G/symbol.obj \ - $G/cgcod.obj $G/cod1.obj $G/cod2.obj $G/cod3.obj $G/cod4.obj $G/cod5.obj $G/cgcse.obj \ - $G/bcomplex.obj $G/ptrntab.obj $G/md5.obj $G/barray.obj $G/goh.obj \ - $G/mscoffobj.obj $G/pdata.obj $G/cv8.obj $G/backconfig.obj \ - $G/divcoeff.obj $G/dwarfdbginf.obj $G/compress.obj $G/dvarstats.obj \ - $G/ph2.obj $G/util2.obj $G/gsroa.obj $G/dvec.obj $G/filespec.obj $G/mem.obj \ - # Root package ROOT_SRCS=$(ROOT)/aav.d $(ROOT)/array.d $(ROOT)/ctfloat.d $(ROOT)/file.d \ - $(ROOT)/filename.d $(ROOT)/man.d $(ROOT)/outbuffer.d $(ROOT)/port.d \ + $(ROOT)/filename.d $(ROOT)/longdouble.d $(ROOT)/man.d $(ROOT)/outbuffer.d $(ROOT)/port.d \ $(ROOT)/response.d $(ROOT)/rmem.d $(ROOT)/rootobject.d $(ROOT)/region.d \ - $(ROOT)/speller.d $(ROOT)/stringtable.d $(ROOT)/hash.d $(ROOT)/string.d + $(ROOT)/speller.d $(ROOT)/stringtable.d $(ROOT)/strtold.d $(ROOT)/hash.d $(ROOT)/string.d # D front end SRCS = $D/aggregate.h $D/aliasthis.h $D/arraytypes.h \ @@ -245,7 +233,7 @@ CH= # Makefiles MAKEFILES=win32.mak posix.mak osmodel.mak -RUN_BUILD=$(GEN)\build.exe --called-from-make OS=$(OS) BUILD=$(BUILD) MODEL=$(MODEL) HOST_DMD=$(HOST_DMD) HOST_DC=$(HOST_DC) +RUN_BUILD=$(GEN)\build.exe --called-from-make "OS=$(OS)" "BUILD=$(BUILD)" "MODEL=$(MODEL)" "HOST_DMD=$(HOST_DMD)" "HOST_DC=$(HOST_DC)" "DDEBUG=$(DDEBUG)" "OBJ_MSVC=$(OBJ_MSVC)" ############################## Release Targets ############################### @@ -296,8 +284,8 @@ glue.lib : $(GLUEOBJ) LIBS=$G\backend.lib $G\lexer.lib -$G\backend.lib: $(GBACKOBJ) $(OBJ_MSVC) - $(LIB) -p512 -n -c $@ $(GBACKOBJ) $(OBJ_MSVC) +$G\backend.lib: $(GEN)\build.exe + $(RUN_BUILD) $@ $G\lexer.lib: $(GEN)\build.exe $(RUN_BUILD) $@ @@ -398,185 +386,6 @@ $G\VERSION : ..\VERSION $G ############################# Intermediate Rules ############################ -# D front/back end - -$G/backconfig.obj : $C\backconfig.d - $(HOST_DC) -c -betterC -of$@ $(DFLAGS) -mv=dmd.backend=$C $C\backconfig - -$G/barray.obj : $C\barray.d - $(HOST_DC) -c -betterC -of$@ $(DFLAGS) -mv=dmd.backend=$C $C\barray - -$G/bcomplex.obj : $C\bcomplex.d - $(HOST_DC) -c -betterC -of$@ $(DFLAGS) -mv=dmd.backend=$C $C\bcomplex - -$G/blockopt.obj : $C\blockopt.d - $(HOST_DC) -c -betterC -of$@ $(DFLAGS) -mv=dmd.backend=$C $C\blockopt - -$G/cg.obj : $C\cg.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cg - -$G/cg87.obj : $C\cg87.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cg87 - -$G/cgcod.obj : $C\cgcod.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cgcod - -$G/cgcs.obj : $C\cgcs.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cgcs - -$G/cgcse.obj : $C\cgcse.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cgcse - -$G/dcgcv.obj : $C\dcgcv.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\dcgcv - -$G/cgelem.obj : $C\cgelem.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cgelem - -$G/cgen.obj : $C\cgen.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cgen - -$G/cgobj.obj : $C\md5.d $C\cgobj.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cgobj - -$G/cgreg.obj : $C\cgreg.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cgreg - -$G/cgsched.obj : $C\cgsched.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cgsched - -$G/cgxmm.obj : $C\xmm.d $C\cgxmm.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cgxmm - -$G/cod1.obj : $C\cod1.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cod1 - -$G/cod2.obj : $C\cod2.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cod2 - -$G/cod3.obj : $C\cod3.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cod3 - -$G/cod4.obj : $C\cod4.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cod4 - -$G/cod5.obj : $C\cod5.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cod5 - -$G/dcode.obj : $C\dcode.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\dcode - -$G/compress.obj : $C\compress.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\compress - -$G/symbol.obj : $C\symbol.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\symbol - -$G/cv8.obj : $C\cv8.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\cv8 - -$G/debugprint.obj : $C\debugprint.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC $C\debugprint - -$G/divcoeff.obj : $C\divcoeff.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC $C\divcoeff - -#$G/dt.obj : $C\dt.di $C\dt.d -# $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\dt - -$G/dvec.obj : $C\dvec.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\dvec - -$G/dwarfdbginf.obj : $C\dwarf.d $C\dwarfdbginf.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\dwarfdbginf - -$G/ee.obj : $C\ee.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\ee - -$G/elem.obj : $C\rtlsym.d $C\el.d $C\elem.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\elem - -$G/elpicpie.obj : $C\rtlsym.d $C\el.d $C\elpicpie.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\elpicpie - -$G/evalu8.obj : $C\evalu8.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\evalu8 - -$G/filespec.obj : $C\filespec.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\filespec - -$G/fp.obj : $C\fp.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\fp - -$G/go.obj : $C\go.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\go - -$G/goh.obj : $C\goh.d - $(HOST_DC) -c -betterC -of$@ $(DFLAGS) -mv=dmd.backend=$C $C\goh - -$G/gflow.obj : $C\gflow.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\gflow - -$G/gdag.obj : $C\gdag.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\gdag - -$G/gother.obj : $C\gother.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\gother - -$G/glocal.obj : $C\glocal.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\glocal - -$G/gloop.obj : $C\gloop.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\gloop - -$G/gsroa.obj : $C\gsroa.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\gsroa - -$G/md5.obj : $C\md5.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\md5 - -$G/mem.obj : $C\mem.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\mem - -$G/mscoffobj.obj : $C\mscoffobj.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\mscoffobj - -$G/newman.obj : $C\newman.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\newman - -$G/nteh.obj : $C\rtlsym.d $C\nteh.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\nteh - -$G/os.obj : $C\os.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\os - -$G/out.obj : $C\out.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\out - -$G/pdata.obj : $C\pdata.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\pdata - -$G/ph2.obj : $C\ph2.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\ph2 - -$G/ptrntab.obj : $C\iasm.d $C\ptrntab.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\ptrntab - -$G/drtlsym.obj : $C\rtlsym.d $C\drtlsym.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\drtlsym - -$G/dtype.obj : $C\dtype.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\dtype - -$G/util2.obj : $C\util2.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\util2 - -$G/var.obj : $C\var.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\var - -$G/dvarstats.obj : $C\dvarstats.d - $(HOST_DC) -c -of$@ $(DFLAGS) -betterC -mv=dmd.backend=$C $C\dvarstats - # Root $G/longdouble.obj : $(ROOT)\longdouble.d $(HOST_DC) -c -of$@ $(DFLAGS) $(ROOT)\longdouble.d