1581
QUIET_LNCP = @echo ' ' LN/CP $@;
1582
QUIET_XGETTEXT = @echo ' ' XGETTEXT $@;
1583
QUIET_GCOV = @echo ' ' GCOV $@;
1584
+ QUIET_SP = @echo ' ' SP $<;
1585
QUIET_SUBDIR0 = +@subdir=
1586
QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \
1587
$(MAKE) $(PRINT_DIR) -C $$subdir
1677
$(STRIP) $(STRIP_OPTS) $(PROGRAMS) git$X
1678
1679
git.o: common-cmds.h
1679
-git.s git.o: EXTRA_CPPFLAGS = -DGIT_VERSION='"$(GIT_VERSION)"' \
1680
+git.sp git.s git.o: EXTRA_CPPFLAGS = -DGIT_VERSION='"$(GIT_VERSION)"' \
1681
'-DGIT_HTML_PATH="$(htmldir_SQ)"'
1682
1683
git$X: git.o $(BUILTIN_OBJS) $(GITLIBS)
1684
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ git.o \
1685
$(BUILTIN_OBJS) $(ALL_LDFLAGS) $(LIBS)
1686
1686
-help.o: common-cmds.h
1687
+help.sp help.o: common-cmds.h
1688
1688
-builtin/help.o: common-cmds.h
1689
-builtin/help.s builtin/help.o: EXTRA_CPPFLAGS = \
1689
+builtin/help.sp builtin/help.o: common-cmds.h
1690
+builtin/help.sp builtin/help.s builtin/help.o: EXTRA_CPPFLAGS = \
1691
'-DGIT_HTML_PATH="$(htmldir_SQ)"' \
1692
'-DGIT_MAN_PATH="$(mandir_SQ)"' \
1693
'-DGIT_INFO_PATH="$(infodir_SQ)"'
1973
test-svn-fe.o: vcs-svn/svndump.h
1974
endif
1975
1975
-exec_cmd.s exec_cmd.o: EXTRA_CPPFLAGS = \
1976
+exec_cmd.sp exec_cmd.s exec_cmd.o: EXTRA_CPPFLAGS = \
1977
'-DGIT_EXEC_PATH="$(gitexecdir_SQ)"' \
1978
'-DBINDIR="$(bindir_relative_SQ)"' \
1979
'-DPREFIX="$(prefix_SQ)"'
1980
1980
-builtin/init-db.s builtin/init-db.o: EXTRA_CPPFLAGS = \
1981
+builtin/init-db.sp builtin/init-db.s builtin/init-db.o: EXTRA_CPPFLAGS = \
1982
-DDEFAULT_GIT_TEMPLATE_DIR='"$(template_dir_SQ)"'
1983
1983
-config.s config.o: EXTRA_CPPFLAGS = -DETC_GITCONFIG='"$(ETC_GITCONFIG_SQ)"'
1984
+config.sp config.s config.o: EXTRA_CPPFLAGS = \
1985
+ -DETC_GITCONFIG='"$(ETC_GITCONFIG_SQ)"'
1986
1985
-attr.s attr.o: EXTRA_CPPFLAGS = -DETC_GITATTRIBUTES='"$(ETC_GITATTRIBUTES_SQ)"'
1987
+attr.sp attr.s attr.o: EXTRA_CPPFLAGS = \
1988
+ -DETC_GITATTRIBUTES='"$(ETC_GITATTRIBUTES_SQ)"'
1989
1987
-http.s http.o: EXTRA_CPPFLAGS = -DGIT_HTTP_USER_AGENT='"git/$(GIT_VERSION)"'
1990
+http.sp http.s http.o: EXTRA_CPPFLAGS = \
1991
+ -DGIT_HTTP_USER_AGENT='"git/$(GIT_VERSION)"'
1992
1993
ifdef NO_EXPAT
1990
-http-walker.s http-walker.o: EXTRA_CPPFLAGS = -DNO_EXPAT
1994
+http-walker.sp http-walker.s http-walker.o: EXTRA_CPPFLAGS = -DNO_EXPAT
1995
endif
1996
1997
ifdef NO_REGEX
1994
-compat/regex/regex.o: EXTRA_CPPFLAGS = -DGAWK -DNO_MBSUPPORT
1998
+compat/regex/regex.sp compat/regex/regex.o: EXTRA_CPPFLAGS = \
1999
+ -DGAWK -DNO_MBSUPPORT
2000
endif
2001
2002
ifdef USE_NED_ALLOCATOR
1998
-compat/nedmalloc/nedmalloc.o: EXTRA_CPPFLAGS = \
2003
+compat/nedmalloc/nedmalloc.sp compat/nedmalloc/nedmalloc.o: EXTRA_CPPFLAGS = \
2004
-DNDEBUG -DOVERRIDE_STRDUP -DREPLACE_SYSTEM_ALLOCATOR
2005
endif
2006
2166
check-sha1:: test-sha1$X
2167
./test-sha1.sh
2168
2169
+SP_OBJ = $(patsubst %.o,%.sp,$(C_OBJ))
2170
+
2171
+$(SP_OBJ): %.sp: %.c GIT-CFLAGS FORCE
2172
+ $(QUIET_SP)cgcc -no-compile $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) \
2173
+ $(SPARSE_FLAGS) $<
2174
+
2175
+.PHONY: sparse $(SP_OBJ)
2176
+sparse: $(SP_OBJ)
2177
+
2178
check: common-cmds.h
2179
@if sparse; \
2180
then \
2167
- for i in $(patsubst %.o, %.c, $(GIT_OBJS)); \
2168
- do \
2169
- echo ' ' SP $$i; \
2170
- cgcc -no-compile $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i || exit; \
2171
- done; \
2181
+ echo 2>&1 "Use 'make sparse' instead"; \
2182
+ $(MAKE) --no-print-directory sparse; \
2183
else \
2184
echo 2>&1 "Did you mean 'make test'?"; \
2185
exit 1; \