merge ROS Shell without integrated explorer part into trunk
[reactos.git] / reactos / subsys / system / explorer / Makefile.MinGW
index 8d0f51a..678fe28 100644 (file)
@@ -1,5 +1,5 @@
 #
-#  ReactOS lean explorer
+#  ReactOS explorer
 #
 #  Makefile.MinGW
 #
@@ -8,7 +8,8 @@ CC = gcc
 CXX = g++
 LINK = g++
 
-CFLAGS = -DWIN32 -D_WIN32_IE=0x0501 -D_WIN32_WINNT=0x0501 -fexceptions -Wall -I.
+# -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
 
@@ -17,7 +18,7 @@ CFLAGS        += -D_DEBUG -g
 RCFLAGS        += -D_DEBUG
 LFLAGS += -g
 else
-CFLAGS += -DNDEBUG -Os -D_NO_CONTEXT
+CFLAGS += -DNDEBUG -Os
 RCFLAGS        += -DNDEBUG
 LFLAGS += -s
 endif
@@ -29,6 +30,7 @@ endif
 ifeq ($(UNICODE),1)
 CFLAGS += -DUNICODE
 # LFLAGS+= -Wl,--entry,_wWinMain@16
+RCFLAGS += -DUNICODE
 endif
 
 CXXFLAGS = $(CFLAGS)
@@ -36,7 +38,7 @@ CXXFLAGS = $(CFLAGS)
 EXEC_SUFFIX = .exe
 RES_SUFFIX = .coff
 
-VPATH = shell utility taskbar desktop dialogs
+VPATH = shell utility taskbar desktop dialogs services
 
 PROGRAM = explorer
 
@@ -49,11 +51,19 @@ OBJECTS = \
        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 \
@@ -61,19 +71,26 @@ OBJECTS = \
        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
+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