Makefile.PC 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. # Makefile.PC
  2. #
  3. # This is the Makefile for Midnight Commander under OS/2 and Windows NT
  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. # For Windows NT:
  15. # Makefile.VC4: Microsoft Visual C++ 4.0 and above
  16. # Makefile.BC5: Borland C++ 5.x
  17. # Makefile.MIN: MinGW
  18. # Makefile.RSX: RSX
  19. # For OS/2:
  20. # Makefile.EMX: EMX/GCC
  21. # Makefile.BC2: Borland C++ 2.x
  22. # Makefile.IBM: IBM CSet or Visual Age C++
  23. # ...
  24. # ---- Directories
  25. MC_PC_DIR=.
  26. MC_SRC_DIR=../src
  27. VFS_DIR=../vfs
  28. MCEDIT_SRC_DIR=../edit
  29. MCGTKEDIT_SRC_DIR=../edit
  30. MCEDIT_OBJS_DIR=$(OBJS_DIR)/edit
  31. SLANG_SRC_DIR=../slang
  32. SLANG_OBJS_DIR=$(OBJS_DIR)/slang
  33. MC_EXE=$(OBJS_DIR)/mc.exe
  34. # --- Midnight Defines
  35. COMMON_DEFINES=-DMC_$(TARGET_OS) $(SPECIFIC_DEFINES)
  36. MC_DEFINES=$(COMMON_DEFINES) -DHAVE_CONFIG_H
  37. MC_INCLUDES=-I$(MC_PC_DIR) -I$(SLANG_SRC_DIR)
  38. SLANG_DEFINES=$(COMMON_DEFINES)
  39. SLANG_INCLUDES=-I$(MC_PC_DIR) -I$(SLANG_SRC_DIR)
  40. MCEDIT_DEFINES=$(COMMON_DEFINES) -DHAVE_CONFIG_H
  41. MCEDIT_INCLUDES=-I$(MC_PC_DIR) -I$(SLANG_SRC_DIR)
  42. CFLAGS=$(SPECIFIC_MC_CFLAGS) $(MC_INCLUDES) $(MC_DEFINES) -c
  43. SLANG_CFLAGS=$(SPECIFIC_SLANG_CFLAGS) $(SLANG_INCLUDES) $(SLANG_DEFINES) -c
  44. MCEDIT_CFLAGS=$(SPECIFIC_MCEDIT_CFLAGS) $(MCEDIT_INCLUDES) $(MCEDIT_DEFINES) -c
  45. all: object-dirs mc
  46. object-dirs: $(OBJS_DIR) $(SLANG_OBJS_DIR) $(MCEDIT_OBJS_DIR)
  47. mc: $(MC_EXE)
  48. clean:
  49. deltree -y "$(SLANG_OBJS_DIR)"
  50. deltree -y "$(MCEDIT_OBJS_DIR)"
  51. deltree -y "$(OBJS_DIR)"
  52. $(OBJS_DIR):
  53. mkdir "$@"
  54. $(SLANG_OBJS_DIR):
  55. mkdir "$@"
  56. $(MCEDIT_OBJS_DIR):
  57. mkdir "$@"
  58. $(OBJS_DIR)/%.$(OBJ_SUFFIX): $(MC_PC_DIR)/%.c
  59. $(CC) $(CFLAGS) $(OBJ_PLACE)$@ $<
  60. $(OBJS_DIR)/%.$(OBJ_SUFFIX): $(MC_SRC_DIR)/%.c
  61. $(CC) $(CFLAGS) $(OBJ_PLACE)$@ $<
  62. $(SLANG_OBJS_DIR)/%.$(OBJ_SUFFIX): $(SLANG_SRC_DIR)/%.c
  63. $(CC) $(SLANG_CFLAGS) $(OBJ_PLACE)$@ $<
  64. $(MCEDIT_OBJS_DIR)/%.$(OBJ_SUFFIX): $(MCEDIT_SRC_DIR)/%.c
  65. $(CC) $(MCEDIT_CFLAGS) $(OBJ_PLACE)$@ $<
  66. $(MCEDIT_OBJS_DIR)/%.$(OBJ_SUFFIX): $(MCGTKEDIT_SRC_DIR)/%.c
  67. $(CC) -I$(MCGTKEDIT_SRC_DIR) -I$(MCEDIT_SRC_DIR) -I$(MCEDIT_SRC_DIR)/.. $(MCEDIT_CFLAGS) $(OBJ_PLACE)$@ $<
  68. MC_SRCS= \
  69. terms.c \
  70. user.c \
  71. file.c \
  72. filegui.c \
  73. filenot.c \
  74. findme.c \
  75. listmode.c \
  76. cmd.c \
  77. command.c \
  78. help.c \
  79. menu.c \
  80. view.c \
  81. dir.c \
  82. info.c \
  83. widget.c \
  84. option.c \
  85. dlg.c \
  86. panelize.c \
  87. profile.c \
  88. util.c \
  89. dialog.c \
  90. ext.c \
  91. color.c \
  92. layout.c \
  93. setup.c \
  94. regex.c \
  95. hotlist.c \
  96. tree.c \
  97. win.c \
  98. complete.c \
  99. find.c \
  100. wtools.c \
  101. boxes.c \
  102. background.c \
  103. main.c \
  104. popt.c \
  105. text.c \
  106. screen.c
  107. PC_SRCS= \
  108. slint_pc.c \
  109. chmod.c \
  110. drive.c
  111. NT_SRCS= \
  112. cons_nt.c \
  113. dirent_nt.c \
  114. key_nt.c \
  115. util_win32.c \
  116. util_winnt.c \
  117. util_nt.c
  118. OS2_SRCS= \
  119. cons_os2.c \
  120. dirent_os2.c \
  121. key_os2.c \
  122. util_os2.c
  123. SLANG_NT=slw32tty.c
  124. SLANG_OS2=slos2tty.c
  125. SLANG_SRCS= \
  126. slerr.c \
  127. slgetkey.c \
  128. slsmg.c \
  129. slvideo.c \
  130. $(SLANG_$(TARGET_OS))
  131. MCEDIT_SRCS= \
  132. edit.c \
  133. editcmd.c \
  134. editdraw.c \
  135. editmenu.c \
  136. editoptions.c \
  137. editwidget.c \
  138. syntax.c \
  139. wordproc.c
  140. SRCS=$(MC_SRCS) $(PC_SRCS) $($(TARGET_OS)_SRCS) $(EXTRA_MC_SRCS)
  141. OBJS=$(addprefix $(OBJS_DIR)/, \
  142. $(patsubst %.c,%.$(OBJ_SUFFIX),$(SRCS)))
  143. SLANG_OBJS=$(addprefix $(SLANG_OBJS_DIR)/, \
  144. $(patsubst %.c,%.$(OBJ_SUFFIX),$(SLANG_SRCS)))
  145. MCEDIT_OBJS=$(addprefix $(MCEDIT_OBJS_DIR)/, \
  146. $(patsubst %.c,%.$(OBJ_SUFFIX),$(MCEDIT_SRCS)))
  147. ifdef RSC
  148. ifndef RES_SUFFIX
  149. RES_SUFFIX=res
  150. endif # RES_SUFFIX
  151. MC_RES=$(OBJS_DIR)/mc.$(RES_SUFFIX)
  152. $(MC_RES): $(MC_PC_DIR)/mc.rc $(MC_PC_DIR)/mc_nt.ico $(MC_PC_DIR)/config.h ../VERSION
  153. $(RSC) $(RES_PLACE)$(MC_RES) $(RC_DEFINES) $(MC_PC_DIR)/mc.rc
  154. else
  155. MC_RES=
  156. endif # !RSC