merge ROS Shell without integrated explorer part into trunk
[reactos.git] / reactos / subsys / system / explorer / Make-rosshell.mak
index 4a54acf..fa428b1 100644 (file)
 #\r
-#  ReactOS lean shell\r
+#  ReactOS shell\r
 #\r
 #  Makefile\r
 #\r
 \r
-# Windows is default host environment\r
-ifeq ($(HOST),)\r
-HOST = mingw32-windows\r
-endif\r
-\r
-ifeq ($(HOST),mingw32-linux)\r
-CC = mingw32-gcc\r
-CXX = mingw32-g++\r
-LINK = mingw32-g++\r
-RC = mingw32-windres\r
-CD_PREFIX := ./\r
-PREFIX = mingw32-\r
-EXE_POSTFIX :=\r
-EXE_PREFIX := ./\r
-endif\r
-\r
-ifeq ($(HOST),mingw32-windows)\r
-CC = gcc\r
-CXX = g++\r
-LINK = g++\r
-RC = windres\r
-CD_PREFIX := \r
-PREFIX =\r
-EXE_PREFIX :=\r
-EXE_POSTFIX := .exe\r
-endif\r
-\r
-PATH_TO_TOP = ../../..\r
-TOOLS_PATH = $(PATH_TO_TOP)/tools\r
-\r
-ifndef UNICODE\r
-UNICODE = 1\r
-endif\r
-\r
-CFLAGS = -I./ -DWIN32 -D_ROS_ -D_WIN32_IE=0x0501 -D_WIN32_WINNT=0x0501 -fexceptions -Wall\r
-RCFLAGS        = -DWIN32 -D_ROS_ -D__WINDRES__\r
-LFLAGS = -Wl,--subsystem,windows\r
-\r
-ifdef DEBUG\r
-CFLAGS += -D_DEBUG -g\r
-RCFLAGS        += -D_DEBUG\r
-LFLAGS += -g\r
-else\r
-CFLAGS += -DNDEBUG -Os -D_NO_CONTEXT\r
-RCFLAGS        += -DNDEBUG\r
-LFLAGS += -s\r
-endif\r
-\r
-ifeq ($(UNICODE),1)\r
-CFLAGS += -DUNICODE\r
-# LFLAGS+= -Wl,--entry,_wWinMain@16\r
-RCFLAGS += -DUNICODE\r
-endif\r
-\r
-CXXFLAGS = $(CFLAGS)\r
-\r
-EXEC_SUFFIX = .exe\r
-RES_SUFFIX = .coff\r
-\r
-VPATH = shell utility taskbar desktop dialogs\r
-\r
-PROGRAM = rosshell\r
-\r
-TARGET = $(PROGRAM)$(EXEC_SUFFIX)\r
-\r
-OBJECTS = \\r
-       startup.o \\r
-       shellclasses.o \\r
-       utility.o \\r
-       window.o \\r
-       dragdropimpl.o \\r
-       shellbrowserimpl.o \\r
-       explorer.o \\r
-       entries.o \\r
-       winfs.o \\r
-       shellfs.o \\r
-       desktop.o \\r
-       desktopbar.o \\r
-       taskbar.o \\r
-       startmenu.o \\r
-       traynotify.o \\r
-       quicklaunch.o \\r
-       settings.o\r
-\r
-LIBS = gdi32 comctl32 ole32 uuid\r
-\r
-.PHONY: all depends implib clean install dist bootcd depends\r
-\r
-all: $(TARGET)\r
-\r
-ever:\r
-\r
-$(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX)\r
-       $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS))\r
+PATH_TO_TOP := ../../..\r
 \r
-$(PROGRAM)$(RES_SUFFIX): explorer_intres.rc res/*.bmp res/*.ico\r
-       $(RC) $(RCFLAGS) -o $@ explorer_intres.rc\r
+TARGET_TYPE := program\r
 \r
-clean:\r
-       $(TOOLS_PATH)/rdel $(TARGET) $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) \\r
-       desktop/*.o dialogs/*.o shell/*.o taskbar/*.o utility/*.o\r
+TARGET_APPTYPE := windows\r
 \r
-# Use environment var ROS_INSTALL to override default install dir\r
-ifneq ($(ROS_INSTALL),)\r
-INSTALL_DIR = $(ROS_INSTALL)\r
-else\r
-ifeq ($(HOST),mingw32-windows)\r
-INSTALL_DIR = C:/reactos\r
-else\r
-INSTALL_DIR = $(PATH_TO_TOP)/reactos\r
-endif\r
-endif\r
+TARGET_NAME := rosshell\r
 \r
-implib:\r
+TARGET_INSTALLDIR := .\r
 \r
-install:\r
-       -$(TOOLS_PATH)/rcopy $(TARGET) $(INSTALL_DIR)/$(TARGET)\r
+TARGET_CFLAGS := \\r
+       -D__USE_W32API -DWIN32 -D_ROS_ \\r
+       -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 \\r
+       -DUNICODE -fexceptions -Wall -g \\r
+       -I../../../include/expat\r
 \r
-bootcd:\r
+TARGET_CPPFLAGS := $(TARGET_CFLAGS)\r
 \r
+TARGET_RCFLAGS := -D__USE_W32API -DWIN32 -D_ROS_ -D__WINDRES__\r
 \r
-# dependency scanning\r
+TARGET_SDKLIBS := \\r
+       gdi32.a user32.a comctl32.a ole32.a oleaut32.a shell32.a expat.a \\r
+       notifyhook.a ws2_32.a msimg32.a\r
 \r
-DEP_FILTERED := $(filter-out $(DEP_EXCLUDE_FILTER), $(OBJECTS:.o=.d))\r
-DEP_FILES := $(join $(dir $(DEP_FILTERED)), $(addprefix ., $(notdir $(DEP_FILTERED))))\r
-\r
-ifneq ($(MAKECMDGOALS),clean)\r
--include $(DEP_FILES)\r
-endif\r
-\r
-ifeq ($(HOST),mingw32-windows)\r
-DEPENDS_EXE := ..\..\..\tools\depends\r
-else\r
-DEPENDS_EXE := $(TOOLS_PATH)/depends\r
-endif\r
-\r
-.%.d: %.c $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX)\r
-       $(CC) $(CFLAGS) -M $< | $(DEPENDS_EXE) $(@D) $@\r
-\r
-.%.d: %.cpp $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX)\r
-       $(CC) $(CFLAGS) -M $< | $(DEPENDS_EXE) $(@D) $@\r
+TARGET_GCCLIBS := stdc++ uuid\r
 \r
+TARGET_OBJECTS := \\r
+       explorer.o \\r
+       i386-stub-win32.o \\r
+       desktop/desktop.o \\r
+       dialogs/searchprogram.o \\r
+       dialogs/settings.o \\r
+       shell/entries.o \\r
+       shell/shellfs.o \\r
+       shell/pane.o \\r
+       shell/winfs.o \\r
+       services/startup.o \\r
+       services/shellservices.o \\r
+       taskbar/desktopbar.o \\r
+       taskbar/taskbar.o \\r
+       taskbar/startmenu.o \\r
+       taskbar/traynotify.o \\r
+       taskbar/quicklaunch.o \\r
+       taskbar/favorites.o \\r
+       utility/shellclasses.o \\r
+       utility/utility.o \\r
+       utility/window.o \\r
+       utility/dragdropimpl.o \\r
+       utility/shellbrowserimpl.o \\r
+       utility/xmlstorage.o\r
+\r
+TARGET_CPPAPP := yes\r
+\r
+TARGET_PCH := precomp.h\r
+\r
+SUBDIRS := notifyhook\r
+\r
+DEP_OBJECTS := $(TARGET_OBJECTS)\r
+\r
+include $(PATH_TO_TOP)/rules.mak\r
+include $(TOOLS_PATH)/helper.mk\r
+include $(TOOLS_PATH)/depend.mk\r