# Makefile.PC # # This is the Makefile for Midnight Commander under Win32 # # Written by Dan Nicolaescu # 970423 hacked by Juan f. Grigera # 970525 hacked again by jfg to add internal editor # 971127 hacked by Pavel Roskin to make it work with mc-4.1.11 # 980206 hacked by Pavel Roskin to make it work with GNU make # 980329 changed by Pavel Roskin to make it common for OS/2 and NT # # Supported Compilers: # # Makefile.VC4: Microsoft Visual C++ 4.0 and above # Makefile.BC5: Borland C++ 5.x # Makefile.MIN: MinGW # Makefile.RSX: RSX # ---- Directories MC_PC_DIR=. MC_SRC_DIR=../src VFS_DIR=../vfs MCEDIT_SRC_DIR=../edit MCGTKEDIT_SRC_DIR=../edit MCEDIT_OBJS_DIR=$(OBJS_DIR)/edit SLANG_SRC_DIR=../slang SLANG_OBJS_DIR=$(OBJS_DIR)/slang MC_EXE=$(OBJS_DIR)/mc.exe # --- Midnight Defines COMMON_DEFINES=-DMC_NT $(SPECIFIC_DEFINES) MC_DEFINES=$(COMMON_DEFINES) -DHAVE_CONFIG_H MC_INCLUDES=-I$(MC_PC_DIR) -I$(SLANG_SRC_DIR) SLANG_DEFINES=$(COMMON_DEFINES) SLANG_INCLUDES=-I$(MC_PC_DIR) -I$(SLANG_SRC_DIR) MCEDIT_DEFINES=$(COMMON_DEFINES) -DHAVE_CONFIG_H MCEDIT_INCLUDES=-I$(MC_PC_DIR) -I$(SLANG_SRC_DIR) CFLAGS=$(SPECIFIC_MC_CFLAGS) $(MC_INCLUDES) $(MC_DEFINES) -c SLANG_CFLAGS=$(SPECIFIC_SLANG_CFLAGS) $(SLANG_INCLUDES) $(SLANG_DEFINES) -c MCEDIT_CFLAGS=$(SPECIFIC_MCEDIT_CFLAGS) $(MCEDIT_INCLUDES) $(MCEDIT_DEFINES) -c all: object-dirs mc object-dirs: $(OBJS_DIR) $(SLANG_OBJS_DIR) $(MCEDIT_OBJS_DIR) mc: $(MC_EXE) clean: deltree -y "$(SLANG_OBJS_DIR)" deltree -y "$(MCEDIT_OBJS_DIR)" deltree -y "$(OBJS_DIR)" $(OBJS_DIR): mkdir "$@" $(SLANG_OBJS_DIR): mkdir "$@" $(MCEDIT_OBJS_DIR): mkdir "$@" $(OBJS_DIR)/%.$(OBJ_SUFFIX): $(MC_PC_DIR)/%.c $(CC) $(CFLAGS) $(OBJ_PLACE)$@ $< $(OBJS_DIR)/%.$(OBJ_SUFFIX): $(MC_SRC_DIR)/%.c $(CC) $(CFLAGS) $(OBJ_PLACE)$@ $< $(SLANG_OBJS_DIR)/%.$(OBJ_SUFFIX): $(SLANG_SRC_DIR)/%.c $(CC) $(SLANG_CFLAGS) $(OBJ_PLACE)$@ $< $(MCEDIT_OBJS_DIR)/%.$(OBJ_SUFFIX): $(MCEDIT_SRC_DIR)/%.c $(CC) $(MCEDIT_CFLAGS) $(OBJ_PLACE)$@ $< $(MCEDIT_OBJS_DIR)/%.$(OBJ_SUFFIX): $(MCGTKEDIT_SRC_DIR)/%.c $(CC) -I$(MCGTKEDIT_SRC_DIR) -I$(MCEDIT_SRC_DIR) -I$(MCEDIT_SRC_DIR)/.. $(MCEDIT_CFLAGS) $(OBJ_PLACE)$@ $< MC_SRCS= \ terms.c \ user.c \ file.c \ filegui.c \ filenot.c \ findme.c \ listmode.c \ cmd.c \ command.c \ help.c \ menu.c \ view.c \ dir.c \ info.c \ widget.c \ option.c \ dlg.c \ panelize.c \ profile.c \ util.c \ dialog.c \ ext.c \ color.c \ layout.c \ setup.c \ regex.c \ hotlist.c \ tree.c \ win.c \ complete.c \ find.c \ wtools.c \ boxes.c \ background.c \ main.c \ popt.c \ text.c \ screen.c PC_SRCS= \ chmod.c \ cons_nt.c \ drive.c \ dirent_nt.c \ key_nt.c \ slint_pc.c \ util_win32.c \ util_winnt.c \ util_nt.c SLANG_SRCS= \ slerr.c \ slgetkey.c \ slsmg.c \ slvideo.c \ slw32tty.c MCEDIT_SRCS= \ edit.c \ editcmd.c \ editdraw.c \ editmenu.c \ editoptions.c \ editwidget.c \ syntax.c \ wordproc.c SRCS=$(MC_SRCS) $(PC_SRCS) $(EXTRA_MC_SRCS) OBJS=$(addprefix $(OBJS_DIR)/, \ $(patsubst %.c,%.$(OBJ_SUFFIX),$(SRCS))) SLANG_OBJS=$(addprefix $(SLANG_OBJS_DIR)/, \ $(patsubst %.c,%.$(OBJ_SUFFIX),$(SLANG_SRCS))) MCEDIT_OBJS=$(addprefix $(MCEDIT_OBJS_DIR)/, \ $(patsubst %.c,%.$(OBJ_SUFFIX),$(MCEDIT_SRCS))) ifdef RSC ifndef RES_SUFFIX RES_SUFFIX=res endif # RES_SUFFIX MC_RES=$(OBJS_DIR)/mc.$(RES_SUFFIX) $(MC_RES): $(MC_PC_DIR)/mc.rc $(MC_PC_DIR)/mc_nt.ico $(MC_PC_DIR)/config.h VERSION $(RSC) $(RES_PLACE)$(MC_RES) $(RC_DEFINES) $(MC_PC_DIR)/mc.rc else MC_RES= endif # !RSC VERSION: ../configure.in sed -n -e 's/^AM_INIT_AUTOMAKE([^,]*,[ []*\([0-9A-Za-z.-_]*\).*$$/#define VERSION "\1"/p' $< > $@