raa.$(O) saa.$(O) rbtree.$(O) \
float.$(O) insnsa.$(O) insnsb.$(O) \
assemble.$(O) labels.$(O) hashtbl.$(O) crc64.$(O) parser.$(O) \
- outform.$(O) outlib.$(O) output/outbin.$(O) \
- output/outaout.$(O) output/outcoff.$(O) \
+ output/outform.$(O) output/outlib.$(O) output/nulldbg.$(O) \
+ output/outbin.$(O) output/outaout.$(O) output/outcoff.$(O) \
output/outelf.$(O) output/outelf32.$(O) output/outelf64.$(O) \
output/outobj.$(O) output/outas86.$(O) output/outrdf2.$(O) \
output/outdbg.$(O) output/outieee.$(O) output/outmacho.$(O) \
listing.$(O): listing.c compiler.h config.h insnsi.h listing.h nasm.h \
nasmlib.h pptok.h preproc.h regs.h
macros.$(O): macros.c compiler.h config.h hashtbl.h insnsi.h nasm.h \
- nasmlib.h outform.h pptok.h preproc.h regs.h tables.h
+ nasmlib.h output/outform.h pptok.h preproc.h regs.h tables.h
nasm.$(O): nasm.c assemble.h compiler.h config.h eval.h float.h insns.h \
- insnsi.h labels.h listing.h nasm.h nasmlib.h outform.h parser.h pptok.h \
- preproc.h raa.h regs.h saa.h stdscan.h tokens.h
+ insnsi.h labels.h listing.h nasm.h nasmlib.h output/outform.h parser.h \
+ pptok.h preproc.h raa.h regs.h saa.h stdscan.h tokens.h
nasmlib.$(O): nasmlib.c compiler.h config.h insns.h insnsi.h nasm.h \
nasmlib.h pptok.h preproc.h regs.h tokens.h
ndisasm.$(O): ndisasm.c compiler.h config.h disasm.h insns.h insnsi.h nasm.h \
nasmlib.h pptok.h preproc.h regs.h sync.h tokens.h
-outform.$(O): outform.c compiler.h config.h insnsi.h nasm.h nasmlib.h \
- outform.h pptok.h preproc.h regs.h
-outlib.$(O): outlib.c compiler.h config.h insnsi.h nasm.h nasmlib.h outlib.h \
- pptok.h preproc.h regs.h
+output/nulldbg.$(O): output/nulldbg.c
output/outaout.$(O): output/outaout.c compiler.h config.h insnsi.h nasm.h \
- nasmlib.h outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h stdscan.h
+ nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h \
+ saa.h stdscan.h
output/outas86.$(O): output/outas86.c compiler.h config.h insnsi.h nasm.h \
- nasmlib.h outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h
+ nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h \
+ saa.h
output/outbin.$(O): output/outbin.c compiler.h config.h eval.h insnsi.h \
- labels.h nasm.h nasmlib.h outform.h outlib.h pptok.h preproc.h regs.h saa.h \
- stdscan.h
+ labels.h nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h \
+ preproc.h regs.h saa.h stdscan.h
output/outcoff.$(O): output/outcoff.c compiler.h config.h insnsi.h nasm.h \
- nasmlib.h outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h
+ nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h \
+ saa.h
output/outdbg.$(O): output/outdbg.c compiler.h config.h insnsi.h nasm.h \
- nasmlib.h outform.h pptok.h preproc.h regs.h
+ nasmlib.h output/outform.h pptok.h preproc.h regs.h
output/outelf.$(O): output/outelf.c compiler.h config.h insnsi.h nasm.h \
- nasmlib.h output/dwarf.h output/elfcommon.h output/outelf.h pptok.h \
- preproc.h regs.h
+ nasmlib.h output/dwarf.h output/elfcommon.h output/outelf.h \
+ output/outform.h pptok.h preproc.h regs.h
output/outelf32.$(O): output/outelf32.c compiler.h config.h insnsi.h nasm.h \
- nasmlib.h outform.h outlib.h output/dwarf.h output/elf32.h \
- output/elfcommon.h output/outelf.h pptok.h preproc.h raa.h rbtree.h regs.h \
+ nasmlib.h output/dwarf.h output/elf32.h output/elfcommon.h output/outelf.h \
+ output/outform.h output/outlib.h pptok.h preproc.h raa.h rbtree.h regs.h \
saa.h stdscan.h
output/outelf64.$(O): output/outelf64.c compiler.h config.h insnsi.h nasm.h \
- nasmlib.h outform.h outlib.h output/dwarf.h output/elf64.h \
- output/elfcommon.h output/outelf.h pptok.h preproc.h raa.h rbtree.h regs.h \
+ nasmlib.h output/dwarf.h output/elf64.h output/elfcommon.h output/outelf.h \
+ output/outform.h output/outlib.h pptok.h preproc.h raa.h rbtree.h regs.h \
saa.h stdscan.h
+output/outform.$(O): output/outform.c compiler.h config.h insnsi.h nasm.h \
+ nasmlib.h output/outform.h pptok.h preproc.h regs.h
output/outieee.$(O): output/outieee.c compiler.h config.h insnsi.h nasm.h \
- nasmlib.h outform.h pptok.h preproc.h regs.h
+ nasmlib.h output/outform.h pptok.h preproc.h regs.h
+output/outlib.$(O): output/outlib.c compiler.h config.h insnsi.h nasm.h \
+ nasmlib.h output/outlib.h pptok.h preproc.h regs.h
output/outmacho.$(O): output/outmacho.c compiler.h config.h insnsi.h nasm.h \
- nasmlib.h outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h
+ nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h \
+ saa.h
output/outobj.$(O): output/outobj.c compiler.h config.h insnsi.h nasm.h \
- nasmlib.h outform.h pptok.h preproc.h regs.h stdscan.h
+ nasmlib.h output/outform.h pptok.h preproc.h regs.h stdscan.h
output/outrdf.$(O): output/outrdf.c compiler.h config.h insnsi.h nasm.h \
- nasmlib.h outform.h pptok.h preproc.h regs.h
+ nasmlib.h output/outform.h pptok.h preproc.h regs.h
output/outrdf2.$(O): output/outrdf2.c compiler.h config.h insnsi.h nasm.h \
- nasmlib.h outform.h pptok.h preproc.h rdoff/rdoff.h regs.h saa.h
+ nasmlib.h output/outform.h pptok.h preproc.h rdoff/rdoff.h regs.h saa.h
+owtest.$(O): owtest.c
parser.$(O): parser.c compiler.h config.h float.h insns.h insnsi.h nasm.h \
nasmlib.h parser.h pptok.h preproc.h regs.h stdscan.h tables.h tokens.h
pptok.$(O): pptok.c compiler.h config.h hashtbl.h nasmlib.h pptok.h \
raa.$(O) saa.$(O) rbtree.$(O) \
float.$(O) insnsa.$(O) insnsb.$(O) \
assemble.$(O) labels.$(O) hashtbl.$(O) crc64.$(O) parser.$(O) \
- outform.$(O) outlib.$(O) output/outbin.$(O) \
- output/outaout.$(O) output/outcoff.$(O) \
+ output/outform.$(O) output/outlib.$(O) output/nulldbg.$(O) \
+ output/outbin.$(O) output/outaout.$(O) output/outcoff.$(O) \
output/outelf.$(O) output/outelf32.$(O) output/outelf64.$(O) \
output/outobj.$(O) output/outas86.$(O) output/outrdf2.$(O) \
output/outdbg.$(O) output/outieee.$(O) output/outmacho.$(O) \
listing.$(O): listing.c compiler.h insnsi.h listing.h nasm.h nasmlib.h \
pptok.h preproc.h regs.h
macros.$(O): macros.c compiler.h hashtbl.h insnsi.h nasm.h nasmlib.h \
- outform.h pptok.h preproc.h regs.h tables.h
+ output/outform.h pptok.h preproc.h regs.h tables.h
nasm.$(O): nasm.c assemble.h compiler.h eval.h float.h insns.h insnsi.h \
- labels.h listing.h nasm.h nasmlib.h outform.h parser.h pptok.h preproc.h \
- raa.h regs.h saa.h stdscan.h tokens.h
+ labels.h listing.h nasm.h nasmlib.h output/outform.h parser.h pptok.h \
+ preproc.h raa.h regs.h saa.h stdscan.h tokens.h
nasmlib.$(O): nasmlib.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h \
preproc.h regs.h tokens.h
ndisasm.$(O): ndisasm.c compiler.h disasm.h insns.h insnsi.h nasm.h \
nasmlib.h pptok.h preproc.h regs.h sync.h tokens.h
-outform.$(O): outform.c compiler.h insnsi.h nasm.h nasmlib.h outform.h \
- pptok.h preproc.h regs.h
-outlib.$(O): outlib.c compiler.h insnsi.h nasm.h nasmlib.h outlib.h pptok.h \
- preproc.h regs.h
+output/nulldbg.$(O): output/nulldbg.c
output/outaout.$(O): output/outaout.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h stdscan.h
+ output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h saa.h \
+ stdscan.h
output/outas86.$(O): output/outas86.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h
+ output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h saa.h
output/outbin.$(O): output/outbin.c compiler.h eval.h insnsi.h labels.h \
- nasm.h nasmlib.h outform.h outlib.h pptok.h preproc.h regs.h saa.h \
- stdscan.h
+ nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h regs.h \
+ saa.h stdscan.h
output/outcoff.$(O): output/outcoff.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h
+ output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h saa.h
output/outdbg.$(O): output/outdbg.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h pptok.h preproc.h regs.h
+ output/outform.h pptok.h preproc.h regs.h
output/outelf.$(O): output/outelf.c compiler.h insnsi.h nasm.h nasmlib.h \
- output/dwarf.h output/elfcommon.h output/outelf.h pptok.h preproc.h regs.h
+ output/dwarf.h output/elfcommon.h output/outelf.h output/outform.h pptok.h \
+ preproc.h regs.h
output/outelf32.$(O): output/outelf32.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h outlib.h output/dwarf.h output/elf32.h output/elfcommon.h \
- output/outelf.h pptok.h preproc.h raa.h rbtree.h regs.h saa.h stdscan.h
+ output/dwarf.h output/elf32.h output/elfcommon.h output/outelf.h \
+ output/outform.h output/outlib.h pptok.h preproc.h raa.h rbtree.h regs.h \
+ saa.h stdscan.h
output/outelf64.$(O): output/outelf64.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h outlib.h output/dwarf.h output/elf64.h output/elfcommon.h \
- output/outelf.h pptok.h preproc.h raa.h rbtree.h regs.h saa.h stdscan.h
+ output/dwarf.h output/elf64.h output/elfcommon.h output/outelf.h \
+ output/outform.h output/outlib.h pptok.h preproc.h raa.h rbtree.h regs.h \
+ saa.h stdscan.h
+output/outform.$(O): output/outform.c compiler.h insnsi.h nasm.h nasmlib.h \
+ output/outform.h pptok.h preproc.h regs.h
output/outieee.$(O): output/outieee.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h pptok.h preproc.h regs.h
+ output/outform.h pptok.h preproc.h regs.h
+output/outlib.$(O): output/outlib.c compiler.h insnsi.h nasm.h nasmlib.h \
+ output/outlib.h pptok.h preproc.h regs.h
output/outmacho.$(O): output/outmacho.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h
+ output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h saa.h
output/outobj.$(O): output/outobj.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h pptok.h preproc.h regs.h stdscan.h
+ output/outform.h pptok.h preproc.h regs.h stdscan.h
output/outrdf.$(O): output/outrdf.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h pptok.h preproc.h regs.h
+ output/outform.h pptok.h preproc.h regs.h
output/outrdf2.$(O): output/outrdf2.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h pptok.h preproc.h rdoff/rdoff.h regs.h saa.h
+ output/outform.h pptok.h preproc.h rdoff/rdoff.h regs.h saa.h
+owtest.$(O): owtest.c
parser.$(O): parser.c compiler.h float.h insns.h insnsi.h nasm.h nasmlib.h \
parser.h pptok.h preproc.h regs.h stdscan.h tables.h tokens.h
pptok.$(O): pptok.c compiler.h hashtbl.h nasmlib.h pptok.h preproc.h
raa.o saa.o rbtree.o \
float.o insnsa.o insnsb.o \
assemble.o labels.o hashtbl.o crc64.o parser.o \
- outform.o outlib.o outbin.o \
- outaout.o outcoff.o \
+ outform.o outlib.o nulldbg.o \
+ outbin.o outaout.o outcoff.o \
outelf.o outelf32.o outelf64.o \
outobj.o outas86.o outrdf2.o \
outdbg.o outieee.o outmacho.o \
pptok.h preproc.h regs.h tokens.h
ndisasm.o: ndisasm.c compiler.h config.h disasm.h insns.h insnsi.h nasm.h \
nasmlib.h pptok.h preproc.h regs.h sync.h tokens.h
-outform.o: outform.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
- pptok.h preproc.h regs.h
-outlib.o: outlib.c compiler.h config.h insnsi.h nasm.h nasmlib.h outlib.h \
- pptok.h preproc.h regs.h
+nulldbg.o: nulldbg.c
outaout.o: outaout.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
outlib.h pptok.h preproc.h raa.h regs.h saa.h stdscan.h
outas86.o: outas86.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
outdbg.o: outdbg.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
pptok.h preproc.h regs.h
outelf.o: outelf.c compiler.h config.h insnsi.h nasm.h nasmlib.h dwarf.h \
- elfcommon.h outelf.h pptok.h preproc.h regs.h
-outelf32.o: outelf32.c compiler.h config.h insnsi.h nasm.h nasmlib.h \
- outform.h outlib.h dwarf.h elf32.h elfcommon.h outelf.h pptok.h preproc.h \
- raa.h rbtree.h regs.h saa.h stdscan.h
-outelf64.o: outelf64.c compiler.h config.h insnsi.h nasm.h nasmlib.h \
- outform.h outlib.h dwarf.h elf64.h elfcommon.h outelf.h pptok.h preproc.h \
- raa.h rbtree.h regs.h saa.h stdscan.h
+ elfcommon.h outelf.h outform.h pptok.h preproc.h regs.h
+outelf32.o: outelf32.c compiler.h config.h insnsi.h nasm.h nasmlib.h dwarf.h \
+ elf32.h elfcommon.h outelf.h outform.h outlib.h pptok.h preproc.h raa.h \
+ rbtree.h regs.h saa.h stdscan.h
+outelf64.o: outelf64.c compiler.h config.h insnsi.h nasm.h nasmlib.h dwarf.h \
+ elf64.h elfcommon.h outelf.h outform.h outlib.h pptok.h preproc.h raa.h \
+ rbtree.h regs.h saa.h stdscan.h
+outform.o: outform.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
+ pptok.h preproc.h regs.h
outieee.o: outieee.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
pptok.h preproc.h regs.h
+outlib.o: outlib.c compiler.h config.h insnsi.h nasm.h nasmlib.h outlib.h \
+ pptok.h preproc.h regs.h
outmacho.o: outmacho.c compiler.h config.h insnsi.h nasm.h nasmlib.h \
outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h
outobj.o: outobj.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
pptok.h preproc.h regs.h
outrdf2.o: outrdf2.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
pptok.h preproc.h rdoff.h regs.h saa.h
+owtest.o: owtest.c
parser.o: parser.c compiler.h config.h float.h insns.h insnsi.h nasm.h \
nasmlib.h parser.h pptok.h preproc.h regs.h stdscan.h tables.h tokens.h
pptok.o: pptok.c compiler.h config.h hashtbl.h nasmlib.h pptok.h preproc.h
raa.$(O) saa.$(O) rbtree.$(O) &
float.$(O) insnsa.$(O) insnsb.$(O) &
assemble.$(O) labels.$(O) hashtbl.$(O) crc64.$(O) parser.$(O) &
- outform.$(O) outlib.$(O) output\outbin.$(O) &
- output\outaout.$(O) output\outcoff.$(O) &
+ output\outform.$(O) output\outlib.$(O) output\nulldbg.$(O) &
+ output\outbin.$(O) output\outaout.$(O) output\outcoff.$(O) &
output\outelf.$(O) output\outelf32.$(O) output\outelf64.$(O) &
output\outobj.$(O) output\outas86.$(O) output\outrdf2.$(O) &
output\outdbg.$(O) output\outieee.$(O) output\outmacho.$(O) &
listing.$(O): listing.c compiler.h insnsi.h listing.h nasm.h nasmlib.h &
pptok.h preproc.h regs.h
macros.$(O): macros.c compiler.h hashtbl.h insnsi.h nasm.h nasmlib.h &
- outform.h pptok.h preproc.h regs.h tables.h
+ output\outform.h pptok.h preproc.h regs.h tables.h
nasm.$(O): nasm.c assemble.h compiler.h eval.h float.h insns.h insnsi.h &
- labels.h listing.h nasm.h nasmlib.h outform.h parser.h pptok.h preproc.h &
- raa.h regs.h saa.h stdscan.h tokens.h
+ labels.h listing.h nasm.h nasmlib.h output\outform.h parser.h pptok.h &
+ preproc.h raa.h regs.h saa.h stdscan.h tokens.h
nasmlib.$(O): nasmlib.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h &
preproc.h regs.h tokens.h
ndisasm.$(O): ndisasm.c compiler.h disasm.h insns.h insnsi.h nasm.h &
nasmlib.h pptok.h preproc.h regs.h sync.h tokens.h
-outform.$(O): outform.c compiler.h insnsi.h nasm.h nasmlib.h outform.h &
- pptok.h preproc.h regs.h
-outlib.$(O): outlib.c compiler.h insnsi.h nasm.h nasmlib.h outlib.h pptok.h &
- preproc.h regs.h
+output\nulldbg.$(O): output\nulldbg.c
output\outaout.$(O): output\outaout.c compiler.h insnsi.h nasm.h nasmlib.h &
- outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h stdscan.h
+ output\outform.h output\outlib.h pptok.h preproc.h raa.h regs.h saa.h &
+ stdscan.h
output\outas86.$(O): output\outas86.c compiler.h insnsi.h nasm.h nasmlib.h &
- outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h
+ output\outform.h output\outlib.h pptok.h preproc.h raa.h regs.h saa.h
output\outbin.$(O): output\outbin.c compiler.h eval.h insnsi.h labels.h &
- nasm.h nasmlib.h outform.h outlib.h pptok.h preproc.h regs.h saa.h &
- stdscan.h
+ nasm.h nasmlib.h output\outform.h output\outlib.h pptok.h preproc.h regs.h &
+ saa.h stdscan.h
output\outcoff.$(O): output\outcoff.c compiler.h insnsi.h nasm.h nasmlib.h &
- outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h
+ output\outform.h output\outlib.h pptok.h preproc.h raa.h regs.h saa.h
output\outdbg.$(O): output\outdbg.c compiler.h insnsi.h nasm.h nasmlib.h &
- outform.h pptok.h preproc.h regs.h
+ output\outform.h pptok.h preproc.h regs.h
output\outelf.$(O): output\outelf.c compiler.h insnsi.h nasm.h nasmlib.h &
- output\dwarf.h output\elfcommon.h output\outelf.h pptok.h preproc.h regs.h
+ output\dwarf.h output\elfcommon.h output\outelf.h output\outform.h pptok.h &
+ preproc.h regs.h
output\outelf32.$(O): output\outelf32.c compiler.h insnsi.h nasm.h nasmlib.h &
- outform.h outlib.h output\dwarf.h output\elf32.h output\elfcommon.h &
- output\outelf.h pptok.h preproc.h raa.h rbtree.h regs.h saa.h stdscan.h
+ output\dwarf.h output\elf32.h output\elfcommon.h output\outelf.h &
+ output\outform.h output\outlib.h pptok.h preproc.h raa.h rbtree.h regs.h &
+ saa.h stdscan.h
output\outelf64.$(O): output\outelf64.c compiler.h insnsi.h nasm.h nasmlib.h &
- outform.h outlib.h output\dwarf.h output\elf64.h output\elfcommon.h &
- output\outelf.h pptok.h preproc.h raa.h rbtree.h regs.h saa.h stdscan.h
+ output\dwarf.h output\elf64.h output\elfcommon.h output\outelf.h &
+ output\outform.h output\outlib.h pptok.h preproc.h raa.h rbtree.h regs.h &
+ saa.h stdscan.h
+output\outform.$(O): output\outform.c compiler.h insnsi.h nasm.h nasmlib.h &
+ output\outform.h pptok.h preproc.h regs.h
output\outieee.$(O): output\outieee.c compiler.h insnsi.h nasm.h nasmlib.h &
- outform.h pptok.h preproc.h regs.h
+ output\outform.h pptok.h preproc.h regs.h
+output\outlib.$(O): output\outlib.c compiler.h insnsi.h nasm.h nasmlib.h &
+ output\outlib.h pptok.h preproc.h regs.h
output\outmacho.$(O): output\outmacho.c compiler.h insnsi.h nasm.h nasmlib.h &
- outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h
+ output\outform.h output\outlib.h pptok.h preproc.h raa.h regs.h saa.h
output\outobj.$(O): output\outobj.c compiler.h insnsi.h nasm.h nasmlib.h &
- outform.h pptok.h preproc.h regs.h stdscan.h
+ output\outform.h pptok.h preproc.h regs.h stdscan.h
output\outrdf.$(O): output\outrdf.c compiler.h insnsi.h nasm.h nasmlib.h &
- outform.h pptok.h preproc.h regs.h
+ output\outform.h pptok.h preproc.h regs.h
output\outrdf2.$(O): output\outrdf2.c compiler.h insnsi.h nasm.h nasmlib.h &
- outform.h pptok.h preproc.h rdoff\rdoff.h regs.h saa.h
+ output\outform.h pptok.h preproc.h rdoff\rdoff.h regs.h saa.h
+owtest.$(O): owtest.c
parser.$(O): parser.c compiler.h float.h insns.h insnsi.h nasm.h nasmlib.h &
parser.h pptok.h preproc.h regs.h stdscan.h tables.h tokens.h
pptok.$(O): pptok.c compiler.h hashtbl.h nasmlib.h pptok.h preproc.h
raa.$(O) saa.$(O) rbtree.$(O) \
float.$(O) insnsa.$(O) insnsb.$(O) \
assemble.$(O) labels.$(O) hashtbl.$(O) crc64.$(O) parser.$(O) \
- outform.$(O) outlib.$(O) output/outbin.$(O) \
- output/outaout.$(O) output/outcoff.$(O) \
+ output/outform.$(O) output/outlib.$(O) output/nulldbg.$(O) \
+ output/outbin.$(O) output/outaout.$(O) output/outcoff.$(O) \
output/outelf.$(O) output/outelf32.$(O) output/outelf64.$(O) \
output/outobj.$(O) output/outas86.$(O) output/outrdf2.$(O) \
output/outdbg.$(O) output/outieee.$(O) output/outmacho.$(O) \
listing.$(O): listing.c compiler.h insnsi.h listing.h nasm.h nasmlib.h \
pptok.h preproc.h regs.h
macros.$(O): macros.c compiler.h hashtbl.h insnsi.h nasm.h nasmlib.h \
- outform.h pptok.h preproc.h regs.h tables.h
+ output/outform.h pptok.h preproc.h regs.h tables.h
nasm.$(O): nasm.c assemble.h compiler.h eval.h float.h insns.h insnsi.h \
- labels.h listing.h nasm.h nasmlib.h outform.h parser.h pptok.h preproc.h \
- raa.h regs.h saa.h stdscan.h tokens.h
+ labels.h listing.h nasm.h nasmlib.h output/outform.h parser.h pptok.h \
+ preproc.h raa.h regs.h saa.h stdscan.h tokens.h
nasmlib.$(O): nasmlib.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h \
preproc.h regs.h tokens.h
ndisasm.$(O): ndisasm.c compiler.h disasm.h insns.h insnsi.h nasm.h \
nasmlib.h pptok.h preproc.h regs.h sync.h tokens.h
-outform.$(O): outform.c compiler.h insnsi.h nasm.h nasmlib.h outform.h \
- pptok.h preproc.h regs.h
-outlib.$(O): outlib.c compiler.h insnsi.h nasm.h nasmlib.h outlib.h pptok.h \
- preproc.h regs.h
+output/nulldbg.$(O): output/nulldbg.c
output/outaout.$(O): output/outaout.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h stdscan.h
+ output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h saa.h \
+ stdscan.h
output/outas86.$(O): output/outas86.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h
+ output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h saa.h
output/outbin.$(O): output/outbin.c compiler.h eval.h insnsi.h labels.h \
- nasm.h nasmlib.h outform.h outlib.h pptok.h preproc.h regs.h saa.h \
- stdscan.h
+ nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h regs.h \
+ saa.h stdscan.h
output/outcoff.$(O): output/outcoff.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h
+ output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h saa.h
output/outdbg.$(O): output/outdbg.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h pptok.h preproc.h regs.h
+ output/outform.h pptok.h preproc.h regs.h
output/outelf.$(O): output/outelf.c compiler.h insnsi.h nasm.h nasmlib.h \
- output/dwarf.h output/elfcommon.h output/outelf.h pptok.h preproc.h regs.h
+ output/dwarf.h output/elfcommon.h output/outelf.h output/outform.h pptok.h \
+ preproc.h regs.h
output/outelf32.$(O): output/outelf32.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h outlib.h output/dwarf.h output/elf32.h output/elfcommon.h \
- output/outelf.h pptok.h preproc.h raa.h rbtree.h regs.h saa.h stdscan.h
+ output/dwarf.h output/elf32.h output/elfcommon.h output/outelf.h \
+ output/outform.h output/outlib.h pptok.h preproc.h raa.h rbtree.h regs.h \
+ saa.h stdscan.h
output/outelf64.$(O): output/outelf64.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h outlib.h output/dwarf.h output/elf64.h output/elfcommon.h \
- output/outelf.h pptok.h preproc.h raa.h rbtree.h regs.h saa.h stdscan.h
+ output/dwarf.h output/elf64.h output/elfcommon.h output/outelf.h \
+ output/outform.h output/outlib.h pptok.h preproc.h raa.h rbtree.h regs.h \
+ saa.h stdscan.h
+output/outform.$(O): output/outform.c compiler.h insnsi.h nasm.h nasmlib.h \
+ output/outform.h pptok.h preproc.h regs.h
output/outieee.$(O): output/outieee.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h pptok.h preproc.h regs.h
+ output/outform.h pptok.h preproc.h regs.h
+output/outlib.$(O): output/outlib.c compiler.h insnsi.h nasm.h nasmlib.h \
+ output/outlib.h pptok.h preproc.h regs.h
output/outmacho.$(O): output/outmacho.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h
+ output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h saa.h
output/outobj.$(O): output/outobj.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h pptok.h preproc.h regs.h stdscan.h
+ output/outform.h pptok.h preproc.h regs.h stdscan.h
output/outrdf.$(O): output/outrdf.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h pptok.h preproc.h regs.h
+ output/outform.h pptok.h preproc.h regs.h
output/outrdf2.$(O): output/outrdf2.c compiler.h insnsi.h nasm.h nasmlib.h \
- outform.h pptok.h preproc.h rdoff/rdoff.h regs.h saa.h
+ output/outform.h pptok.h preproc.h rdoff/rdoff.h regs.h saa.h
+owtest.$(O): owtest.c
parser.$(O): parser.c compiler.h float.h insns.h insnsi.h nasm.h nasmlib.h \
parser.h pptok.h preproc.h regs.h stdscan.h tables.h tokens.h
pptok.$(O): pptok.c compiler.h hashtbl.h nasmlib.h pptok.h preproc.h
The \c{dbg} output format is not built into NASM in the default
configuration. If you are building your own NASM executable from the
-sources, you can define \i\c{OF_DBG} in \c{outform.h} or on the
+sources, you can define \i\c{OF_DBG} in \c{output/outform.h} or on the
compiler command line, and obtain the \c{dbg} output format.
The \c{dbg} format does not output an object file as such; instead,
print OUT "#include \"tables.h\"\n";
print OUT "#include \"nasmlib.h\"\n";
print OUT "#include \"hashtbl.h\"\n";
-print OUT "#include \"outform.h\"\n";
+print OUT "#include \"output/outform.h\"\n";
print OUT "\n";
print OUT "#if 1\n";
print OUT "const unsigned char nasm_stdmac[] = {";
#include "eval.h"
#include "assemble.h"
#include "labels.h"
-#include "outform.h"
+#include "output/outform.h"
#include "listing.h"
struct forwrefinfo { /* info held on forward refs. */
strcpy(rslt + l1, two);
return rslt;
}
-
-void null_debug_init(struct ofmt *of, void *id, FILE * fp, efunc error)
-{
- (void)of;
- (void)id;
- (void)fp;
- (void)error;
-}
-void null_debug_linenum(const char *filename, int32_t linenumber, int32_t segto)
-{
- (void)filename;
- (void)linenumber;
- (void)segto;
-}
-void null_debug_deflabel(char *name, int32_t segment, int64_t offset,
- int is_global, char *special)
-{
- (void)name;
- (void)segment;
- (void)offset;
- (void)is_global;
- (void)special;
-}
-void null_debug_routine(const char *directive, const char *params)
-{
- (void)directive;
- (void)params;
-}
-void null_debug_typevalue(int32_t type)
-{
- (void)type;
-}
-void null_debug_output(int type, void *param)
-{
- (void)type;
- (void)param;
-}
-void null_debug_cleanup(void)
-{
-}
-
-struct dfmt null_debug_form = {
- "Null debug format",
- "null",
- null_debug_init,
- null_debug_linenum,
- null_debug_deflabel,
- null_debug_routine,
- null_debug_typevalue,
- null_debug_output,
- null_debug_cleanup
-};
-
-struct dfmt *null_debug_arr[2] = { &null_debug_form, NULL };
+++ /dev/null
-/* outform.c manages a list of output formats, and associates
- * them with their relevant drivers. Also has a
- * routine to find the correct driver given a name
- * for it
- *
- * The Netwide Assembler is copyright (C) 1996 Simon Tatham and
- * Julian Hall. All rights reserved. The software is
- * redistributable under the license given in the file "LICENSE"
- * distributed in the NASM archive.
- */
-
-#include "compiler.h"
-
-#include <stdio.h>
-#include <string.h>
-#include <inttypes.h>
-
-#define BUILD_DRIVERS_ARRAY
-#include "outform.h"
-
-static int ndrivers = 0;
-
-struct ofmt *ofmt_find(char *name)
-{ /* find driver */
- int i;
-
- for (i = 0; i < ndrivers; i++)
- if (!strcmp(name, drivers[i]->shortname))
- return drivers[i];
-
- return NULL;
-}
-struct dfmt *dfmt_find(struct ofmt *ofmt, char *name)
-{ /* find driver */
- struct dfmt **dfmt = ofmt->debug_formats;
- while (*dfmt) {
- if (!strcmp(name, (*dfmt)->shortname))
- return (*dfmt);
- dfmt++;
- }
- return NULL;
-}
-
-void ofmt_list(struct ofmt *deffmt, FILE * fp)
-{
- int i;
- for (i = 0; i < ndrivers; i++)
- fprintf(fp, " %c %-10s%s\n",
- drivers[i] == deffmt ? '*' : ' ',
- drivers[i]->shortname, drivers[i]->fullname);
-}
-void dfmt_list(struct ofmt *ofmt, FILE * fp)
-{
- struct dfmt **drivers = ofmt->debug_formats;
- while (*drivers) {
- fprintf(fp, " %c %-10s%s\n",
- drivers[0] == ofmt->current_dfmt ? '*' : ' ',
- drivers[0]->shortname, drivers[0]->fullname);
- drivers++;
- }
-}
-struct ofmt *ofmt_register(efunc error)
-{
- for (ndrivers = 0; drivers[ndrivers] != NULL; ndrivers++) ;
-
- if (ndrivers == 0) {
- error(ERR_PANIC | ERR_NOFILE,
- "No output drivers given at compile time");
- }
-
- return (&OF_DEFAULT);
-}
+++ /dev/null
-/* outform.h header file for binding output format drivers to the
- * remainder of the code in the Netwide Assembler
- *
- * The Netwide Assembler is copyright (C) 1996 Simon Tatham and
- * Julian Hall. All rights reserved. The software is
- * redistributable under the license given in the file "LICENSE"
- * distributed in the NASM archive.
- */
-
-/*
- * This header file allows configuration of which output formats
- * get compiled into the NASM binary. You can configure by defining
- * various preprocessor symbols beginning with "OF_", either on the
- * compiler command line or at the top of this file.
- *
- * OF_ONLY -- only include specified object formats
- * OF_name -- ensure that output format 'name' is included
- * OF_NO_name -- remove output format 'name'
- * OF_DOS -- ensure that 'obj', 'bin' & 'win32' are included.
- * OF_UNIX -- ensure that 'aout', 'aoutb', 'coff', 'elf32' 'elf64' are in.
- * OF_OTHERS -- ensure that 'bin', 'as86' & 'rdf' are in.
- * OF_ALL -- ensure that all formats are included.
- * note that this doesn't include 'dbg', which is
- * only really useful if you're doing development
- * work on NASM. Define OF_DBG if you want this.
- *
- * OF_DEFAULT=of_name -- ensure that 'name' is the default format.
- *
- * eg: -DOF_UNIX -DOF_ELF32 -DOF_DEFAULT=of_elf32 would be a suitable config
- * for an average linux system.
- *
- * Default config = -DOF_ALL -DOF_DEFAULT=of_bin
- *
- * You probably only want to set these options while compiling 'nasm.c'. */
-
-#ifndef NASM_OUTFORM_H
-#define NASM_OUTFORM_H
-
-#include "nasm.h"
-
-/* -------------- USER MODIFIABLE PART ---------------- */
-
-/*
- * Insert #defines here in accordance with the configuration
- * instructions above.
- *
- * E.g.
- *
- * #define OF_ONLY
- * #define OF_OBJ
- * #define OF_BIN
- *
- * for a 16-bit DOS assembler with no extraneous formats.
- */
-
-/* ------------ END USER MODIFIABLE PART -------------- */
-
-/* ====configurable info begins here==== */
-/* formats configurable:
- * bin,obj,elf32,elf64,aout,aoutb,coff,win32,as86,rdf2,macho */
-
-/* process options... */
-
-#ifndef OF_ONLY
-#ifndef OF_ALL
-#define OF_ALL /* default is to have all formats */
-#endif
-#endif
-
-#ifdef OF_ALL /* set all formats on... */
-#ifndef OF_BIN
-#define OF_BIN
-#endif
-#ifndef OF_OBJ
-#define OF_OBJ
-#endif
-#ifndef OF_ELF32
-#define OF_ELF32
-#endif
-#ifndef OF_ELF64
-#define OF_ELF64
-#endif
-#ifndef OF_COFF
-#define OF_COFF
-#endif
-#ifndef OF_AOUT
-#define OF_AOUT
-#endif
-#ifndef OF_AOUTB
-#define OF_AOUTB
-#endif
-#ifndef OF_WIN32
-#define OF_WIN32
-#endif
-#ifndef OF_WIN64
-#define OF_WIN64
-#endif
-#ifndef OF_AS86
-#define OF_AS86
-#endif
-#ifndef OF_RDF2
-#define OF_RDF2
-#endif
-#ifndef OF_IEEE
-#define OF_IEEE
-#endif
-#ifndef OF_MACHO
-#define OF_MACHO
-#endif
-#ifndef OF_DBG
-#define OF_DBG
-#endif
-#endif /* OF_ALL */
-
-/* turn on groups of formats specified.... */
-#ifdef OF_DOS
-#ifndef OF_OBJ
-#define OF_OBJ
-#endif
-#ifndef OF_BIN
-#define OF_BIN
-#endif
-#ifndef OF_COFF
-#define OF_COFF /* COFF is used by DJGPP */
-#endif
-#ifndef OF_WIN32
-#define OF_WIN32
-#endif
-#ifndef OF_WIN64
-#define OF_WIN64
-#endif
-#endif
-
-#ifdef OF_UNIX
-#ifndef OF_AOUT
-#define OF_AOUT
-#endif
-#ifndef OF_AOUTB
-#define OF_AOUTB
-#endif
-#ifndef OF_COFF
-#define OF_COFF
-#endif
-#ifndef OF_ELF32
-#define OF_ELF32
-#endif
-#ifndef OF_ELF64
-#define OF_ELF64
-#endif
-#endif
-
-#ifdef OF_OTHERS
-#ifndef OF_BIN
-#define OF_BIN
-#endif
-#ifndef OF_AS86
-#define OF_AS86
-#endif
-#ifndef OF_RDF2
-#define OF_RDF2
-#endif
-#ifndef OF_IEEE
-#define OF_IEEE
-#endif
-#ifndef OF_MACHO
-#define OF_MACHO
-#endif
-#endif
-
-/* finally... override any format specifically specified to be off */
-#ifdef OF_NO_BIN
-#undef OF_BIN
-#endif
-#ifdef OF_NO_OBJ
-#undef OF_OBJ
-#endif
-#ifdef OF_NO_ELF32
-#undef OF_ELF32
-#endif
-#ifdef OF_NO_ELF64
-#undef OF_ELF64
-#endif
-#ifdef OF_NO_AOUT
-#undef OF_AOUT
-#endif
-#ifdef OF_NO_AOUTB
-#undef OF_AOUTB
-#endif
-#ifdef OF_NO_COFF
-#undef OF_COFF
-#endif
-#ifdef OF_NO_WIN32
-#undef OF_WIN32
-#endif
-#ifdef OF_NO_WIN64
-#undef OF_WIN64
-#endif
-#ifdef OF_NO_AS86
-#undef OF_AS86
-#endif
-#ifdef OF_NO_RDF2
-#undef OF_RDF
-#endif
-#ifdef OF_NO_IEEE
-#undef OF_IEEE
-#endif
-#ifdef OF_NO_MACHO
-#undef OF_MACHO
-#endif
-#ifdef OF_NO_DBG
-#undef OF_DBG
-#endif
-
-#ifndef OF_DEFAULT
-#define OF_DEFAULT of_bin
-#endif
-
-#ifdef BUILD_DRIVERS_ARRAY /* only if included from outform.c */
-
-/* pull in the externs for the different formats, then make the *drivers
- * array based on the above defines */
-
-extern struct ofmt of_bin;
-extern struct ofmt of_aout;
-extern struct ofmt of_aoutb;
-extern struct ofmt of_coff;
-extern struct ofmt of_elf32;
-extern struct ofmt of_elf;
-extern struct ofmt of_elf64;
-extern struct ofmt of_as86;
-extern struct ofmt of_obj;
-extern struct ofmt of_win32;
-extern struct ofmt of_win64;
-extern struct ofmt of_rdf2;
-extern struct ofmt of_ieee;
-extern struct ofmt of_macho;
-extern struct ofmt of_dbg;
-
-struct ofmt *drivers[] = {
-#ifdef OF_BIN
- &of_bin,
-#endif
-#ifdef OF_AOUT
- &of_aout,
-#endif
-#ifdef OF_AOUTB
- &of_aoutb,
-#endif
-#ifdef OF_COFF
- &of_coff,
-#endif
-#ifdef OF_ELF32
- &of_elf32,
- &of_elf,
-#endif
-#ifdef OF_ELF64
- &of_elf64,
-#endif
-#ifdef OF_AS86
- &of_as86,
-#endif
-#ifdef OF_OBJ
- &of_obj,
-#endif
-#ifdef OF_WIN32
- &of_win32,
-#endif
-#ifdef OF_WIN64
- &of_win64,
-#endif
-#ifdef OF_RDF2
- &of_rdf2,
-#endif
-#ifdef OF_IEEE
- &of_ieee,
-#endif
-#ifdef OF_MACHO
- &of_macho,
-#endif
-#ifdef OF_DBG
- &of_dbg,
-#endif
-
- NULL
-};
-
-#endif /* BUILD_DRIVERS_ARRAY */
-
-struct ofmt *ofmt_find(char *);
-struct dfmt *dfmt_find(struct ofmt *, char *);
-void ofmt_list(struct ofmt *, FILE *);
-void dfmt_list(struct ofmt *ofmt, FILE * fp);
-struct ofmt *ofmt_register(efunc error);
-
-#endif /* NASM_OUTFORM_H */
+++ /dev/null
-/*
- * libout.c
- *
- * Common routines for the output backends.
- */
-
-#include "compiler.h"
-#include "nasm.h"
-#include "outlib.h"
-
-uint64_t realsize(enum out_type type, uint64_t size)
-{
- switch (type) {
- case OUT_REL2ADR:
- return 2;
- case OUT_REL4ADR:
- return 4;
- case OUT_REL8ADR:
- return 8;
- default:
- return size;
- }
-}
+++ /dev/null
-#ifndef NASM_OUTLIB_H
-#define NASM_OUTLIB_H
-
-#include "nasm.h"
-
-uint64_t realsize(enum out_type type, uint64_t size);
-
-#endif /* NASM_OUTLIB_H */
-
--- /dev/null
+#include "nasm.h"
+#include "nasmlib.h"
+
+void null_debug_init(struct ofmt *of, void *id, FILE * fp, efunc error)
+{
+ (void)of;
+ (void)id;
+ (void)fp;
+ (void)error;
+}
+void null_debug_linenum(const char *filename, int32_t linenumber, int32_t segto)
+{
+ (void)filename;
+ (void)linenumber;
+ (void)segto;
+}
+void null_debug_deflabel(char *name, int32_t segment, int64_t offset,
+ int is_global, char *special)
+{
+ (void)name;
+ (void)segment;
+ (void)offset;
+ (void)is_global;
+ (void)special;
+}
+void null_debug_routine(const char *directive, const char *params)
+{
+ (void)directive;
+ (void)params;
+}
+void null_debug_typevalue(int32_t type)
+{
+ (void)type;
+}
+void null_debug_output(int type, void *param)
+{
+ (void)type;
+ (void)param;
+}
+void null_debug_cleanup(void)
+{
+}
+
+struct dfmt null_debug_form = {
+ "Null debug format",
+ "null",
+ null_debug_init,
+ null_debug_linenum,
+ null_debug_deflabel,
+ null_debug_routine,
+ null_debug_typevalue,
+ null_debug_output,
+ null_debug_cleanup
+};
+
+struct dfmt *null_debug_arr[2] = { &null_debug_form, NULL };
#include "saa.h"
#include "raa.h"
#include "stdscan.h"
-#include "outform.h"
-#include "outlib.h"
+#include "output/outform.h"
+#include "output/outlib.h"
#if defined OF_AOUT || defined OF_AOUTB
#include "nasmlib.h"
#include "saa.h"
#include "raa.h"
-#include "outform.h"
-#include "outlib.h"
+#include "output/outform.h"
+#include "output/outlib.h"
#ifdef OF_AS86
#include "stdscan.h"
#include "labels.h"
#include "eval.h"
-#include "outform.h"
-#include "outlib.h"
+#include "output/outform.h"
+#include "output/outlib.h"
#ifdef OF_BIN
#include "nasmlib.h"
#include "saa.h"
#include "raa.h"
-#include "outform.h"
-#include "outlib.h"
+#include "output/outform.h"
+#include "output/outlib.h"
#if defined(OF_COFF) || defined(OF_WIN32) || defined(OF_WIN64)
#include "nasm.h"
#include "nasmlib.h"
-#include "outform.h"
+#include "output/outform.h"
#ifdef OF_DBG
#include <inttypes.h>
#include "nasm.h"
-#include "outform.h"
+#include "output/outform.h"
#include "output/elfcommon.h"
#include "output/dwarf.h"
#include "saa.h"
#include "raa.h"
#include "stdscan.h"
-#include "outform.h"
-#include "outlib.h"
+#include "output/outform.h"
+#include "output/outlib.h"
#include "rbtree.h"
#include "output/elf32.h"
#include "saa.h"
#include "raa.h"
#include "stdscan.h"
-#include "outform.h"
-#include "outlib.h"
+#include "output/outform.h"
+#include "output/outlib.h"
#include "rbtree.h"
#include "output/elf64.h"
--- /dev/null
+/* outform.c manages a list of output formats, and associates
+ * them with their relevant drivers. Also has a
+ * routine to find the correct driver given a name
+ * for it
+ *
+ * The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+ * Julian Hall. All rights reserved. The software is
+ * redistributable under the license given in the file "LICENSE"
+ * distributed in the NASM archive.
+ */
+
+#include "compiler.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <inttypes.h>
+
+#define BUILD_DRIVERS_ARRAY
+#include "output/outform.h"
+
+static int ndrivers = 0;
+
+struct ofmt *ofmt_find(char *name)
+{ /* find driver */
+ int i;
+
+ for (i = 0; i < ndrivers; i++)
+ if (!strcmp(name, drivers[i]->shortname))
+ return drivers[i];
+
+ return NULL;
+}
+struct dfmt *dfmt_find(struct ofmt *ofmt, char *name)
+{ /* find driver */
+ struct dfmt **dfmt = ofmt->debug_formats;
+ while (*dfmt) {
+ if (!strcmp(name, (*dfmt)->shortname))
+ return (*dfmt);
+ dfmt++;
+ }
+ return NULL;
+}
+
+void ofmt_list(struct ofmt *deffmt, FILE * fp)
+{
+ int i;
+ for (i = 0; i < ndrivers; i++)
+ fprintf(fp, " %c %-10s%s\n",
+ drivers[i] == deffmt ? '*' : ' ',
+ drivers[i]->shortname, drivers[i]->fullname);
+}
+void dfmt_list(struct ofmt *ofmt, FILE * fp)
+{
+ struct dfmt **drivers = ofmt->debug_formats;
+ while (*drivers) {
+ fprintf(fp, " %c %-10s%s\n",
+ drivers[0] == ofmt->current_dfmt ? '*' : ' ',
+ drivers[0]->shortname, drivers[0]->fullname);
+ drivers++;
+ }
+}
+struct ofmt *ofmt_register(efunc error)
+{
+ for (ndrivers = 0; drivers[ndrivers] != NULL; ndrivers++) ;
+
+ if (ndrivers == 0) {
+ error(ERR_PANIC | ERR_NOFILE,
+ "No output drivers given at compile time");
+ }
+
+ return (&OF_DEFAULT);
+}
--- /dev/null
+/* output/outform.h header file for binding output format drivers to the
+ * remainder of the code in the Netwide Assembler
+ *
+ * The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+ * Julian Hall. All rights reserved. The software is
+ * redistributable under the license given in the file "LICENSE"
+ * distributed in the NASM archive.
+ */
+
+/*
+ * This header file allows configuration of which output formats
+ * get compiled into the NASM binary. You can configure by defining
+ * various preprocessor symbols beginning with "OF_", either on the
+ * compiler command line or at the top of this file.
+ *
+ * OF_ONLY -- only include specified object formats
+ * OF_name -- ensure that output format 'name' is included
+ * OF_NO_name -- remove output format 'name'
+ * OF_DOS -- ensure that 'obj', 'bin' & 'win32' are included.
+ * OF_UNIX -- ensure that 'aout', 'aoutb', 'coff', 'elf32' 'elf64' are in.
+ * OF_OTHERS -- ensure that 'bin', 'as86' & 'rdf' are in.
+ * OF_ALL -- ensure that all formats are included.
+ * note that this doesn't include 'dbg', which is
+ * only really useful if you're doing development
+ * work on NASM. Define OF_DBG if you want this.
+ *
+ * OF_DEFAULT=of_name -- ensure that 'name' is the default format.
+ *
+ * eg: -DOF_UNIX -DOF_ELF32 -DOF_DEFAULT=of_elf32 would be a suitable config
+ * for an average linux system.
+ *
+ * Default config = -DOF_ALL -DOF_DEFAULT=of_bin
+ *
+ * You probably only want to set these options while compiling 'nasm.c'. */
+
+#ifndef NASM_OUTFORM_H
+#define NASM_OUTFORM_H
+
+#include "nasm.h"
+
+/* -------------- USER MODIFIABLE PART ---------------- */
+
+/*
+ * Insert #defines here in accordance with the configuration
+ * instructions above.
+ *
+ * E.g.
+ *
+ * #define OF_ONLY
+ * #define OF_OBJ
+ * #define OF_BIN
+ *
+ * for a 16-bit DOS assembler with no extraneous formats.
+ */
+
+/* ------------ END USER MODIFIABLE PART -------------- */
+
+/* ====configurable info begins here==== */
+/* formats configurable:
+ * bin,obj,elf32,elf64,aout,aoutb,coff,win32,as86,rdf2,macho */
+
+/* process options... */
+
+#ifndef OF_ONLY
+#ifndef OF_ALL
+#define OF_ALL /* default is to have all formats */
+#endif
+#endif
+
+#ifdef OF_ALL /* set all formats on... */
+#ifndef OF_BIN
+#define OF_BIN
+#endif
+#ifndef OF_OBJ
+#define OF_OBJ
+#endif
+#ifndef OF_ELF32
+#define OF_ELF32
+#endif
+#ifndef OF_ELF64
+#define OF_ELF64
+#endif
+#ifndef OF_COFF
+#define OF_COFF
+#endif
+#ifndef OF_AOUT
+#define OF_AOUT
+#endif
+#ifndef OF_AOUTB
+#define OF_AOUTB
+#endif
+#ifndef OF_WIN32
+#define OF_WIN32
+#endif
+#ifndef OF_WIN64
+#define OF_WIN64
+#endif
+#ifndef OF_AS86
+#define OF_AS86
+#endif
+#ifndef OF_RDF2
+#define OF_RDF2
+#endif
+#ifndef OF_IEEE
+#define OF_IEEE
+#endif
+#ifndef OF_MACHO
+#define OF_MACHO
+#endif
+#ifndef OF_DBG
+#define OF_DBG
+#endif
+#endif /* OF_ALL */
+
+/* turn on groups of formats specified.... */
+#ifdef OF_DOS
+#ifndef OF_OBJ
+#define OF_OBJ
+#endif
+#ifndef OF_BIN
+#define OF_BIN
+#endif
+#ifndef OF_COFF
+#define OF_COFF /* COFF is used by DJGPP */
+#endif
+#ifndef OF_WIN32
+#define OF_WIN32
+#endif
+#ifndef OF_WIN64
+#define OF_WIN64
+#endif
+#endif
+
+#ifdef OF_UNIX
+#ifndef OF_AOUT
+#define OF_AOUT
+#endif
+#ifndef OF_AOUTB
+#define OF_AOUTB
+#endif
+#ifndef OF_COFF
+#define OF_COFF
+#endif
+#ifndef OF_ELF32
+#define OF_ELF32
+#endif
+#ifndef OF_ELF64
+#define OF_ELF64
+#endif
+#endif
+
+#ifdef OF_OTHERS
+#ifndef OF_BIN
+#define OF_BIN
+#endif
+#ifndef OF_AS86
+#define OF_AS86
+#endif
+#ifndef OF_RDF2
+#define OF_RDF2
+#endif
+#ifndef OF_IEEE
+#define OF_IEEE
+#endif
+#ifndef OF_MACHO
+#define OF_MACHO
+#endif
+#endif
+
+/* finally... override any format specifically specified to be off */
+#ifdef OF_NO_BIN
+#undef OF_BIN
+#endif
+#ifdef OF_NO_OBJ
+#undef OF_OBJ
+#endif
+#ifdef OF_NO_ELF32
+#undef OF_ELF32
+#endif
+#ifdef OF_NO_ELF64
+#undef OF_ELF64
+#endif
+#ifdef OF_NO_AOUT
+#undef OF_AOUT
+#endif
+#ifdef OF_NO_AOUTB
+#undef OF_AOUTB
+#endif
+#ifdef OF_NO_COFF
+#undef OF_COFF
+#endif
+#ifdef OF_NO_WIN32
+#undef OF_WIN32
+#endif
+#ifdef OF_NO_WIN64
+#undef OF_WIN64
+#endif
+#ifdef OF_NO_AS86
+#undef OF_AS86
+#endif
+#ifdef OF_NO_RDF2
+#undef OF_RDF
+#endif
+#ifdef OF_NO_IEEE
+#undef OF_IEEE
+#endif
+#ifdef OF_NO_MACHO
+#undef OF_MACHO
+#endif
+#ifdef OF_NO_DBG
+#undef OF_DBG
+#endif
+
+#ifndef OF_DEFAULT
+#define OF_DEFAULT of_bin
+#endif
+
+#ifdef BUILD_DRIVERS_ARRAY /* only if included from outform.c */
+
+/* pull in the externs for the different formats, then make the *drivers
+ * array based on the above defines */
+
+extern struct ofmt of_bin;
+extern struct ofmt of_aout;
+extern struct ofmt of_aoutb;
+extern struct ofmt of_coff;
+extern struct ofmt of_elf32;
+extern struct ofmt of_elf;
+extern struct ofmt of_elf64;
+extern struct ofmt of_as86;
+extern struct ofmt of_obj;
+extern struct ofmt of_win32;
+extern struct ofmt of_win64;
+extern struct ofmt of_rdf2;
+extern struct ofmt of_ieee;
+extern struct ofmt of_macho;
+extern struct ofmt of_dbg;
+
+struct ofmt *drivers[] = {
+#ifdef OF_BIN
+ &of_bin,
+#endif
+#ifdef OF_AOUT
+ &of_aout,
+#endif
+#ifdef OF_AOUTB
+ &of_aoutb,
+#endif
+#ifdef OF_COFF
+ &of_coff,
+#endif
+#ifdef OF_ELF32
+ &of_elf32,
+ &of_elf,
+#endif
+#ifdef OF_ELF64
+ &of_elf64,
+#endif
+#ifdef OF_AS86
+ &of_as86,
+#endif
+#ifdef OF_OBJ
+ &of_obj,
+#endif
+#ifdef OF_WIN32
+ &of_win32,
+#endif
+#ifdef OF_WIN64
+ &of_win64,
+#endif
+#ifdef OF_RDF2
+ &of_rdf2,
+#endif
+#ifdef OF_IEEE
+ &of_ieee,
+#endif
+#ifdef OF_MACHO
+ &of_macho,
+#endif
+#ifdef OF_DBG
+ &of_dbg,
+#endif
+
+ NULL
+};
+
+#endif /* BUILD_DRIVERS_ARRAY */
+
+struct ofmt *ofmt_find(char *);
+struct dfmt *dfmt_find(struct ofmt *, char *);
+void ofmt_list(struct ofmt *, FILE *);
+void dfmt_list(struct ofmt *ofmt, FILE * fp);
+struct ofmt *ofmt_register(efunc error);
+
+#endif /* NASM_OUTFORM_H */
#include "nasm.h"
#include "nasmlib.h"
-#include "outform.h"
+#include "output/outform.h"
#ifdef OF_IEEE
--- /dev/null
+/*
+ * libout.c
+ *
+ * Common routines for the output backends.
+ */
+
+#include "compiler.h"
+#include "nasm.h"
+#include "output/outlib.h"
+
+uint64_t realsize(enum out_type type, uint64_t size)
+{
+ switch (type) {
+ case OUT_REL2ADR:
+ return 2;
+ case OUT_REL4ADR:
+ return 4;
+ case OUT_REL8ADR:
+ return 8;
+ default:
+ return size;
+ }
+}
--- /dev/null
+#ifndef NASM_OUTLIB_H
+#define NASM_OUTLIB_H
+
+#include "nasm.h"
+
+uint64_t realsize(enum out_type type, uint64_t size);
+
+#endif /* NASM_OUTLIB_H */
+
#include "nasmlib.h"
#include "saa.h"
#include "raa.h"
-#include "outform.h"
-#include "outlib.h"
+#include "output/outform.h"
+#include "output/outlib.h"
#if defined(OF_MACHO)
#include "nasm.h"
#include "nasmlib.h"
#include "stdscan.h"
-#include "outform.h"
+#include "output/outform.h"
#ifdef OF_OBJ
#include "nasm.h"
#include "nasmlib.h"
-#include "outform.h"
+#include "output/outform.h"
/* VERBOSE_WARNINGS: define this to add some extra warnings... */
#define VERBOSE_WARNINGS
#include "nasm.h"
#include "nasmlib.h"
#include "saa.h"
-#include "outform.h"
+#include "output/outform.h"
/* VERBOSE_WARNINGS: define this to add some extra warnings... */
#define VERBOSE_WARNINGS