# # ReactOS shell # # Makefile-rosshell-MinGW # # MinGW Makefile with precompiled header support # CC = gcc CXX = g++ LINK = g++ CFLAGS = -DWIN32 -DROSSHELL -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I. RCFLAGS = -DWIN32 -DROSSHELL -D__WINDRES__ LFLAGS = -Wl,--subsystem,windows ifdef DEBUG CFLAGS += -D_DEBUG -g RCFLAGS += -D_DEBUG LFLAGS += -g else CFLAGS += -DNDEBUG -Os #-march=pentium4 RCFLAGS += -DNDEBUG LFLAGS += -s endif ifndef UNICODE UNICODE = 1 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 services PROGRAM = rosshell TARGET = $(PROGRAM)$(EXEC_SUFFIX) OBJECTS = \ startup.o \ shellclasses.o \ utility.o \ window.o \ dragdropimpl.o \ shellbrowserimpl.o \ explorer.o \ entries.o \ winfs.o \ shellfs.o \ pane.o \ desktop.o \ desktopbar.o \ taskbar.o \ startmenu.o \ shellservices.o \ traynotify.o \ quicklaunch.o \ favorites.o \ searchprogram.o \ settings.o \ i386-stub-win32.o \ xmlstorage.o \ xs-native.o LIBS = gdi32 comctl32 msimg32 ole32 uuid DELAYIMPORTS = oleaut32 wsock32 all: precomp.h.gch $(TARGET) precomp.h.gch: *.h utility/*.h shell/*.h desktop/*.h $(CXX) $(CFLAGS) precomp.h $(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) notifyhook.dll $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS)) $(addprefix -l,$(DELAYIMPORTS)) $(PROGRAM)$(RES_SUFFIX): explorer_intres.rc res/*.bmp res/*.ico windres $(RCFLAGS) -o $@ explorer_intres.rc notifyhook.dll: notifyhook/notifyhook.c notifyhook/notifyhook.h $(CC) -D_WIN32_IE=0x0600 -Wall -D_NOTIFYHOOK_IMPL -Os -s notifyhook/notifyhook.c -shared -o $@ clean: rm -f $(TARGET) $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) precomp.h.gch \ desktop/*.o dialogs/*.o shell/*.o taskbar/*.o utility/*.o