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

编译器/解释器

开发平台:

C/C++

  1. # Makefile for the Netwide Assembler under 32 bit NT console
  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 with the latest
  9. # version of Borland C++Builder and has been tested with 
  10. # Borland C++ 5.3 (Borland C++Builder 3.0) and Borland C++ 5.4
  11. # (Borland C++Builder 4.0) in combination with
  12. # Borland MAKE versions 5.1 and 5.2
  13. #
  14. # MAKEFILE is maintained by Stefan.Hoffmeister@Econos.de
  15. #
  16. # If "BINDIR=C:...." has not been defined on the command line
  17. # assume that the binary files are in the same directory as the
  18. # MAKE utility
  19. !message ****************************************************
  20. !message Note:
  21. !message -----
  22. !if $d(BINDIR)
  23.   !message Path to tools set to $(BINDIR)
  24. !else
  25.   BINDIR=$(MAKEDIR)
  26.   !message Assuming path to tools to be $(BINDIR)
  27.   !message
  28.   !message You can change this assumption by specifying
  29.   !message   -DBINDIR=C:my_path
  30.   !message as a command line paramter for MAKE
  31. !endif
  32. !message ****************************************************
  33. CC=$(BINDIR)bcc32
  34. CCFLAGS=-tWC -c -O2 -A
  35.   # /-tWC: Windows console mode application
  36.   # /c:    Compile, do not link
  37.   # /O2:   Optimize for speed
  38.   # /A:    ANSI compatible code only
  39. LINK=$(BINDIR)ilink32
  40. LINKFLAGS=/V4.0 /x /c /ap /L$(BINDIR)..LIB     # /L -> default LIB directory
  41.   # /V4.0: marked as Win95 / NT application in PE header
  42.   # /x:    no map file
  43.   # /c:    case sensitive link
  44.   # /ap:   link for 32-bit console application
  45.   # /L...: path to .lib directory
  46. # default libraries for Win32 console applications
  47. LIBRARIES=cw32.lib import32.lib
  48. # default startup code for Win32 console applications
  49. STARTUP=c0x32.obj
  50. # default extension for our EXE
  51. EXE=.exe
  52. # default extension for OBJ files
  53. OBJ=obj
  54. SUFFIX= w#       # by default, this makefile produces nasmw.exe and ndisasmw.exe
  55. # Builds C files to OBJ
  56. .c.$(OBJ):
  57.   $(CC) $(CCFLAGS) $*.c
  58. NASMOBJS = nasm.$(OBJ) nasmlib.$(OBJ) float.$(OBJ) insnsa.$(OBJ) 
  59.    assemble.$(OBJ) labels.$(OBJ) parser.$(OBJ) outform.$(OBJ) 
  60.   outbin.$(OBJ) outaout.$(OBJ) outcoff.$(OBJ) outelf.$(OBJ) 
  61.   outobj.$(OBJ) outas86.$(OBJ) outrdf.$(OBJ) outdbg.$(OBJ) 
  62.                   outrdf2.$(OBJ) zoutieee.$(OBJ) 
  63.   preproc.$(OBJ) listing.$(OBJ) eval.$(OBJ)
  64. NDISASMOBJS = ndisasm.$(OBJ) disasm.$(OBJ) sync.$(OBJ) nasmlib.$(OBJ) 
  65.       insnsd.$(OBJ)
  66. BuildAll: nasm$(SUFFIX)$(EXE) ndisasm$(SUFFIX)$(EXE)
  67. # NASM
  68. nasm$(SUFFIX)$(EXE): $(NASMOBJS)
  69.   $(LINK) $(LINKFLAGS) @&&|     #open temp response file
  70.     $(STARTUP) $**
  71.     nasm$(SUFFIX)$(EXE)
  72.     # default MAP file name for EXE
  73.     $(LIBRARIES)
  74. |                                # close temp file, first column!
  75. # NDISASM
  76. ndisasm$(SUFFIX)$(EXE): $(NDISASMOBJS)
  77.   $(LINK) $(LINKFLAGS) @&&|     #open temp response file
  78.     $(STARTUP) $**
  79.     ndisasm$(SUFFIX)$(EXE)
  80.     # default MAP file name for EXE
  81.     $(LIBRARIES)
  82. |                                # close temp file, first column!
  83. # OBJs with dependencies
  84. assemble.$(OBJ): assemble.c nasm.h insnsi.h assemble.h insns.h
  85. disasm.$(OBJ): disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
  86. eval.$(OBJ): eval.c nasm.h insnsi.h nasmlib.h eval.h
  87. float.$(OBJ): float.c nasm.h insnsi.h
  88. insnsa.$(OBJ): insnsa.c nasm.h insnsi.h insns.h
  89. insnsd.$(OBJ): insnsd.c nasm.h insnsi.h insns.h
  90. labels.$(OBJ): labels.c nasm.h insnsi.h nasmlib.h
  91. listing.$(OBJ): listing.c nasm.h insnsi.h nasmlib.h listing.h
  92. nasm.$(OBJ): nasm.c nasm.h insnsi.h nasmlib.h parser.h assemble.h labels.h 
  93.              listing.h outform.h
  94. nasmlib.$(OBJ): nasmlib.c nasm.h insnsi.h nasmlib.h names.c insnsn.c
  95. ndisasm.$(OBJ): ndisasm.c nasm.h insnsi.h sync.h disasm.h
  96. outas86.$(OBJ): outas86.c nasm.h insnsi.h nasmlib.h
  97. outaout.$(OBJ): outaout.c nasm.h insnsi.h nasmlib.h
  98. outbin.$(OBJ): outbin.c nasm.h insnsi.h nasmlib.h
  99. outcoff.$(OBJ): outcoff.c nasm.h insnsi.h nasmlib.h
  100. outdbg.$(OBJ): outdbg.c nasm.h insnsi.h nasmlib.h
  101. outelf.$(OBJ): outelf.c nasm.h insnsi.h nasmlib.h
  102. outobj.$(OBJ): outobj.c nasm.h insnsi.h nasmlib.h
  103. outrdf.$(OBJ): outrdf.c nasm.h insnsi.h nasmlib.h
  104. outrdf2.$(OBJ): outrdf2.c nasm.h insnsi.h nasmlib.h
  105. zoutieee.$(OBJ): zoutieee.c nasm.h insnsi.h nasmlib.h
  106. outform.$(OBJ): outform.c outform.h nasm.h insnsi.h
  107. parser.$(OBJ): parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
  108. preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h insnsi.h nasmlib.h
  109. sync.$(OBJ): sync.c sync.h
  110. clean:
  111.   del *.obj
  112.   del nasm$(SUFFIX)$(EXE)
  113.   del ndisasm$(SUFFIX)$(EXE)