4 # Makefile-rosshell-MinGW
6 # MinGW Makefile with precompiled header support
13 CFLAGS = -DWIN32 -DROSSHELL -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I.
14 RCFLAGS = -DWIN32 -DROSSHELL -D__WINDRES__
15 LFLAGS = -Wl,--subsystem,windows
22 CFLAGS += -DNDEBUG -Os #-march=pentium4
33 # LFLAGS+= -Wl,--entry,_wWinMain@16
42 VPATH = shell utility taskbar desktop dialogs services
46 TARGET = $(PROGRAM)$(EXEC_SUFFIX)
74 LIBS = gdi32 comctl32 msimg32 ole32 uuid
75 DELAYIMPORTS = oleaut32 wsock32
77 all: precomp.h.gch $(TARGET)
79 precomp.h.gch: *.h utility/*.h shell/*.h desktop/*.h
80 $(CXX) $(CFLAGS) precomp.h
82 $(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) notifyhook.dll
83 $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS)) $(addprefix -l,$(DELAYIMPORTS))
85 $(PROGRAM)$(RES_SUFFIX): explorer_intres.rc res/*.bmp res/*.ico
86 windres $(RCFLAGS) -o $@ explorer_intres.rc
88 notifyhook.dll: notifyhook/notifyhook.c notifyhook/notifyhook.h
89 $(CC) -D_WIN32_IE=0x0600 -Wall -D_NOTIFYHOOK_IMPL -Os -s notifyhook/notifyhook.c -shared -o $@
92 rm -f $(TARGET) $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) precomp.h.gch \
93 desktop/*.o dialogs/*.o shell/*.o taskbar/*.o utility/*.o