Allow returning something of type void in a function that returns void
[delight/core.git] / Make-lang.in
blob10ed140069cf8846f23c0efc40a256600f922421
1 # -*- mode: makefile -*-
3 # Based on GDC -- D front-end for GCC
4 # Copyright (C) 2004 David Friedman
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21 # Manual configuration since patching gcc/configure.ac is troublesome...
23 # Which version of the language to build? '1' or '2'.
24 D_LANGUAGE_VERSION=2
26 # The file d-make-include is created by setup-gcc.sh
27 -include $(srcdir)/d/d-make-include
29 # For various glibc, we need to define this to get NAN and FP_ constants
30 D_EXTRA_DEFINES += -D_GNU_SOURCE=1
32 # Enable D interface files
33 D_EXTRA_DEFINES += -D_DH=1
35 # Enables correct implementation of delegates. This requires patching GCC.
36 D_EXTRA_DEFINES += -DD_NO_TRAMPOLINES=1
38 # Enables placing some RTTI in the read-only data section.  Does not
39 # have to be an ELF target.
40 D_EXTRA_DEFINES += -DELFOBJ=1
42 # Enable the asm(...) style syntax for extended asm.  Deviates from the D
43 # specification syntax.  Can still use extended asm if disabled.
44 # D_EXTRA_DEFINES += -DGDC_EXTENDED_ASM_SYNTAX=1
46 # As with C++: (quote) OTOH, I think this means the g++ driver...
47 # Note that it would be nice to move the dependency on g++
48 # into the C++ rule, but that needs a little bit of work
49 # to do the right thing within all.cross.
50 D_DRIVER_NAME = gdc
51 D_DRIVER_OBJS = dlt/d-spec.o dlt/d-gcc.o version.o prefix.o intl.o
52 D_COMPILER_NAME = cc1d
54 D_INSTALL_NAME = $(shell echo $(D_DRIVER_NAME)|sed '$(program_transform_name)')
55 DMD_INSTALL_NAME = $(shell echo dmd|sed '$(program_transform_name)')
56 GDMD_INSTALL_NAME = $(shell echo gdmd|sed '$(program_transform_name)')
57 D_TARGET_INSTALL_NAME = $(target_alias)-$(shell echo $(D_DRIVER_NAME)|sed '$(program_transform_name)')
58 DMD_TARGET_INSTALL_NAME = $(target_alias)-$(shell echo dmd|sed '$(program_transform_name)')
59 GDMD_TARGET_INSTALL_NAME = $(target_alias)-$(shell echo gdmd|sed '$(program_transform_name)')
61 ifdef D_LANGUAGE_VERSION
62  ifeq ($(D_LANGUAGE_VERSION),2)
63 D_ver_suffix=2
64  else
65 D_ver_suffix=
66  endif
67 else
68 $(error D_LANGUAGE_VERSION not defined)
69 endif
71 D_dmd_srcdir=dlt/dmd$(D_ver_suffix)
72 D_incl_subdir=d$(D_ver_suffix)
73 D_EXTRA_DEFINES += -DLIBPHOBOS=\"-lgphobos$(D_ver_suffix)\" -DLIBPHOBOS_PROFILE=\"-lgphobos$(D_ver_suffix)\"
75 # This should be configured
76 gcc_d_include_dir = $(libsubdir)/$(unlibsubdir)/..`echo $(exec_prefix) | sed -e 's|^$(prefix)||' -e 's|/[^/]*|/..|g'`/include/$(D_incl_subdir)/$(version)
78 D_DMD_H := dlt/dmd/aggregate.h dlt/dmd/arraytypes.h dlt/dmd/attrib.h \
79         dlt/dmd/complex_t.h dlt/dmd/cond.h dlt/dmd/dchar.h dlt/dmd/declaration.h \
80         dlt/dmd/doc.h dlt/dmd/dsymbol.h dlt/dmd/enum.h dlt/dmd/expression.h \
81         dlt/dmd/gnuc.h dlt/dmd/hdrgen.h dlt/dmd/html.h dlt/dmd/identifier.h \
82         dlt/dmd/import.h dlt/dmd/init.h dlt/dmd/lexer.h dlt/dmd/lstring.h \
83         dlt/dmd/macro.h dlt/dmd/mars.h dlt/dmd/mem.h dlt/dmd/module.h dlt/dmd/mtype.h \
84         dlt/dmd/parse.h dlt/dmd/port.h dlt/dmd/root.h dlt/dmd/scope.h \
85         dlt/dmd/statement.h dlt/dmd/staticassert.h dlt/dmd/stringtable.h \
86         dlt/dmd/template.h dlt/dmd/total.h dlt/dmd/utf.h dlt/dmd/version.h \
87         dlt/id.h dlt/d-dmd-gcc.h dlt/d-gcc-real.h
88 D_DMD_H := $(subst dlt/dmd,$(D_dmd_srcdir),$(D_DMD_H))
90 D_TREE_H = $(TREE_H) dlt/d-tree.def dlt/d-lang.h dlt/d-codegen.h dlt/d-objfile.h \
91         dlt/d-irstate.h dlt/d-dmd-gcc.h dlt/d-gcc-includes.h dlt/d-gcc-real.h \
92         dlt/symbol.h dlt/dt.h coretypes.h function.h varray.h \
93         $(SYSTEM_H) $(CONFIG_H) $(TARGET_H) \
94         $(GGC_H) \
95         $(srcdir)/../include/hashtab.h $(srcdir)/../include/splay-tree.h \
96         $(D_DMD_H)
98 #D_EXTRA_DEFINES += -DD_PHOBOS_DIR=\"$(gcc_d_include_dir)\"
101 # Would be better to configure these rather than running shell script again and again,
102 # but would require a patch to gcc/configure.ac
103 D_gcc_main_ver:=$(shell echo $(version) | sed -e 's/\([0-9]*\.[0-9]*\).*/\1/')
104 ifeq ($(D_gcc_main_ver),4.0)
105   D_is_apple_ver:=$(shell grep version_string $(gcc_version_trigger) | grep 'Apple')
106 endif
108 gcc_d_target_include_dir=$(gcc_d_include_dir)/$(target_noncanonical)
110 ifeq ($(D_gcc_main_ver),3.4)
111   D_EXTRA_DEFINES += -DD_GCC_VER=34
112 else
113   ifeq ($(D_gcc_main_ver),4.0)
114    D_EXTRA_DEFINES += -DD_GCC_VER=40
115   else
116    D_EXTRA_DEFINES += -DD_GCC_VER=41
117   endif
118 endif
120 # Actual names to use when installing a cross-compiler.
121 D_CROSS_NAME = $(D_INSTALL_NAME)
122 DMD_CROSS_NAME = $(DMD_INSTALL_NAME)
123 GDMD_CROSS_NAME = $(GDMD_INSTALL_NAME)
125 ifeq ($(version),3.4.1)
126 # need for Cygwin which does not have 3.4.x, x>1 yet...
127 D_EXTRA_DEFINES += -DD_GCC_VER341=1
128 endif
129 ifeq ($(version),3.4.0)
130 # similar: needed for SkyOS which uses 3.4.0
131 D_EXTRA_DEFINES += -DD_GCC_VER341=1
132 endif
134 DLT dlt: $(D_COMPILER_NAME)$(exeext) dlt/pkgvars
136 # Tell GNU make to ignore these if they exist.
137 .PHONY: DLT dlt
139 D_BORROWED_C_OBJS=attribs.o cppdefault.o
141 D_INCLUDES = -I$(srcdir)/d -I$(srcdir)/$(D_dmd_srcdir) -Id
142 # -Wno-long-double is for MacOS X -- needs to be configurated
143 D_CC_FLAGS = -Wno-missing-braces
144 D_CC_FLAGS += -fmessage-length=0
145 #ifeq ($(if $(findstring darwin,$(build)),T,$(if $(findstring darwin,$(host)),T)),T)
147 #D_CC_FLAGS += -Wno-long-double
148 #endif
149 ifeq ($(if $(findstring solaris,$(build)),T,$(if $(findstring solaris,$(host)),T)),T)
150 D_CC_FLAGS += -Wcast-align
151 endif
153 #D_CC_FLAGS += -O0 -g
155 ALL_D_COMPILER_FLAGS = $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(D_INCLUDES) $(D_EXTRA_DEFINES) $(D_CC_FLAGS)
156 # Somehow, I started getting problems with the C++ <complex.h> being included..
157 ALL_DMD_COMPILER_FLAGS = $(ALL_CFLAGS) $(ALL_CPPFLAGS) -Id -I$(srcdir)/$(D_dmd_srcdir) -I$(srcdir)/dlt $(D_EXTRA_DEFINES) $(D_CC_FLAGS)
159 # Create the compiler driver for D.
160 $(D_DRIVER_NAME)$(exeext): $(D_DRIVER_OBJS) $(EXTRA_GCC_OBJS) $(LIBDEPS)
161         $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \
162         $(D_DRIVER_OBJS) $(EXTRA_GCC_OBJS) $(LIBS)
164 # Create a version of the g++ driver which calls the cross-compiler.
165 $(D_DRIVER_NAME)-cross$(exeext): $(D_DRIVER_NAME)$(exeext)
166         -rm -f $(D_DRIVER_NAME)-cross$(exeext)
167         cp $(D_DRIVER_NAME)$(exeext) $(D_DRIVER_NAME)-cross$(exeext)
169 D_DMD_OBJS = \
170     dlt/access.dmd.o dlt/array.dmd.o dlt/attrib.dmd.o dlt/cast.dmd.o dlt/class.dmd.o dlt/clone.dmd.o dlt/cond.dmd.o dlt/constfold.dmd.o dlt/dchar.dmd.o dlt/declaration.dmd.o dlt/delegatize.dmd.o dlt/doc.dmd.o \
171     dlt/dsymbol.dmd.o dlt/dump.dmd.o dlt/entity.dmd.o dlt/enum.dmd.o dlt/expression.dmd.o dlt/func.dmd.o dlt/gnuc.dmd.o dlt/hdrgen.dmd.o dlt/html.dmd.o dlt/identifier.dmd.o dlt/import.dmd.o \
172     dlt/init.dmd.o dlt/inline.dmd.o dlt/interpret.dmd.o dlt/lexer.dmd.o dlt/lstring.dmd.o dlt/macro.dmd.o dlt/mangle.dmd.o dlt/mars.dmd.o dlt/mem.dmd.o dlt/mtype.dmd.o dlt/module.dmd.o dlt/opover.dmd.o dlt/optimize.dmd.o dlt/parse.dmd.o \
173     dlt/root.dmd.o dlt/scope.dmd.o dlt/statement.dmd.o dlt/staticassert.dmd.o dlt/stringtable.dmd.o dlt/struct.dmd.o dlt/template.dmd.o  \
174     dlt/todt.dmd.o dlt/toobj.dmd.o dlt/typinf.dmd.o dlt/unialpha.dmd.o dlt/utf.dmd.o dlt/version.dmd.o
175 ifeq ($(D_LANGUAGE_VERSION),2)
176 D_DMD_OBJS += dlt/builtin.dmd.o dlt/traits.dmd.o
177 endif
178 D_GENERATED_SRCS = dlt/id.c dlt/impcnvtab.c
179 D_GENERATED_OBJS = dlt/id.gen.o dlt/impcnvtab.gen.o
180 D_GLUE_OBJS = dlt/d-lang.glue.o dlt/d-decls.glue.o dlt/d-codegen.glue.o dlt/d-objfile.glue.o dlt/d-irstate.glue.o  \
181         dlt/d-glue.glue.o dlt/d-convert.glue.o dlt/d-todt.glue.o dlt/d-gcc-real.glue.o \
182         dlt/d-gt.cglue.o dlt/d-builtins.cglue.o dlt/d-misc.cglue.o dlt/d-builtins2.glue.o \
183         dlt/symbol.glue.o dlt/asmstmt.glue.o dlt/dt.glue.o 
184 ifeq ($(D_LANGUAGE_VERSION),2)
185 D_GLUE_OBJS += dlt/d-cppmngl.glue.o
186 endif
188 ifdef D_is_apple_ver
189  ifeq ($(D_gcc_main_ver),4.0)
190   D_GLUE_OBJS += dlt/d-apple-gcc.cglue.o
191   D_BORROWED_C_OBJS += stub-objc.o prefix.o $(C_TARGET_OBJS)
192  endif
193 else
194  ifeq ($(D_gcc_main_ver),3.4)
195    D_GLUE_OBJS += dlt/d-c-stubs.cglue.o
196    D_BORROWED_C_OBJS += stub-objc.o prefix.o $(C_TARGET_OBJS)
197    D_EXTRA_LIBS += libcpp.a
198  else
199   ifeq ($(D_gcc_main_ver),4.1)
200    D_GLUE_OBJS += dlt/d-c-stubs.cglue.o
201    D_BORROWED_C_OBJS += stub-objc.o prefix.o $(C_TARGET_OBJS)
202   endif
203  endif
204 endif
206 D_BORROWED_C_OBJS += 
208 # The full path for -include ...total.h is only needed for g++ < 3.x
209 # ALL_D_COMPILER_FLAGS causes issues -- c++ <complex.h> instead of C <complex.h>
210 # Not all DMD sources depend on d-dmd-gcc.h
211 dlt/%.dmd.o: $(srcdir)/$(D_dmd_srcdir)/%.c $(D_DMD_H)
212         $(CXX) $(ALL_DMD_COMPILER_FLAGS) -include $(srcdir)/$(D_dmd_srcdir)/total.h -o dlt/$*.dmd.o -c $<
214 # For generator programs, can't implicitly include "total.h" which includes "id.h"
215 dlt/%.dmdgen.o: $(srcdir)/$(D_dmd_srcdir)/%.c
216         $(CC_FOR_BUILD) $(ALL_DMD_COMPILER_FLAGS) -o dlt/$*.dmdgen.o -c $<
218 dlt/%.gen.o: dlt/%.c
219         $(CXX) $(ALL_DMD_COMPILER_FLAGS)  -o dlt/$*.gen.o -c $<
221 dlt/%.glue.o: $(srcdir)/dlt/%.cc $(D_TREE_H)
222         $(CXX) $(ALL_D_COMPILER_FLAGS) -DGCC_SAFE_DMD=1 -o dlt/$*.glue.o -c $<
224 dlt/%.cglue.o: $(srcdir)/dlt/%.c $(D_TREE_H)
225         $(CC) $(ALL_D_COMPILER_FLAGS) -o dlt/$*.cglue.o -c $<
227 dlt/impcvgen: dlt/impcnvgen.dmdgen.o
228         $(CC_FOR_BUILD) $(ALL_D_COMPILER_FLAGS) $(BUILD_LDFLAGS) -o $@ $^
230 dlt/idgen: dlt/idgen.dmdgen.o
231         $(CC_FOR_BUILD) $(ALL_D_COMPILER_FLAGS) $(BUILD_LDFLAGS)  -o $@ $^
233 dlt/impcnvtab.c: dlt/impcvgen
234         cd dlt && ./impcvgen
235 dlt/id.c: dlt/idgen
236         cd dlt && ./idgen
237 # idgen also generates id.h; just verify id.h exists
238 dlt/id.h: dlt/id.c
239         @ ls dlt/id.h
241 dlt/d-confdefs.h: dlt/Make-lang.in
242         echo "#define D_PHOBOS_DIR \""$(gcc_d_include_dir)"\"" > $@
243         echo "#define D_PHOBOS_TARGET_DIR \""$(gcc_d_target_include_dir)"\"" >> $@
244         $(srcdir)/dlt/target-ver-syms.sh $(target) >> $@
246 dlt/id.gen.o: dlt/id.c $(D_DMD_H)
247 dlt/impcnvtab.gen.o: dlt/impcnvtab.c $(D_DMD_H)
248 dlt/d-lang.glue.o: dlt/d-lang.cc $(D_TREE_H) dlt/d-confdefs.h options.h
249 dlt/d-irstate.glue.o: dlt/d-irstate.cc $(D_TREE_H)
250 dlt/d-codegen.glue.o: dlt/d-codegen.cc $(D_TREE_H)
251 dlt/d-decls.glue.o: dlt/d-decls.cc $(D_TREE_H)
252 dlt/d-glue.glue.o: dlt/d-glue.cc $(D_TREE_H)
253 dlt/d-convert.glue.o: dlt/d-convert.cc $(D_TREE_H)
254 dlt/gcc-mars.glue.o: dlt/gcc-mars.cc $(D_TREE_H)
255 dlt/d-todt.glue.o: dlt/d-todt.cc $(D_TREE_H)
256 dlt/d-gcc-real.glue.o: dlt/d-gcc-real.cc $(D_TREE_H)
257 dlt/asmstmt.glue.o: dlt/asmstmt.cc dlt/d-asm-i386.h $(D_TREE_H)
258 dlt/symbol.glue.o: dlt/symbol.cc $(D_TREE_H)
259 dlt/dt.glue.o: dlt/symbol.cc $(D_TREE_H)
260 dlt/d-gt.cglue.o: dlt/d-gt.c $(D_TREE_H)
261 dlt/d-builtins.cglue.o: dlt/d-builtins.c $(D_TREE_H) dlt/d-bi-attrs-34.h dlt/d-bi-attrs-40.h dlt/d-bi-attrs-41.h
262 dlt/d-builtins2.glue.o: dlt/d-builtins.c $(D_TREE_H)
263 dlt/d-misc.cglue.o: dlt/d-misc.c $(D_TREE_H)
265 ifeq ($(D_gcc_main_ver),3.3)
266 D_CORETYPES=
267 else
268 D_CORETYPES=coretypes.h
269 endif
271 dlt/d-gcc.o: gcc.c $(CONFIG_H) $(SYSTEM_H) $(D_CORETYPES) $(TM_H) intl.h multilib.h \
272     Makefile $(lang_specs_files) specs.h prefix.h $(GCC_H)
273         (SHLIB_LINK='$(SHLIB_LINK)' \
274         SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
275         $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
276   $(DRIVER_DEFINES) -DD_DRIVER_ONLY=1 \
277   -c $(srcdir)/gcc.c $(OUTPUT_OPTION))
279 dlt/d-spec.o: $(srcdir)/dlt/d-spec.c $(SYSTEM_H) $(D_CORETYPES) $(TM_H) $(GCC_H) $(CONFIG_H)
280         (SHLIB_LINK='$(SHLIB_LINK)' \
281         SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
282         $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(DRIVER_DEFINES) \
283                 $(ALL_D_COMPILER_FLAGS) \
284                 $(INCLUDES) -o $@ $(srcdir)/dlt/d-spec.c)
286 D_ALL_OBJS = $(D_GENERATED_OBJS) $(D_BORROWED_C_OBJS) $(D_DMD_OBJS) $(D_GLUE_OBJS)
288 $(D_COMPILER_NAME)$(exeext): $(D_ALL_OBJS) $(BACKEND) $(LIBDEPS)
289         $(CXX) $(ALL_D_COMPILER_FLAGS) $(LDFLAGS) -o $@ \
290                 $(D_ALL_OBJS) $(BACKEND) $(D_EXTRA_LIBS) $(LIBS)
292 # Stage hooks:
293 # The main makefile has already created stage?/cobol.
295 # Are these are obsolete? (see gcc/Changelog.6)
296 #  Rather, is dlt.all.build actually used? Doesn't seem so.  dlt.all.cross does...
297 # A lot of these are different for gcc-3.3 / gcc-3.4
298 dlt.all.build: $(D_DRIVER_NAME)$(exeext) $(D_COMPILER_NAME)$(exeext)
299 dlt.all.cross: $(D_DRIVER_NAME)-cross$(exeext)
300 dlt.start.encap: $(D_DRIVER_NAME)$(exeext)
301 dlt.rest.encap:
302 dlt.info:
303 dlt.dvi:
304 # <foo>.generated-manpages is also required, but not documented as such.
305 # 3.4...
306 # dlt.man: doc/$(D_DRIVER_NAME).1
307 dlt.man:
311 # ... 3.4
312 dlt.generated-manpages:
313 dlt.install-normal:
314 dlt.install-common: installdirs
315         -rm -f $(DESTDIR)$(bindir)/$(D_INSTALL_NAME)$(exeext)
316         -rm -f $(DESTDIR)$(bindir)/$(GDMD_INSTALL_NAME)
317         $(INSTALL_PROGRAM) $(D_DRIVER_NAME)$(exeext) $(DESTDIR)$(bindir)/$(D_INSTALL_NAME)$(exeext)
318         -perl -e 'exit 0;' && $(INSTALL_PROGRAM) $(srcdir)/dlt/dmd-script $(DESTDIR)$(bindir)/$(GDMD_INSTALL_NAME)
319         -chmod a+x $(DESTDIR)$(bindir)/$(D_INSTALL_NAME)$(exeext)
320         -chmod a+x $(DESTDIR)$(bindir)/$(GDMD_INSTALL_NAME)
321         -if [ -f $(D_COMPILER_NAME)$(exeext) ] ; then \
322           if [ -f $(D_DRIVER_NAME)-cross$(exeext) ] ; then \
323             if [ -d $(DESTDIR)$(gcc_tooldir)/bin/. ] ; then \
324               rm -f $(DESTDIR)$(gcc_tooldir)/bin/$(D_DRIVER_NAME)$(exeext); \
325               rm -f $(DESTDIR)$(gcc_tooldir)/bin/gdmd$(exeext); \
326               $(INSTALL_PROGRAM) $(D_DRIVER_NAME)-cross$(exeext) $(DESTDIR)$(gcc_tooldir)/bin/$(D_DRIVER_NAME)$(exeext); \
327               perl -e 'exit 0;' && $(INSTALL_PROGRAM) $(srcdir)/dlt/dmd-script $(DESTDIR)$(gcc_tooldir)/bin/gdmd; \
328             else true; fi; \
329           else \
330             rm -f $(DESTDIR)$(bindir)/$(D_TARGET_INSTALL_NAME)$(exeext); \
331             rm -f $(DESTDIR)$(bindir)/$(GDMD_TARGET_INSTALL_NAME); \
332             ( cd $(DESTDIR)$(bindir) && \
333               $(LN) $(D_INSTALL_NAME)$(exeext) $(D_TARGET_INSTALL_NAME)$(exeext) ); \
334             ( cd $(DESTDIR)$(bindir) && \
335               $(LN) $(GDMD_INSTALL_NAME) $(GDMD_TARGET_INSTALL_NAME) ); \
336           fi ; \
337         fi
339 dlt.install-info:
341 dlt.install-man: installdirs $(DESTDIR)$(man1dir)/$(D_INSTALL_NAME)$(man1ext) $(DESTDIR)$(man1dir)/$(GDMD_INSTALL_NAME)$(man1ext)
343 $(DESTDIR)$(man1dir)/$(D_INSTALL_NAME)$(man1ext): $(srcdir)/dlt/gdc.1
344         -rm -f $@
345         -$(INSTALL_DATA) $< $@
346         -chmod a-x $@
348 $(DESTDIR)$(man1dir)/$(GDMD_INSTALL_NAME)$(man1ext): $(srcdir)/dlt/dmd-script.1
349         -rm -f $@
350         -$(INSTALL_DATA) $< $@
351         -chmod a-x $@
353 dlt.uninstall:
354 dlt.distdir:
355 dlt.mostlyclean:
356         -rm -f dlt/*$(objext)
357         -rm -f dlt/*$(coverageexts)
358         -rm -f $(D_GENERATED_SRCS)
359 # shouldn't this do something?
360 dlt.clean:
361 dlt.distclean:
362         -rm -f dlt/config.status
363         -rm -f dlt/Makefile
364 dlt.extraclean:
365 dlt.maintainer-clean:
367 # where to clean id.[ch] and impcnvtbl?
369 dlt.stage1: stage1-start
370         -mv dlt/*$(objext) stage1/dlt
371 dlt.stage2: stage2-start
372         -mv dlt/*$(objext) stage2/dlt
373 dlt.stage3: stage3-start
374         -mv dlt/*$(objext) stage3/dlt
375 dlt.stage4: stage4-start
376         -mv dlt/*$(objext) stage4/dlt
377 dlt.stageprofile: stageprofile-start
378         -mv dlt/*$(objext) stageprofile/dlt
379 dlt.stagefeedback: stagefeedback-start
380         -mv dlt/*$(objext) stagefeedback/dlt
382 .PHONY: check-dlt
383 check-dlt:
384         @ echo "note: check-dlt does not perform any tests yet."
386 dlt/pkgvars: Makefile
387         @rm -f $@
388         @echo "build=$(build)" >> $@
389         @echo "host=$(host)" >> $@
390         @echo "target=$(target)" >> $@
391         @echo "target_alias=$(target_noncanonical)" >> $@
392         @echo "gcc_version=$(version)" >> $@
393         @echo "srcdir=$(srcdir)" >> $@
394         @echo "prefix=$(prefix)" >> $@
395         @echo "exeext=$(exeext)" >> $@