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

编译器/解释器

开发平台:

C/C++

  1. # Makefile for the Netwide Assembler under 32-bit DOS(tm)
  2. #
  3. # The Netwide Assembler is copyright (C) 1996 Simon Tatham and
  4. # Julian Hall. All rights reserved. The software is
  5. # redistributable under the licence given in the file "Licence"
  6. # distributed in the NASM archive.
  7. #
  8. # This Makefile is designed to build NASM using the 32-bit WIN32 C
  9. # compiler Symantec(tm) C++ 7.5, provided you have a MAKE-utility
  10. # that's compatible to SMAKE.
  11. CC = sc
  12. CCFLAGS = -c -a1 -mx -Nc -w2 -w7 -o+time -5
  13. # -5            optimize for pentium (tm)
  14. # -c            compile only
  15. # -o-all        no optimizations (to avoid problems in disasm.c)
  16. # -o+time       optimize for speed
  17. # -o+space      optimize for size
  18. # -A1           byte alignment for structures
  19. # -mn           compile for Win32 executable
  20. # -mx           compile for DOS386 (DOSX) executable
  21. # -Nc           create COMDAT records
  22. # -w2           possible unattended assignment: off
  23. # -w7           for loops with empty instruction-body
  24. LINK = link
  25. LINKFLAGS = /noi /exet:DOSX
  26. # /noignorecase all symbols are case-sensitive
  27. # /exet:NT      Exetype: NT (Win32)
  28. # /exet:DOSX    Exetype: DOSX (DOS32)
  29. # /su:console   Subsystem: Console (Console-App)
  30. LIBRARIES =
  31. EXE = .exe
  32. OBJ = obj
  33. .c.$(OBJ):
  34.         $(CC) $(CCFLAGS) $*.c
  35. #
  36. # modules needed for different programs
  37. #
  38. NASMOBJS = nasm.$(OBJ) nasmlib.$(OBJ) float.$(OBJ) insnsa.$(OBJ) 
  39.            assemble.$(OBJ) labels.$(OBJ) parser.$(OBJ) outform.$(OBJ) 
  40.    outbin.$(OBJ) outaout.$(OBJ) outcoff.$(OBJ) outelf.$(OBJ) 
  41.    outobj.$(OBJ) outas86.$(OBJ) outrdf.$(OBJ) outrdf2.$(OBJ) 
  42.    zoutieee.$(OBJ) outdbg.$(OBJ) 
  43.    preproc.$(OBJ) listing.$(OBJ) eval.$(OBJ)
  44. NDISASMOBJS = ndisasm.$(OBJ) disasm.$(OBJ) sync.$(OBJ) nasmlib.$(OBJ) 
  45.               insnsd.$(OBJ)
  46. #
  47. # programs to create
  48. #
  49. all : nasm$(EXE) ndisasm$(EXE)
  50. #
  51. # We have to have a horrible kludge here to get round the 128 character
  52. # limit, as usual... we'll simply use LNK-files :)
  53. #
  54. nasm$(EXE): $(NASMOBJS)
  55.         $(LINK) $(LINKFLAGS) @<<
  56. cx.obj $(NASMOBJS)
  57. nasm.exe
  58. <<
  59. ndisasm$(EXE): $(NDISASMOBJS)
  60.         $(LINK) $(LINKFLAGS) @<<
  61. cx.obj $(NDISASMOBJS)
  62. ndisasm.exe
  63. <<
  64. #
  65. # modules for programs
  66. #
  67. disasm.$(OBJ): disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
  68. assemble.$(OBJ): assemble.c nasm.h insnsi.h assemble.h insns.h
  69. eval.$(OBJ): eval.c nasm.h insnsi.h nasmlib.h eval.h
  70. float.$(OBJ): float.c nasm.h insnsi.h
  71. labels.$(OBJ): labels.c nasm.h insnsi.h nasmlib.h
  72. listing.$(OBJ): listing.c nasm.h insnsi.h nasmlib.h listing.h
  73. nasm.$(OBJ): nasm.c nasm.h insnsi.h nasmlib.h parser.h assemble.h labels.h 
  74. listing.h outform.h
  75. nasmlib.$(OBJ): nasmlib.c nasm.h insnsi.h nasmlib.h names.c insnsn.c
  76. ndisasm.$(OBJ): ndisasm.c nasm.h insnsi.h sync.h disasm.h
  77. outas86.$(OBJ): outas86.c nasm.h insnsi.h nasmlib.h
  78. outaout.$(OBJ): outaout.c nasm.h insnsi.h nasmlib.h
  79. outbin.$(OBJ): outbin.c nasm.h insnsi.h nasmlib.h
  80. outcoff.$(OBJ): outcoff.c nasm.h insnsi.h nasmlib.h
  81. outdbg.$(OBJ): outdbg.c nasm.h insnsi.h nasmlib.h
  82. outelf.$(OBJ): outelf.c nasm.h insnsi.h nasmlib.h
  83. outobj.$(OBJ): outobj.c nasm.h insnsi.h nasmlib.h
  84. outrdf.$(OBJ): outrdf.c nasm.h insnsi.h nasmlib.h
  85. outrdf2.$(OBJ): outrdf2.c nasm.h insnsi.h nasmlib.h
  86. zoutieee.$(OBJ): zoutieee.c nasm.h insnsi.h nasmlib.h
  87. outform.$(OBJ): outform.c outform.h nasm.h insnsi.h
  88. parser.$(OBJ): parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
  89. preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h insnsi.h nasmlib.h
  90. sync.$(OBJ): sync.c sync.h
  91. insnsa.$(OBJ): insnsa.c nasm.h insnsi.h insns.h
  92. insnsd.$(OBJ): insnsd.c nasm.h insnsi.h insns.h
  93. clean :
  94. del *.obj
  95. del nasm$(EXE)
  96. del ndisasm$(EXE)