update
[midnight-commander.git] / os2 / Makefile.OS2
blobbc09e98d415eb1e7e3ac90e1a293cd2e75aebe68
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
8 # This is the Makefile for Midnight Commander under OS/2.
10 # Supported Compilers:
12 #       makefile.vc4:   Microsoft Visual C++ 4.x
13 #       ...
15 # ---- Directories
16 MC_NT_DIR=.
17 MC_SRC_DIR=../src
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
24 # --- Midnight Defines
25 MC_DEFINES=$(SPECIFIC_DEFINES) -D_CONSOLE -DHAVE_CONFIG_H -DUSE_INTERNAL_EDIT
26 MC_INCLUDES=-I$(MC_SRC_DIR) -I$(MC_NT_DIR) -I$(SLANG_SRC_DIR)
27 SLANG_DEFINES=$(SPECIFIC_DEFINES)
28 SLANG_INCLUDES=-I$(MC_NT_DIR) -I$(SLANG_SRC_DIR)
29 MCEDIT_DEFINES=$(SPECIFIC_DEFINES) -D_CONSOLE -DHAVE_CONFIG_H
30 MCEDIT_INCLUDES=-I$(MC_NT_DIR) -I$(MC_SRC_DIR)/.. -I$(SLANG_SRC_DIR)
32 CFLAGS=$(SPECIFIC_MC_CFLAGS) $(MC_INCLUDES) $(MC_DEFINES) -c
33 SLANG_CFLAGS=$(SPECIFIC_SLANG_CFLAGS) $(SLANG_INCLUDES) $(SLANG_DEFINES) -c
34 MCEDIT_CFLAGS=$(SPECIFIC_MCEDIT_CFLAGS) $(MCEDIT_INCLUDES) $(MCEDIT_DEFINES) -c
35 RSC_FLAGS=$(RES_PLACE)$(OBJS_DIR)/mc.res $(RC_DEFINES)
40 all: object-dirs mc 
41 object-dirs: $(OBJS_DIR) $(SLANG_OBJS_DIR) $(MCEDIT_OBJS_DIR)
43 mc: $(OBJS_DIR)/mc.exe
45 clean: 
46         deltree -y "$(SLANG_OBJS_DIR)"
47         deltree -y "$(MCEDIT_OBJS_DIR)"
48         deltree -y "$(OBJS_DIR)"
50 $(OBJS_DIR):
51         mkdir "$@"
53 $(SLANG_OBJS_DIR):
54         mkdir "$@"
56 $(MCEDIT_OBJS_DIR):
57         mkdir "$@"
59 $(OBJS_DIR)/%.$(OBJ_SUFFIX): $(MC_NT_DIR)/%.c
60         $(CC) $(CFLAGS) $(OBJ_PLACE)$@ $<
62 $(OBJS_DIR)/%.$(OBJ_SUFFIX): $(MC_SRC_DIR)/%.c
63         $(CC) $(CFLAGS) $(OBJ_PLACE)$@ $<
65 $(SLANG_OBJS_DIR)/%.$(OBJ_SUFFIX): $(SLANG_SRC_DIR)/%.c
66         $(CC) $(SLANG_CFLAGS) $(OBJ_PLACE)$@ $<
68 $(MCEDIT_OBJS_DIR)/%.$(OBJ_SUFFIX): $(MCEDIT_SRC_DIR)/%.c
69         $(CC) $(MCEDIT_CFLAGS) $(OBJ_PLACE)$@ $<
71 SRCS=   $(EXTRA_MC_SRCS) \
72         util.os2.c \
73         terms.c \
74         user.c \
75         subshell.c \
76         file.c \
77         listmode.c \
78         cmd.c \
79         dirent.os2.c \
80         command.c \
81         help.c \
82         menu.c \
83         view.c \
84         dir.c \
85         info.c \
86         widget.c \
87         cons.handler.os2.c \
88         option.c \
89         dlg.c \
90         panelize.c \
91         profile.c \
92         util.c \
93         dialog.c \
94         ext.c \
95         color.c \
96         drive.os2.c \
97         key.os2.c \
98         layout.c \
99         setup.c \
100         regex.c \
101         hotlist.c \
102         slint.os2.c \
103         tree.c \
104         win.c \
105         chmod.os2.c \
106         complete.c \
107         find.c \
108         wtools.c \
109         boxes.c \
110         background.c \
111         dirhist.c \
112         main.c \
113         popt.c \
114         text.c \
115         screen.c
117 SLANG_SRCS= \
118         slos2tty.c \
119         slerr.c \
120         slgetkey.c \
121         slsmg.c \
122         slvideo.c
124 MCEDIT_SRCS= \
125         edit.c \
126         editcmd.c \
127         editdraw.c \
128         editmenu.c \
129         editoptions.c \
130         editwidget.c \
131         wordproc.c
134 OBJS=$(addprefix $(OBJS_DIR)/, \
135         $(patsubst %.c,%.$(OBJ_SUFFIX),$(SRCS)))
136 SLANG_OBJS=$(addprefix $(SLANG_OBJS_DIR)/, \
137         $(patsubst %.c,%.$(OBJ_SUFFIX),$(SLANG_SRCS)))
138 MCEDIT_OBJS=$(addprefix $(MCEDIT_OBJS_DIR)/, \
139         $(patsubst %.c,%.$(OBJ_SUFFIX),$(MCEDIT_SRCS)))
141 ifdef RSC
142 MC_RES=$(OBJS_DIR)/mc.res
143 else
144 MC_RES=
145 endif
147 $(OBJS_DIR)/mc.res: $(MC_NT_DIR)/mc.rc $(MC_NT_DIR)/mc.ico $(MC_NT_DIR)/config.h ../VERSION
148         $(RSC) $(RSC_FLAGS) $(MC_NT_DIR)/mc.rc