Makefile.PC 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. # Makefile.PC
  2. #
  3. # This is the Makefile for Midnight Commander under Win32
  4. #
  5. # Written by Dan Nicolaescu
  6. # 970423 hacked by Juan f. Grigera
  7. # 970525 hacked again by jfg to add internal editor
  8. # 971127 hacked by Pavel Roskin to make it work with mc-4.1.11
  9. # 980206 hacked by Pavel Roskin to make it work with GNU make
  10. # 980329 changed by Pavel Roskin to make it common for OS/2 and NT
  11. #
  12. # Supported Compilers:
  13. #
  14. # Makefile.VC4: Microsoft Visual C++ 4.0 and above
  15. # Makefile.BC5: Borland C++ 5.x
  16. # Makefile.MIN: MinGW
  17. # Makefile.RSX: RSX
  18. # ---- Directories
  19. MC_PC_DIR=.
  20. MC_SRC_DIR=../src
  21. VFS_DIR=../vfs
  22. MCEDIT_SRC_DIR=../edit
  23. MCGTKEDIT_SRC_DIR=../edit
  24. MCEDIT_OBJS_DIR=$(OBJS_DIR)/edit
  25. SLANG_SRC_DIR=../slang
  26. SLANG_OBJS_DIR=$(OBJS_DIR)/slang
  27. MC_EXE=$(OBJS_DIR)/mc.exe
  28. # --- Midnight Defines
  29. COMMON_DEFINES=-DMC_NT $(SPECIFIC_DEFINES)
  30. MC_DEFINES=$(COMMON_DEFINES) -DHAVE_CONFIG_H
  31. MC_INCLUDES=-I$(MC_PC_DIR) -I$(SLANG_SRC_DIR)
  32. SLANG_DEFINES=$(COMMON_DEFINES)
  33. SLANG_INCLUDES=-I$(MC_PC_DIR) -I$(SLANG_SRC_DIR)
  34. MCEDIT_DEFINES=$(COMMON_DEFINES) -DHAVE_CONFIG_H
  35. MCEDIT_INCLUDES=-I$(MC_PC_DIR) -I$(SLANG_SRC_DIR)
  36. CFLAGS=$(SPECIFIC_MC_CFLAGS) $(MC_INCLUDES) $(MC_DEFINES) -c
  37. SLANG_CFLAGS=$(SPECIFIC_SLANG_CFLAGS) $(SLANG_INCLUDES) $(SLANG_DEFINES) -c
  38. MCEDIT_CFLAGS=$(SPECIFIC_MCEDIT_CFLAGS) $(MCEDIT_INCLUDES) $(MCEDIT_DEFINES) -c
  39. all: object-dirs mc
  40. object-dirs: $(OBJS_DIR) $(SLANG_OBJS_DIR) $(MCEDIT_OBJS_DIR)
  41. mc: $(MC_EXE)
  42. clean:
  43. deltree -y "$(SLANG_OBJS_DIR)"
  44. deltree -y "$(MCEDIT_OBJS_DIR)"
  45. deltree -y "$(OBJS_DIR)"
  46. $(OBJS_DIR):
  47. mkdir "$@"
  48. $(SLANG_OBJS_DIR):
  49. mkdir "$@"
  50. $(MCEDIT_OBJS_DIR):
  51. mkdir "$@"
  52. $(OBJS_DIR)/%.$(OBJ_SUFFIX): $(MC_PC_DIR)/%.c
  53. $(CC) $(CFLAGS) $(OBJ_PLACE)$@ $<
  54. $(OBJS_DIR)/%.$(OBJ_SUFFIX): $(MC_SRC_DIR)/%.c
  55. $(CC) $(CFLAGS) $(OBJ_PLACE)$@ $<
  56. $(SLANG_OBJS_DIR)/%.$(OBJ_SUFFIX): $(SLANG_SRC_DIR)/%.c
  57. $(CC) $(SLANG_CFLAGS) $(OBJ_PLACE)$@ $<
  58. $(MCEDIT_OBJS_DIR)/%.$(OBJ_SUFFIX): $(MCEDIT_SRC_DIR)/%.c
  59. $(CC) $(MCEDIT_CFLAGS) $(OBJ_PLACE)$@ $<
  60. $(MCEDIT_OBJS_DIR)/%.$(OBJ_SUFFIX): $(MCGTKEDIT_SRC_DIR)/%.c
  61. $(CC) -I$(MCGTKEDIT_SRC_DIR) -I$(MCEDIT_SRC_DIR) -I$(MCEDIT_SRC_DIR)/.. $(MCEDIT_CFLAGS) $(OBJ_PLACE)$@ $<
  62. MC_SRCS= \
  63. terms.c \
  64. user.c \
  65. file.c \
  66. filegui.c \
  67. filenot.c \
  68. findme.c \
  69. listmode.c \
  70. cmd.c \
  71. command.c \
  72. help.c \
  73. menu.c \
  74. view.c \
  75. dir.c \
  76. info.c \
  77. widget.c \
  78. option.c \
  79. dlg.c \
  80. panelize.c \
  81. profile.c \
  82. util.c \
  83. dialog.c \
  84. ext.c \
  85. color.c \
  86. layout.c \
  87. setup.c \
  88. regex.c \
  89. hotlist.c \
  90. tree.c \
  91. win.c \
  92. complete.c \
  93. find.c \
  94. wtools.c \
  95. boxes.c \
  96. background.c \
  97. main.c \
  98. popt.c \
  99. text.c \
  100. screen.c
  101. PC_SRCS= \
  102. chmod.c \
  103. cons_nt.c \
  104. drive.c \
  105. dirent_nt.c \
  106. key_nt.c \
  107. slint_pc.c \
  108. util_win32.c \
  109. util_winnt.c \
  110. util_nt.c
  111. SLANG_SRCS= \
  112. slerr.c \
  113. slgetkey.c \
  114. slsmg.c \
  115. slvideo.c \
  116. slw32tty.c
  117. MCEDIT_SRCS= \
  118. edit.c \
  119. editcmd.c \
  120. editdraw.c \
  121. editmenu.c \
  122. editoptions.c \
  123. editwidget.c \
  124. syntax.c \
  125. wordproc.c
  126. SRCS=$(MC_SRCS) $(PC_SRCS) $(EXTRA_MC_SRCS)
  127. OBJS=$(addprefix $(OBJS_DIR)/, \
  128. $(patsubst %.c,%.$(OBJ_SUFFIX),$(SRCS)))
  129. SLANG_OBJS=$(addprefix $(SLANG_OBJS_DIR)/, \
  130. $(patsubst %.c,%.$(OBJ_SUFFIX),$(SLANG_SRCS)))
  131. MCEDIT_OBJS=$(addprefix $(MCEDIT_OBJS_DIR)/, \
  132. $(patsubst %.c,%.$(OBJ_SUFFIX),$(MCEDIT_SRCS)))
  133. ifdef RSC
  134. ifndef RES_SUFFIX
  135. RES_SUFFIX=res
  136. endif # RES_SUFFIX
  137. MC_RES=$(OBJS_DIR)/mc.$(RES_SUFFIX)
  138. $(MC_RES): $(MC_PC_DIR)/mc.rc $(MC_PC_DIR)/mc_nt.ico $(MC_PC_DIR)/config.h VERSION
  139. $(RSC) $(RES_PLACE)$(MC_RES) $(RC_DEFINES) $(MC_PC_DIR)/mc.rc
  140. else
  141. MC_RES=
  142. endif # !RSC
  143. VERSION: ../configure.in
  144. sed -n -e 's/^AM_INIT_AUTOMAKE([^,]*,[ []*\([0-9A-Za-z.-_]*\).*$$/#define VERSION "\1"/p' $< > $@