6502/vasm/make.rules

122 lines
5.1 KiB
Plaintext

PRE = obj$(TARGET)/$(CPU)_$(SYNTAX)_
OBJS = $(PRE)vasm.o $(PRE)atom.o $(PRE)expr.o $(PRE)symtab.o $(PRE)symbol.o \
$(PRE)error.o $(PRE)parse.o $(PRE)reloc.o $(PRE)hugeint.o $(PRE)cond.o \
$(PRE)supp.o $(PRE)dwarf.o $(PRE)osdep.o $(PRE)cpu.o $(PRE)syntax.o \
$(PRE)output_test.o $(PRE)output_elf.o $(PRE)output_bin.o \
$(PRE)output_vobj.o $(PRE)output_hunk.o $(PRE)output_aout.o \
$(PRE)output_tos.o $(PRE)output_xfile.o $(PRE)output_srec.o
VODOBJS = obj$(TARGET)/vobjdump.o
INCLUDES = -I. -Icpus/$(CPU) -Isyntax/$(SYNTAX)
VASMEXE = vasm$(CPU)_$(SYNTAX)$(TARGET)$(TARGETEXTENSION)
VOBJDMPEXE = vobjdump$(TARGET)$(TARGETEXTENSION)
all: $(VASMEXE) $(VOBJDMPEXE)
$(VASMEXE): $(OBJS)
$(LD) $(OBJS) $(LDFLAGS) $(LDOUT)$(VASMEXE)
$(VOBJDMPEXE): $(VODOBJS)
$(LD) $(VODOBJS) $(LDFLAGS) $(LDOUT)$(VOBJDMPEXE)
clean:
$(RM) $(OBJS) $(VASMEXE) $(VODOBJS) $(VOBJDMPEXE)
$(PRE)vasm.o: vasm.c vasm.h symbol.h osdep.h stabs.h dwarf.h expr.h supp.h atom.h cpus/$(CPU)/cpu.h syntax/$(SYNTAX)/syntax.h
$(CC) $(INCLUDES) $(COPTS) vasm.c $(CCOUT)$(PRE)vasm.o
$(PRE)atom.o: atom.c vasm.h symbol.h expr.h supp.h reloc.h cpus/$(CPU)/cpu.h syntax/$(SYNTAX)/syntax.h
$(CC) $(INCLUDES) $(COPTS) atom.c $(CCOUT)$(PRE)atom.o
$(PRE)expr.o: expr.c vasm.h symbol.h expr.h supp.h syntax/$(SYNTAX)/syntax.h hugeint.h tfloat.h
$(CC) $(INCLUDES) $(COPTS) expr.c $(CCOUT)$(PRE)expr.o
$(PRE)cond.o: cond.c vasm.h cond.h syntax/$(SYNTAX)/syntax.h
$(CC) $(INCLUDES) $(COPTS) cond.c $(CCOUT)$(PRE)cond.o
$(PRE)symtab.o: symtab.c vasm.h supp.h
$(CC) $(INCLUDES) $(COPTS) symtab.c $(CCOUT)$(PRE)symtab.o
$(PRE)symbol.o: symbol.c vasm.h symbol.h symtab.h supp.h cpus/$(CPU)/cpu.h
$(CC) $(INCLUDES) $(COPTS) symbol.c $(CCOUT)$(PRE)symbol.o
$(PRE)error.o: error.c vasm.h error.h general_errors.h output_errors.h cpus/$(CPU)/cpu_errors.h syntax/$(SYNTAX)/syntax_errors.h
$(CC) $(INCLUDES) $(COPTS) error.c $(CCOUT)$(PRE)error.o
$(PRE)reloc.o: reloc.c vasm.h symbol.h expr.h supp.h reloc.h
$(CC) $(INCLUDES) $(COPTS) reloc.c $(CCOUT)$(PRE)reloc.o
$(PRE)parse.o: parse.c vasm.h osdep.h symbol.h parse.h atom.h cpus/$(CPU)/cpu.h syntax/$(SYNTAX)/syntax.h
$(CC) $(INCLUDES) $(COPTS) parse.c $(CCOUT)$(PRE)parse.o
$(PRE)hugeint.o: hugeint.c hugeint.h tfloat.h
$(CC) $(INCLUDES) $(COPTS) hugeint.c $(CCOUT)$(PRE)hugeint.o
$(PRE)supp.o: supp.c vasm.h symbol.h expr.h supp.h atom.h tfloat.h
$(CC) $(INCLUDES) $(COPTS) supp.c $(CCOUT)$(PRE)supp.o
$(PRE)dwarf.o: dwarf.c vasm.h dwarf.h osdep.h symbol.h atom.h
$(CC) $(INCLUDES) $(COPTS) dwarf.c $(CCOUT)$(PRE)dwarf.o
$(PRE)osdep.o: osdep.c vasm.h supp.h
$(CC) $(INCLUDES) $(COPTS) osdep.c $(CCOUT)$(PRE)osdep.o
$(PRE)output_test.o: output_test.c vasm.h symbol.h supp.h atom.h
$(CC) $(INCLUDES) $(COPTS) output_test.c $(CCOUT)$(PRE)output_test.o
$(PRE)output_elf.o: output_elf.c vasm.h symbol.h stabs.h supp.h atom.h \
output_elf.h elf_reloc_ppc.h elf_reloc_68k.h \
elf_reloc_386.h elf_reloc_arm.h elf_reloc_x86_64.h \
elf_reloc_jag.h
$(CC) $(INCLUDES) $(COPTS) output_elf.c $(CCOUT)$(PRE)output_elf.o
$(PRE)output_bin.o: output_bin.c vasm.h symbol.h supp.h atom.h
$(CC) $(INCLUDES) $(COPTS) output_bin.c $(CCOUT)$(PRE)output_bin.o
$(PRE)output_srec.o: output_srec.c vasm.h symbol.h supp.h atom.h
$(CC) $(INCLUDES) $(COPTS) output_srec.c $(CCOUT)$(PRE)output_srec.o
$(PRE)output_vobj.o: output_vobj.c vasm.h symbol.h supp.h atom.h
$(CC) $(INCLUDES) $(COPTS) output_vobj.c $(CCOUT)$(PRE)output_vobj.o
$(PRE)output_hunk.o: output_hunk.c output_hunk.h vasm.h osdep.h symbol.h supp.h atom.h
$(CC) $(INCLUDES) $(COPTS) output_hunk.c $(CCOUT)$(PRE)output_hunk.o
$(PRE)output_aout.o: output_aout.c output_aout.h vasm.h symbol.h stabs.h supp.h atom.h
$(CC) $(INCLUDES) $(COPTS) output_aout.c $(CCOUT)$(PRE)output_aout.o
$(PRE)output_tos.o: output_tos.c output_tos.h vasm.h symbol.h supp.h atom.h
$(CC) $(INCLUDES) $(COPTS) output_tos.c $(CCOUT)$(PRE)output_tos.o
$(PRE)output_xfile.o: output_xfile.c output_xfile.h vasm.h symbol.h supp.h atom.h
$(CC) $(INCLUDES) $(COPTS) output_xfile.c $(CCOUT)$(PRE)output_xfile.o
$(PRE)cpu.o: cpus/$(CPU)/cpu.c cpus/$(CPU)/cpu.h syntax/$(SYNTAX)/syntax.h vasm.h symbol.h expr.h error.h supp.h reloc.h hugeint.h tfloat.h parse.h atom.h
$(CC) $(INCLUDES) $(COPTS) cpus/$(CPU)/cpu.c $(CCOUT)$(PRE)cpu.o
$(PRE)syntax.o: syntax/$(SYNTAX)/syntax.c syntax/$(SYNTAX)/syntax.h cpus/$(CPU)/cpu.h vasm.h symbol.h expr.h error.h supp.h parse.h atom.h
$(CC) $(INCLUDES) $(COPTS) syntax/$(SYNTAX)/syntax.c $(CCOUT)$(PRE)syntax.o
obj$(TARGET)/vobjdump.o: vobjdump.c vobjdump.h
$(CC) $(COPTS) vobjdump.c $(CCOUT)obj$(TARGET)/vobjdump.o
doc/vasm.pdf:
(cd doc;texi2dvi --pdf vasm.texi)
(cd doc;rm -f vasm.vr vasm.tp vasm.pg vasm.ky vasm.fn vasm.cp vasm.toc vasm.aux vasm.log)
doc/vasm.html:
(cd doc;texi2html -split=chapter -nosec_nav -frames vasm.texi)
sed -e s/vasm_15/vasm_1/ <doc/vasm_frame.html >doc/vasm.html
vasm.tar:
rm -f vasm.tar
(cd ..;tar cvf vasm/vasm.tar vasm/Makefile* vasm/make.rules vasm/*.c vasm/*.h vasm/doc/*.texi vasm/cpus/*/*.c vasm/cpus/*/*.h vasm/syntax/*/*.c vasm/syntax/*/*.h)
vasm.tar.gz: vasm.tar
gzip vasm.tar