diff options
Diffstat (limited to 'Mkfiles/Makefile.djo')
-rw-r--r-- | Mkfiles/Makefile.djo | 187 |
1 files changed, 187 insertions, 0 deletions
diff --git a/Mkfiles/Makefile.djo b/Mkfiles/Makefile.djo new file mode 100644 index 00000000..575abdcc --- /dev/null +++ b/Mkfiles/Makefile.djo @@ -0,0 +1,187 @@ +# host: dos +# target: dos 16bit and 32bit +# Makefile for the Netwide Assembler +# +# This is a modification (by John Fine) of makefile.dj +# +# It uses the syntax of "Opus Make", which is the make program I prefer. +# +# It builds five targets: +# +# nasm16.exe 16-bit built with Turbo-C +# nasm.exe 32-bit built with DJGPP +# nasmd.exe nasm.exe with debug information (for use with gdb etc.) +# nasml.exe nasm.exe with logging version of malloc (to find memory leaks) +# ndisasm.exe NASM disassembler (DJGPP version) + +.SUFFIXES: +.SUFFIXES: .exe .ol .o .obj .c .dat .pl + +# The Netwide Assembler is copyright (C) 1996 Simon Tatham and +# Julian Hall. All rights reserved. The software is +# redistributable under the licence given in the file "Licence" +# distributed in the NASM archive. + +# makefile designed for djgpp 2.xx +# djgpp is GNU C compiler ported by mighty DJ Delorie +# www.delorie.com and any simtel mirror + +CC = gcc +CFLAGS = -O3 + +.c.o: +# redir -eo $(CC) -g -c -O2 -finline-functions -Wall -ansi -pedantic $*.c >$*.err + $(CC) -g -c -O2 -finline-functions -Wall -ansi -pedantic $*.c + +.c.ol: + $(CC) -DLOGALLOC -g -c -o $*.ol $(CFLAGS) $*.c + +.c.obj: + tcc -O -Z -c -ml -d -DOF_ONLY -DOF_BIN -DOF_OBJ -If:\public\turboc -I. $*.c >$*.err + +NASM = nasm.o nasmlib.o float.o insnsa.o assemble.o labels.o \ + parser.o outform.o outbin.o outaout.o outcoff.o outelf.o \ + outobj.o outas86.o outrdf.o outrdf2.o zoutieee.o outdbg.o preproc.o listing.o \ + eval.o + +NASML = nasm.ol nasmlib.ol float.ol insnsa.ol assemble.ol labels.ol \ + parser.ol outform.ol outbin.ol outaout.ol outcoff.ol outelf.ol \ + outobj.ol outas86.ol outrdf.ol outrdf2.ol zoutieee.ol outdbg.ol preproc.ol listing.ol \ + eval.ol + +NASM16 = nasm.obj nasmlib.obj float.obj insnsa.obj assemble.obj labels.obj \ + parser.obj outform.obj outbin.obj \ + outobj.obj preproc.obj listing.obj \ + eval.obj + +NDISASM = ndisasm.o disasm.o sync.o nasmlib.o insnsd.o + +nasm.exe: $(NASM) + $(CC) @<< +-s -o $@ $(NASM) +<< + djp nasm.exe + +ndisasm.exe: $(NDISASM) + $(CC) @<< +-s -o $@ $(NDISASM) +<< + djp ndisasm.exe + +nasml.exe: $(NASML) + $(CC) @<< +-s -o $@ $(NASML) +<< + +nasm16.exe: $(NASM16) + tlink @<< +f:\public\turboc\lib\c0l.obj $(NASM16) +$@ + +f:\public\turboc\lib\cl.lib +<< > nasm16.err + + +nasmd.exe: $(NASM) + $(CC) @<< +-g -o $@ $(NASM) +<< + +assemble.o: assemble.c nasm.h insnsi.h nasmlib.h assemble.h insns.h +disasm.o: disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c +eval.o: eval.c eval.h nasm.h insnsi.h nasmlib.h +float.o: float.c nasm.h insnsi.h +insnsa.o: insnsa.c nasm.h insnsi.h insns.h +insnsd.o: insnsd.c nasm.h insnsi.h insns.h +labels.o: labels.c nasm.h insnsi.h nasmlib.h +listing.o: listing.c nasm.h insnsi.h nasmlib.h listing.h +nasm.o: nasm.c nasm.h insnsi.h nasmlib.h preproc.h parser.h assemble.h labels.h \ + outform.h listing.h +nasmlib.o: nasmlib.c nasm.h insnsi.h nasmlib.h +ndisasm.o: ndisasm.c nasm.h insnsi.h nasmlib.h sync.h disasm.h +outaout.o: outaout.c nasm.h insnsi.h nasmlib.h outform.h +outas86.o: outas86.c nasm.h insnsi.h nasmlib.h outform.h +outbin.o: outbin.c nasm.h insnsi.h nasmlib.h outform.h +outcoff.o: outcoff.c nasm.h insnsi.h nasmlib.h outform.h +outdbg.o: outdbg.c nasm.h insnsi.h nasmlib.h outform.h +outelf.o: outelf.c nasm.h insnsi.h nasmlib.h outform.h +outform.o: outform.c outform.h nasm.h insnsi.h +outobj.o: outobj.c nasm.h insnsi.h nasmlib.h outform.h +outrdf.o: outrdf.c nasm.h insnsi.h nasmlib.h outform.h +outrdf2.o: outrdf2.c nasm.h insnsi.h nasmlib.h outform.h +parser.o: parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c +preproc.o: preproc.c nasm.h insnsi.h nasmlib.h macros.c +sync.o: sync.c sync.h +zoutieee.o: zoutieee.c nasm.h insnsi.h nasmlib.h outform.h + +assemble.ol: assemble.c nasm.h insnsi.h nasmlib.h assemble.h insns.h +disasm.ol: disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c +eval.ol: eval.c eval.h nasm.h insnsi.h nasmlib.h +float.ol: float.c nasm.h insnsi.h +insnsa.ol: insnsa.c nasm.h insnsi.h insns.h +insnsd.ol: insnsd.c nasm.h insnsi.h insns.h +labels.ol: labels.c nasm.h insnsi.h nasmlib.h +listing.ol: listing.c nasm.h insnsi.h nasmlib.h listing.h +nasm.ol: nasm.c nasm.h insnsi.h nasmlib.h preproc.h parser.h assemble.h labels.h \ + outform.h listing.h +nasmlib.ol: nasmlib.c nasm.h insnsi.h nasmlib.h +ndisasm.ol: ndisasm.c nasm.h insnsi.h nasmlib.h sync.h disasm.h +outaout.ol: outaout.c nasm.h insnsi.h nasmlib.h outform.h +outas86.ol: outas86.c nasm.h insnsi.h nasmlib.h outform.h +outbin.ol: outbin.c nasm.h insnsi.h nasmlib.h outform.h +outcoff.ol: outcoff.c nasm.h insnsi.h nasmlib.h outform.h +outdbg.ol: outdbg.c nasm.h insnsi.h nasmlib.h outform.h +outelf.ol: outelf.c nasm.h insnsi.h nasmlib.h outform.h +outform.ol: outform.c outform.h nasm.h insnsi.h +outobj.ol: outobj.c nasm.h insnsi.h nasmlib.h outform.h +outrdf.ol: outrdf.c nasm.h insnsi.h nasmlib.h outform.h +outrdf2.ol: outrdf2.c nasm.h insnsi.h nasmlib.h outform.h +parser.ol: parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c +preproc.ol: preproc.c nasm.h insnsi.h nasmlib.h macros.c +sync.ol: sync.c sync.h +zoutieee.ol: zoutieee.c nasm.h insnsi.h nasmlib.h outform.h + +assemble.obj: assemble.c nasm.h insnsi.h nasmlib.h assemble.h insns.h +disasm.obj: disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c +eval.obj: eval.c eval.h nasm.h insnsi.h nasmlib.h +float.obj: float.c nasm.h insnsi.h +insnsa.obj: insnsa.c nasm.h insnsi.h insns.h +insnsd.obj: insnsd.c nasm.h insnsi.h insns.h +labels.obj: labels.c nasm.h insnsi.h nasmlib.h +listing.obj: listing.c nasm.h insnsi.h nasmlib.h listing.h +nasm.obj: nasm.c nasm.h insnsi.h nasmlib.h preproc.h parser.h assemble.h labels.h \ + outform.h listing.h +nasmlib.obj: nasmlib.c nasm.h insnsi.h nasmlib.h +ndisasm.obj: ndisasm.c nasm.h insnsi.h nasmlib.h sync.h disasm.h +outaout.obj: outaout.c nasm.h insnsi.h nasmlib.h outform.h +outas86.obj: outas86.c nasm.h insnsi.h nasmlib.h outform.h +outbin.obj: outbin.c nasm.h insnsi.h nasmlib.h outform.h +outcoff.obj: outcoff.c nasm.h insnsi.h nasmlib.h outform.h +outdbg.obj: outdbg.c nasm.h insnsi.h nasmlib.h outform.h +outelf.obj: outelf.c nasm.h insnsi.h nasmlib.h outform.h +outform.obj: outform.c outform.h nasm.h insnsi.h +outobj.obj: outobj.c nasm.h insnsi.h nasmlib.h outform.h +outrdf.obj: outrdf.c nasm.h insnsi.h nasmlib.h outform.h +outrdf2.obj: outrdf2.c nasm.h insnsi.h nasmlib.h outform.h +parser.obj: parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c +preproc.obj: preproc.c nasm.h insnsi.h nasmlib.h macros.c +sync.obj: sync.c sync.h +zoutieee.obj: zoutieee.c nasm.h insnsi.h nasmlib.h outform.h + +# These four source files are automagically generated from a single +# instruction-table file by a Perl script. They're distributed, +# though, so it isn't necessary to have Perl just to recompile NASM +# from the distribution. + +insnsa.c insnsd.c insnsi.h insnsn.c: insns.dat insns.pl + perl insns.pl insns.dat + +# This source file is generated from the standard macros file +# `standard.mac' by another Perl script. Again, it's part of the +# standard distribution. + +macros.c: standard.mac macros.pl + perl macros.pl standard.mac + +clean: + rm -f *.o nasm ndisasm |