Makefile.djo
上传用户:yuppie_zhu
上传日期:2007-01-08
资源大小:535k
文件大小:7k
源码类别:

编译器/解释器

开发平台:

C/C++

  1. # host: dos
  2. # target: dos 16bit and 32bit
  3. # Makefile for the Netwide Assembler
  4. #
  5. # This is a modification (by John Fine) of makefile.dj
  6. #
  7. # It uses the syntax of "Opus Make", which is the make program I prefer.
  8. #
  9. # It builds five targets:
  10. #
  11. # nasm16.exe  16-bit built with Turbo-C
  12. # nasm.exe    32-bit built with DJGPP
  13. # nasmd.exe   nasm.exe with debug information (for use with gdb etc.)
  14. # nasml.exe   nasm.exe with logging version of malloc (to find memory leaks)
  15. # ndisasm.exe NASM disassembler (DJGPP version)
  16. .SUFFIXES:
  17. .SUFFIXES: .exe .ol .o .obj .c .dat .pl
  18. # The Netwide Assembler is copyright (C) 1996 Simon Tatham and
  19. # Julian Hall. All rights reserved. The software is
  20. # redistributable under the licence given in the file "Licence"
  21. # distributed in the NASM archive.
  22. # makefile designed for djgpp 2.xx
  23. # djgpp is GNU C compiler ported by mighty DJ Delorie
  24. # www.delorie.com and any simtel mirror
  25. CC = gcc
  26. CFLAGS = -O3
  27. .c.o:
  28. # redir -eo $(CC) -g -c -O2 -finline-functions -Wall -ansi -pedantic $*.c >$*.err
  29. $(CC) -g -c -O2 -finline-functions -Wall -ansi -pedantic $*.c
  30. .c.ol:
  31. $(CC) -DLOGALLOC -g -c -o $*.ol $(CFLAGS) $*.c
  32. .c.obj:
  33. tcc -O -Z -c -ml -d -DOF_ONLY -DOF_BIN -DOF_OBJ -If:publicturboc -I. $*.c >$*.err
  34. NASM = nasm.o nasmlib.o float.o insnsa.o assemble.o labels.o 
  35.        parser.o outform.o outbin.o outaout.o outcoff.o outelf.o 
  36.        outobj.o outas86.o outrdf.o outrdf2.o zoutieee.o outdbg.o preproc.o listing.o 
  37.        eval.o
  38. NASML = nasm.ol nasmlib.ol float.ol insnsa.ol assemble.ol labels.ol 
  39.        parser.ol outform.ol outbin.ol outaout.ol outcoff.ol outelf.ol 
  40.        outobj.ol outas86.ol outrdf.ol outrdf2.ol zoutieee.ol outdbg.ol preproc.ol listing.ol 
  41.        eval.ol
  42. NASM16 = nasm.obj nasmlib.obj float.obj insnsa.obj assemble.obj labels.obj 
  43.        parser.obj outform.obj outbin.obj 
  44.        outobj.obj preproc.obj listing.obj 
  45.        eval.obj
  46. NDISASM = ndisasm.o disasm.o sync.o nasmlib.o insnsd.o
  47. nasm.exe: $(NASM)
  48. $(CC) @<<
  49. -s -o $@ $(NASM)
  50. <<
  51. djp nasm.exe
  52. ndisasm.exe: $(NDISASM)
  53. $(CC) @<<
  54. -s -o $@ $(NDISASM)
  55. <<
  56. djp ndisasm.exe
  57. nasml.exe: $(NASML)
  58. $(CC) @<<
  59. -s -o $@ $(NASML)
  60. <<
  61. nasm16.exe: $(NASM16)
  62. tlink @<<
  63. f:publicturboclibc0l.obj $(NASM16)
  64. $@
  65. f:publicturboclibcl.lib
  66. << > nasm16.err
  67. nasmd.exe: $(NASM)
  68. $(CC) @<<
  69. -g -o $@ $(NASM)
  70. <<
  71. assemble.o: assemble.c nasm.h insnsi.h nasmlib.h assemble.h insns.h
  72. disasm.o: disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
  73. eval.o: eval.c eval.h nasm.h insnsi.h nasmlib.h
  74. float.o: float.c nasm.h insnsi.h
  75. insnsa.o: insnsa.c nasm.h insnsi.h insns.h
  76. insnsd.o: insnsd.c nasm.h insnsi.h insns.h
  77. labels.o: labels.c nasm.h insnsi.h nasmlib.h
  78. listing.o: listing.c nasm.h insnsi.h nasmlib.h listing.h
  79. nasm.o: nasm.c nasm.h insnsi.h nasmlib.h preproc.h parser.h assemble.h labels.h 
  80.  outform.h listing.h
  81. nasmlib.o: nasmlib.c nasm.h insnsi.h nasmlib.h names.c insnsn.c
  82. ndisasm.o: ndisasm.c nasm.h insnsi.h nasmlib.h sync.h disasm.h
  83. outaout.o: outaout.c nasm.h insnsi.h nasmlib.h outform.h
  84. outas86.o: outas86.c nasm.h insnsi.h nasmlib.h outform.h
  85. outbin.o: outbin.c nasm.h insnsi.h nasmlib.h outform.h
  86. outcoff.o: outcoff.c nasm.h insnsi.h nasmlib.h outform.h
  87. outdbg.o: outdbg.c nasm.h insnsi.h nasmlib.h outform.h
  88. outelf.o: outelf.c nasm.h insnsi.h nasmlib.h outform.h
  89. outform.o: outform.c outform.h nasm.h insnsi.h
  90. outobj.o: outobj.c nasm.h insnsi.h nasmlib.h outform.h
  91. outrdf.o: outrdf.c nasm.h insnsi.h nasmlib.h outform.h
  92. outrdf2.o: outrdf2.c nasm.h insnsi.h nasmlib.h outform.h
  93. parser.o: parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
  94. preproc.o: preproc.c nasm.h insnsi.h nasmlib.h macros.c
  95. sync.o: sync.c sync.h
  96. zoutieee.o: zoutieee.c nasm.h insnsi.h nasmlib.h outform.h
  97. assemble.ol: assemble.c nasm.h insnsi.h nasmlib.h assemble.h insns.h
  98. disasm.ol: disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
  99. eval.ol: eval.c eval.h nasm.h insnsi.h nasmlib.h
  100. float.ol: float.c nasm.h insnsi.h
  101. insnsa.ol: insnsa.c nasm.h insnsi.h insns.h
  102. insnsd.ol: insnsd.c nasm.h insnsi.h insns.h
  103. labels.ol: labels.c nasm.h insnsi.h nasmlib.h
  104. listing.ol: listing.c nasm.h insnsi.h nasmlib.h listing.h
  105. nasm.ol: nasm.c nasm.h insnsi.h nasmlib.h preproc.h parser.h assemble.h labels.h 
  106.  outform.h listing.h
  107. nasmlib.ol: nasmlib.c nasm.h insnsi.h nasmlib.h
  108. ndisasm.ol: ndisasm.c nasm.h insnsi.h nasmlib.h sync.h disasm.h
  109. outaout.ol: outaout.c nasm.h insnsi.h nasmlib.h outform.h
  110. outas86.ol: outas86.c nasm.h insnsi.h nasmlib.h outform.h
  111. outbin.ol: outbin.c nasm.h insnsi.h nasmlib.h outform.h
  112. outcoff.ol: outcoff.c nasm.h insnsi.h nasmlib.h outform.h
  113. outdbg.ol: outdbg.c nasm.h insnsi.h nasmlib.h outform.h
  114. outelf.ol: outelf.c nasm.h insnsi.h nasmlib.h outform.h
  115. outform.ol: outform.c outform.h nasm.h insnsi.h
  116. outobj.ol: outobj.c nasm.h insnsi.h nasmlib.h outform.h
  117. outrdf.ol: outrdf.c nasm.h insnsi.h nasmlib.h outform.h
  118. outrdf2.ol: outrdf2.c nasm.h insnsi.h nasmlib.h outform.h
  119. parser.ol: parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
  120. preproc.ol: preproc.c nasm.h insnsi.h nasmlib.h macros.c
  121. sync.ol: sync.c sync.h
  122. zoutieee.ol: zoutieee.c nasm.h insnsi.h nasmlib.h outform.h
  123. assemble.obj: assemble.c nasm.h insnsi.h nasmlib.h assemble.h insns.h
  124. disasm.obj: disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
  125. eval.obj: eval.c eval.h nasm.h insnsi.h nasmlib.h
  126. float.obj: float.c nasm.h insnsi.h
  127. insnsa.obj: insnsa.c nasm.h insnsi.h insns.h
  128. insnsd.obj: insnsd.c nasm.h insnsi.h insns.h
  129. labels.obj: labels.c nasm.h insnsi.h nasmlib.h
  130. listing.obj: listing.c nasm.h insnsi.h nasmlib.h listing.h
  131. nasm.obj: nasm.c nasm.h insnsi.h nasmlib.h preproc.h parser.h assemble.h labels.h 
  132.  outform.h listing.h
  133. nasmlib.obj: nasmlib.c nasm.h insnsi.h nasmlib.h
  134. ndisasm.obj: ndisasm.c nasm.h insnsi.h nasmlib.h sync.h disasm.h
  135. outaout.obj: outaout.c nasm.h insnsi.h nasmlib.h outform.h
  136. outas86.obj: outas86.c nasm.h insnsi.h nasmlib.h outform.h
  137. outbin.obj: outbin.c nasm.h insnsi.h nasmlib.h outform.h
  138. outcoff.obj: outcoff.c nasm.h insnsi.h nasmlib.h outform.h
  139. outdbg.obj: outdbg.c nasm.h insnsi.h nasmlib.h outform.h
  140. outelf.obj: outelf.c nasm.h insnsi.h nasmlib.h outform.h
  141. outform.obj: outform.c outform.h nasm.h insnsi.h
  142. outobj.obj: outobj.c nasm.h insnsi.h nasmlib.h outform.h
  143. outrdf.obj: outrdf.c nasm.h insnsi.h nasmlib.h outform.h
  144. outrdf2.obj: outrdf2.c nasm.h insnsi.h nasmlib.h outform.h
  145. parser.obj: parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
  146. preproc.obj: preproc.c nasm.h insnsi.h nasmlib.h macros.c
  147. sync.obj: sync.c sync.h
  148. zoutieee.obj: zoutieee.c nasm.h insnsi.h nasmlib.h outform.h
  149. # These four source files are automagically generated from a single
  150. # instruction-table file by a Perl script. They're distributed,
  151. # though, so it isn't necessary to have Perl just to recompile NASM
  152. # from the distribution.
  153. insnsa.c insnsd.c insnsi.h insnsn.c: insns.dat insns.pl
  154. perl insns.pl insns.dat
  155. # This source file is generated from the standard macros file
  156. # `standard.mac' by another Perl script. Again, it's part of the
  157. # standard distribution.
  158. macros.c: standard.mac macros.pl
  159. perl macros.pl standard.mac
  160. clean:
  161. rm -f *.o nasm ndisasm