SRC = \ dmd/access.c \ dmd/array.c \ dmd/attrib.c \ dmd/cast.c \ dmd/class.c \ dmd/constfold.c \ dmd/dchar.c \ dmd/debcond.c \ dmd/declaration.c \ dmd/dsymbol.c \ dmd/dump.c \ dmd/entity.c \ dmd/enum.c \ dmd/expression.c \ dmd/func.c \ dmd/gnuc.c \ dmd/html.c \ dmd/id.c \ dmd/identifier.c \ dmd/import.c \ dmd/inifile.c \ dmd/init.c \ dmd/inline.c \ dmd/lexer.c \ dmd/link.c \ dmd/lstring.c \ dmd/mangle.c \ dmd/mars.c \ dmd/mem.c \ dmd/module.c \ dmd/mtype.c \ dmd/opover.c \ dmd/optimize.c \ dmd/parse.c \ dmd/root.c \ dmd/scope.c \ dmd/statement.c \ dmd/staticassert.c \ dmd/stringtable.c \ dmd/struct.c \ dmd/template.c \ dmd/unialpha.c \ dmd/utf.c \ dmd/version.c \ dmd/impcnvtab.c \ stubs/typinf.c \ stubs/toobj.c \ stubs/tocsym.c \ stubs/todt.c \ stubs/ir.c stubs/annotation.c \ stubs/xml.c OBJ = \ dmd/access.o \ dmd/array.o \ dmd/attrib.o \ dmd/cast.o \ dmd/class.o \ dmd/constfold.o \ dmd/dchar.o \ dmd/debcond.o \ dmd/declaration.o \ dmd/dsymbol.o \ dmd/dump.o \ dmd/entity.o \ dmd/enum.o \ dmd/expression.o \ dmd/func.o \ dmd/gnuc.o \ dmd/html.o \ dmd/id.o \ dmd/identifier.o \ dmd/import.o \ dmd/inifile.o \ dmd/init.o \ dmd/inline.o \ dmd/lexer.o \ dmd/link.o \ dmd/lstring.o \ dmd/mangle.o \ dmd/mars.o \ dmd/mem.o \ dmd/module.o \ dmd/mtype.o \ dmd/opover.o \ dmd/optimize.o \ dmd/parse.o \ dmd/root.o \ dmd/scope.o \ dmd/statement.o \ dmd/staticassert.o \ dmd/stringtable.o \ dmd/struct.o \ dmd/template.o \ dmd/unialpha.o \ dmd/utf.o \ dmd/version.o \ dmd/impcnvtab.o \ stubs/typinf.o \ stubs/toobj.o \ stubs/tocsym.o \ stubs/todt.o \ stubs/ir.o \ stubs\annotation.o \ stubs\xml.o DMC = g++ CFLAGS = -g -Istubs -Idmd EXE = dexter IDGEN = idgen IMPCNV = impcnvgen targets : $(EXE) # Make helper programs to generate conversion table and identifiers dmd/$(IDGEN) : dmd/idgen.c cd dmd; $(DMC) idgen.c -o $(IDGEN) dmd/id.h : dmd/$(IDGEN) cd dmd; ./$(IDGEN) dmd/id.c : dmd/$(IDGEN) cd dmd; ./$(IDGEN) dmd/$(IMPCNV) : dmd/impcnvgen.c cd dmd; $(DMC) impcnvgen.c -o $(IMPCNV) dmd/impcnvtab.c : dmd/$(IMPCNV) cd dmd; ./$(IMPCNV) # Default Rule %.o : %.c $(DMC) -c $(CFLAGS) -o$@ $< # Build main executable $(EXE) : $(SRC) $(OBJ) $(DMC) -o$@ $(OBJ) # Clean obj files clean : -rm $(OBJ) $(EXE)