Makefile.NT 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. # Makefile
  2. # Written by Dan Nicolaescu
  3. # 970423 hacked by Juan f. Grigera
  4. # 970525 hacked again by jfg to add internal editor
  5. # 971127 hacked by Pavel Roskin to make it work with mc-4.1.11
  6. # 980206 hacked by Pavel Roskin to make it work with GNU make
  7. #
  8. # This is the Makefile for Midnight Commander under Win32.
  9. #
  10. # Supported Compilers:
  11. #
  12. # makefile.vc4: Microsoft Visual C++ 4.x
  13. # ...
  14. # ---- Directories
  15. MC_NT_DIR=../nt
  16. MC_SRC_DIR=../src
  17. MC_INCLUDE_DIR=.
  18. VFS_DIR=../vfs
  19. MCEDIT_SRC_DIR=../edit
  20. MCEDIT_OBJS_DIR=$(OBJS_DIR)/edit
  21. SLANG_SRC_DIR=../slang
  22. SLANG_OBJS_DIR=$(OBJS_DIR)/slang
  23. # --- Midnight Defines
  24. MC_DEFINES=$(SPECIFIC_DEFINES) -D_CONSOLE -DHAVE_CONFIG_H -DUSE_INTERNAL_EDIT
  25. MC_INCLUDES=-I$(MC_SRC_DIR) -I$(MC_NT_DIR) -I$(SLANG_SRC_DIR)
  26. SLANG_DEFINES=$(SPECIFIC_DEFINES)
  27. SLANG_INCLUDES=-I$(MC_NT_DIR) -I$(SLANG_SRC_DIR)
  28. MCEDIT_DEFINES=$(SPECIFIC_DEFINES) -D_CONSOLE -DHAVE_CONFIG_H
  29. MCEDIT_INCLUDES=-I$(MC_NT_DIR) -I$(MC_SRC_DIR)/.. -I$(SLANG_SRC_DIR)
  30. CFLAGS=$(SPECIFIC_MC_CFLAGS) $(MC_INCLUDES) $(MC_DEFINES) -c
  31. SLANG_CFLAGS=$(SPECIFIC_SLANG_CFLAGS) $(SLANG_INCLUDES) $(SLANG_DEFINES) -c
  32. MCEDIT_CFLAGS=$(SPECIFIC_MCEDIT_CFLAGS) $(MCEDIT_INCLUDES) $(MCEDIT_DEFINES) -c
  33. RSC_FLAGS=$(RES_PLACE)$(OBJS_DIR)/mc.res $(RC_DEFINES)
  34. # --- Dependencies
  35. .PHONY: all object-dirs mc clean
  36. all: object-dirs mc
  37. object-dirs: $(OBJS_DIR) $(SLANG_OBJS_DIR) $(MCEDIT_OBJS_DIR)
  38. mc: $(MC_EXE)
  39. clean:
  40. deltree -y "$(SLANG_OBJS_DIR)"
  41. deltree -y "$(MCEDIT_OBJS_DIR)"
  42. deltree -y "$(OBJS_DIR)"
  43. $(OBJS_DIR):
  44. mkdir "$@"
  45. $(SLANG_OBJS_DIR):
  46. mkdir "$@"
  47. $(MCEDIT_OBJS_DIR):
  48. mkdir "$@"
  49. $(OBJS_DIR)/%.$(OBJ_SUFFIX): $(MC_NT_DIR)/%.c
  50. $(CC) $(CFLAGS) $(OBJ_PLACE)$@ $<
  51. $(OBJS_DIR)/%.$(OBJ_SUFFIX): $(MC_SRC_DIR)/%.c
  52. $(CC) $(CFLAGS) $(OBJ_PLACE)$@ $<
  53. $(SLANG_OBJS_DIR)/%.$(OBJ_SUFFIX): $(SLANG_SRC_DIR)/%.c
  54. $(CC) $(SLANG_CFLAGS) $(OBJ_PLACE)$@ $<
  55. $(MCEDIT_OBJS_DIR)/%.$(OBJ_SUFFIX): $(MCEDIT_SRC_DIR)/%.c
  56. $(CC) $(MCEDIT_CFLAGS) $(OBJ_PLACE)$@ $<
  57. SRCS= $(EXTRA_MC_SRCS) \
  58. util.Win32.c \
  59. util.WinNT.c \
  60. terms.c \
  61. user.c \
  62. utilnt.c \
  63. subshell.c \
  64. file.c \
  65. listmode.c \
  66. cmd.c \
  67. dirent.c \
  68. command.c \
  69. help.c \
  70. menu.c \
  71. view.c \
  72. dir.c \
  73. info.c \
  74. widget.c \
  75. cons.handler.nt.c \
  76. option.c \
  77. dlg.c \
  78. panelize.c \
  79. profile.c \
  80. util.c \
  81. dialog.c \
  82. ext.c \
  83. color.c \
  84. drive.nt.c \
  85. key.nt.c \
  86. layout.c \
  87. setup.c \
  88. regex.c \
  89. hotlist.c \
  90. slint.nt.c \
  91. tree.c \
  92. win.c \
  93. chmod.nt.c \
  94. complete.c \
  95. find.c \
  96. wtools.c \
  97. boxes.c \
  98. background.c \
  99. dirhist.c \
  100. main.c \
  101. popt.c \
  102. text.c \
  103. screen.c
  104. SLANG_SRCS= \
  105. slw32tty.c \
  106. slerr.c \
  107. slgetkey.c \
  108. slsmg.c \
  109. slvideo.c
  110. MCEDIT_SRCS= \
  111. edit.c \
  112. editcmd.c \
  113. editdraw.c \
  114. editmenu.c \
  115. editoptions.c \
  116. editwidget.c \
  117. wordproc.c
  118. OBJS=$(addprefix $(OBJS_DIR)/, \
  119. $(patsubst %.c,%.$(OBJ_SUFFIX),$(SRCS)))
  120. SLANG_OBJS=$(addprefix $(SLANG_OBJS_DIR)/, \
  121. $(patsubst %.c,%.$(OBJ_SUFFIX),$(SLANG_SRCS)))
  122. MCEDIT_OBJS=$(addprefix $(MCEDIT_OBJS_DIR)/, \
  123. $(patsubst %.c,%.$(OBJ_SUFFIX),$(MCEDIT_SRCS)))
  124. # --- Resources
  125. ifdef RSC
  126. MC_RES=$(OBJS_DIR)/mc.res
  127. else
  128. MC_RES=
  129. endif
  130. $(OBJS_DIR)/mc.res: $(MC_NT_DIR)/mc.rc $(MC_NT_DIR)/mc.ico $(MC_NT_DIR)/config.h ../VERSION
  131. $(RSC) $(RSC_FLAGS) $(MC_NT_DIR)/mc.rc