done till colors ...
[midnight-commander.git] / pc / Makefile.PC
blob27dc3c9f66220c832d5789050bd827194a1f3ba3
1 # Makefile.PC
3 # This is the Makefile for Midnight Commander under Win32
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
12 # Supported Compilers:
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
19 # ---- Directories
20 MC_PC_DIR=.
21 MC_SRC_DIR=../src
22 VFS_DIR=../vfs
23 MCEDIT_SRC_DIR=../edit
24 MCGTKEDIT_SRC_DIR=../edit
25 MCEDIT_OBJS_DIR=$(OBJS_DIR)/edit
26 SLANG_SRC_DIR=../slang
27 SLANG_OBJS_DIR=$(OBJS_DIR)/slang
28 MC_EXE=$(OBJS_DIR)/mc.exe
30 # --- Midnight Defines
31 COMMON_DEFINES=-DMC_NT $(SPECIFIC_DEFINES)
32 MC_DEFINES=$(COMMON_DEFINES) -DHAVE_CONFIG_H
33 MC_INCLUDES=-I$(MC_PC_DIR) -I$(SLANG_SRC_DIR)
34 SLANG_DEFINES=$(COMMON_DEFINES)
35 SLANG_INCLUDES=-I$(MC_PC_DIR) -I$(SLANG_SRC_DIR)
36 MCEDIT_DEFINES=$(COMMON_DEFINES) -DHAVE_CONFIG_H
37 MCEDIT_INCLUDES=-I$(MC_PC_DIR) -I$(SLANG_SRC_DIR)
39 CFLAGS=$(SPECIFIC_MC_CFLAGS) $(MC_INCLUDES) $(MC_DEFINES) -c
40 SLANG_CFLAGS=$(SPECIFIC_SLANG_CFLAGS) $(SLANG_INCLUDES) $(SLANG_DEFINES) -c
41 MCEDIT_CFLAGS=$(SPECIFIC_MCEDIT_CFLAGS) $(MCEDIT_INCLUDES) $(MCEDIT_DEFINES) -c
44 all: object-dirs mc
45 object-dirs: $(OBJS_DIR) $(SLANG_OBJS_DIR) $(MCEDIT_OBJS_DIR)
47 mc: $(MC_EXE)
49 clean: 
50         deltree -y "$(SLANG_OBJS_DIR)"
51         deltree -y "$(MCEDIT_OBJS_DIR)"
52         deltree -y "$(OBJS_DIR)"
54 $(OBJS_DIR):
55         mkdir "$@"
57 $(SLANG_OBJS_DIR):
58         mkdir "$@"
60 $(MCEDIT_OBJS_DIR):
61         mkdir "$@"
63 $(OBJS_DIR)/%.$(OBJ_SUFFIX): $(MC_PC_DIR)/%.c
64         $(CC) $(CFLAGS) $(OBJ_PLACE)$@ $<
66 $(OBJS_DIR)/%.$(OBJ_SUFFIX): $(MC_SRC_DIR)/%.c
67         $(CC) $(CFLAGS) $(OBJ_PLACE)$@ $<
69 $(SLANG_OBJS_DIR)/%.$(OBJ_SUFFIX): $(SLANG_SRC_DIR)/%.c
70         $(CC) $(SLANG_CFLAGS) $(OBJ_PLACE)$@ $<
72 $(MCEDIT_OBJS_DIR)/%.$(OBJ_SUFFIX): $(MCEDIT_SRC_DIR)/%.c
73         $(CC) $(MCEDIT_CFLAGS) $(OBJ_PLACE)$@ $<
75 $(MCEDIT_OBJS_DIR)/%.$(OBJ_SUFFIX): $(MCGTKEDIT_SRC_DIR)/%.c
76         $(CC) -I$(MCGTKEDIT_SRC_DIR) -I$(MCEDIT_SRC_DIR) -I$(MCEDIT_SRC_DIR)/.. $(MCEDIT_CFLAGS) $(OBJ_PLACE)$@ $<
78 MC_SRCS= \
79         terms.c         \
80         user.c          \
81         file.c          \
82         filegui.c       \
83         filenot.c       \
84         findme.c        \
85         listmode.c      \
86         cmd.c           \
87         command.c       \
88         help.c          \
89         menu.c          \
90         view.c          \
91         dir.c           \
92         info.c          \
93         widget.c        \
94         option.c        \
95         dlg.c           \
96         panelize.c      \
97         profile.c       \
98         util.c          \
99         dialog.c        \
100         ext.c           \
101         color.c         \
102         layout.c        \
103         setup.c         \
104         regex.c         \
105         hotlist.c       \
106         tree.c          \
107         win.c           \
108         complete.c      \
109         find.c          \
110         wtools.c        \
111         boxes.c         \
112         background.c    \
113         main.c          \
114         popt.c          \
115         text.c          \
116         screen.c
118 PC_SRCS= \
119         chmod.c         \
120         cons_nt.c       \
121         drive.c         \
122         dirent_nt.c     \
123         key_nt.c        \
124         slint_pc.c      \
125         util_win32.c    \
126         util_winnt.c    \
127         util_nt.c
129 SLANG_SRCS=             \
130         slerr.c         \
131         slgetkey.c      \
132         slsmg.c         \
133         slvideo.c       \
134         slw32tty.c
136 MCEDIT_SRCS=            \
137         edit.c          \
138         editcmd.c       \
139         editdraw.c      \
140         editmenu.c      \
141         editoptions.c   \
142         editwidget.c    \
143         syntax.c        \
144         wordproc.c
146 SRCS=$(MC_SRCS) $(PC_SRCS) $(EXTRA_MC_SRCS)
148 OBJS=$(addprefix $(OBJS_DIR)/, \
149         $(patsubst %.c,%.$(OBJ_SUFFIX),$(SRCS)))
150 SLANG_OBJS=$(addprefix $(SLANG_OBJS_DIR)/, \
151         $(patsubst %.c,%.$(OBJ_SUFFIX),$(SLANG_SRCS)))
152 MCEDIT_OBJS=$(addprefix $(MCEDIT_OBJS_DIR)/, \
153         $(patsubst %.c,%.$(OBJ_SUFFIX),$(MCEDIT_SRCS)))
155 ifdef RSC
157 ifndef RES_SUFFIX
158 RES_SUFFIX=res
159 endif # RES_SUFFIX
161 MC_RES=$(OBJS_DIR)/mc.$(RES_SUFFIX)
163 $(MC_RES): $(MC_PC_DIR)/mc.rc $(MC_PC_DIR)/mc_nt.ico $(MC_PC_DIR)/config.h VERSION
164         $(RSC) $(RES_PLACE)$(MC_RES) $(RC_DEFINES) $(MC_PC_DIR)/mc.rc
166 else
167 MC_RES=
168 endif # !RSC
170 VERSION: ../configure.in
171         sed -n -e 's/^AM_INIT_AUTOMAKE([^,]*,[ []*\([0-9A-Za-z.-_]*\).*$$/#define VERSION "\1"/p' $< > $@