Walter Bright wrote:

I don't know what build tools you're using, but consider make:

------ win32.mak ---------

DMD=\dmd\windows\bin\dmd

target : foo.obj

foo.obj : foo.d
    $(DMD) -c foo
--------------------------

And for GNU make, it uses the variables $(DC) and $(DMD)
where DC is the D compiler (like CC) and DMD the wrapper.

The annoying part is changing the DFLAGS for the compiler,
and/or translating any needed linker flags for the wrapper...

ifeq ("$(COMPILER)","DMD")
DC ?= dmd
DMD ?= dmd
DFLAGS = -O -g
version=-version
output=-of$@
endif
ifeq ("$(COMPILER)","LDC")
DC ?= ldc
DMD ?= ldmd
DFLAGS = -O
version=-d-version
output=-of=$@
endif
ifeq ("$(COMPILER)","GDC")
DC ?= gdc
DMD ?= gdmd
DFLAGS = -O2 -g
version=-fversion
output=-o $@
endif

%.o:%.d
        $(DC) $(DFLAGS) -c $(output) $<

--anders

Reply via email to