1 MODULES
=ext.c debug.c dll.c factory.c menu.c systeminfo.c registry.c \
2 exec.c menuengine.c cheetahmenu.c columns.c
3 OBJECTS
=${MODULES
:%.c
=%.o
}
4 COMPAT_OBJ
= date.o sha1_file.o strbuf.o usage.o wrapper.o \
5 compat
/mingw.o compat
/mmap.o compat
/pread.o compat
/strlcpy.o \
8 ifeq ($(shell uname
-o
2>/dev
/null
), Cygwin
)
9 OSCFLAGS
=-mno-cygwin
-mwin32
-mdll
10 OSDLLWRAPFLAG
=-mno-cygwin
--target
=i386-mingw32
13 # define _WIN32_IE, so IColumnProvider's structures are available
14 CFLAGS
=-O
-g
-DNO_MMAP
-DNO_PREAD
-DNO_STRLCPY
-D_WIN32_IE
=0x0500 $(OSCFLAGS
)
15 DLLWRAPFLAGS
= -Wl
,--enable-stdcall-fixup
$(OSDLLWRAPFLAG
)
17 TARGET
=git_shell_ext.dll
18 MSYSGIT_PATH
=$(shell cd
/; pwd
-W | sed
-e
's|/|\\\\\\\\|g')
19 DLL_PATH
=$(shell pwd
-W | sed
-e
's|/|\\\\\\\\|g')\\\\$(TARGET
)
24 $(CC
) $(CFLAGS
) $< -c
-o
$@
27 $(CC
) $(CFLAGS
) -MM
$(MODULES
) > deps
29 $(TARGET
): $(OBJECTS
) $(COMPAT_OBJ
) deps git_shell_ext.def
30 dllwrap.exe
$(DLLWRAPFLAGS
) --def git_shell_ext.def \
31 $(OBJECTS
) $(COMPAT_OBJ
) -o
$@
-luuid
-loleaut32
-lole32
-lws2_32
33 # gcc $(LDFLAGS) -o $@ $(OBJECTS) -lole32 -luuid -loleaut32
34 # dlltool -d git_shell_ext.def -l $@ $(OBJECTS)
39 regsvr32
-s
-n
-i
:machine
$(DLL_PATH
)
42 regsvr32
-u
-s
-n
-i
:machine
$(DLL_PATH
)
45 regsvr32
-s
$(DLL_PATH
)
48 regsvr32
-u
-s
$(DLL_PATH
)
51 -rm -f
$(OBJECTS
) $(COMPAT_OBJ
) $(TARGET
) deps