#
-# ReactOS lean explorer
+# ReactOS explorer
#
# Makefile.MinGW
#
CXX = g++
LINK = g++
-CFLAGS = -DWIN32 -D_WIN32_IE=0x0501 -D_WIN32_WINNT=0x0501 -fexceptions -Wall
+# -D_NO_ALPHABLEND for builds without msimg32.dll dependency
+CFLAGS = -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I. -I$(EXPAT_INC)
RCFLAGS = -DWIN32 -D__WINDRES__
LFLAGS = -Wl,--subsystem,windows
RCFLAGS += -D_DEBUG
LFLAGS += -g
else
-CFLAGS += -DNDEBUG -Os -D_NO_CONTEXT
+CFLAGS += -DNDEBUG -Os
RCFLAGS += -DNDEBUG
LFLAGS += -s
endif
ifeq ($(UNICODE),1)
CFLAGS += -DUNICODE
# LFLAGS+= -Wl,--entry,_wWinMain@16
+RCFLAGS += -DUNICODE
endif
CXXFLAGS = $(CFLAGS)
EXEC_SUFFIX = .exe
RES_SUFFIX = .coff
-VPATH = shell utility taskbar desktop dialogs
+VPATH = shell utility taskbar desktop dialogs services
PROGRAM = explorer
window.o \
dragdropimpl.o \
shellbrowserimpl.o \
+ shellservices.o \
explorer.o \
entries.o \
winfs.o \
+ unixfs.o \
shellfs.o \
+ ntobjfs.o \
+ regfs.o \
+ fatfs.o \
+ webchild.o \
mainframe.o \
+ filechild.o \
+ pane.o \
shellbrowser.o \
desktop.o \
desktopbar.o \
startmenu.o \
traynotify.o \
quicklaunch.o \
- settings.o
+ favorites.o \
+ searchprogram.o \
+ settings.o \
+ i386-stub-win32.o \
+ xmlstorage.o
-LIBS = gdi32 comctl32 ole32 uuid wsock32
+LIBS = gdi32 comctl32 msimg32 ole32 uuid
+DELAYIMPORTS = oleaut32 wsock32
all: $(TARGET)
-$(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX)
- $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS))
+$(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) notifyhook.dll libexpat.dll
+ $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS)) $(addprefix -l,$(DELAYIMPORTS))
-explorer$(RES_SUFFIX): $(PROGRAM)_intres.rc res/*.bmp res/*.ico
+$(PROGRAM)$(RES_SUFFIX): $(PROGRAM)_intres.rc res/*.bmp res/*.ico
windres $(RCFLAGS) -o $@ $(PROGRAM)_intres.rc
-clean:
- rm -f $(TARGET) $(OBJECTS) $(PROGRAM)$(RES_SUFFIX)
+notifyhook.dll: notifyhook/notifyhook.c notifyhook/notifyhook.h
+ $(CC) -D_WIN32_IE=0x0600 -Wall -D_NOTIFYHOOK_IMPL -Os -s notifyhook/notifyhook.c -shared -o $@
-ever:
+clean:
+ rm -f $(TARGET) $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) \
+ desktop/*.o dialogs/*.o shell/*.o taskbar/*.o utility/*.o