1
1
# The default target of this Makefile is...
2
2
all ::
3
3
4
+ # Define QUIET_MAKE to have a less verbose compile.
5
+ #
4
6
# Define NO_OPENSSL environment variable if you do not have OpenSSL.
5
7
# This also implies MOZILLA_SHA1.
6
8
#
@@ -602,6 +604,19 @@ endif
602
604
ifdef NO_PERL_MAKEMAKER
603
605
export NO_PERL_MAKEMAKER
604
606
endif
607
+ ifdef QUIET_MAKE
608
+ QUIET_CC = @echo ' ' CC $<;
609
+ QUIET_AR = @echo ' ' AR $@;
610
+ QUIET_LINK = @echo ' ' LINK $@;
611
+ QUIET_BUILT_IN = @echo ' ' BUILTIN $@;
612
+ QUIET_GEN = @echo ' ' GEN $@;
613
+ QUIET_SUBDIR0 = @subdir=
614
+ QUIET_SUBDIR1 = ;echo ' ' SUBDIR $$subdir; $(MAKE) -C$$subdir
615
+ export QUIET_MAKE
616
+ else
617
+ QUIET_SUBDIR0 = $(MAKE) -C
618
+ QUIET_SUBDIR1 =
619
+ endif
605
620
606
621
# Shell quote (do not use $(call) to accommodate ancient setups);
607
622
@@ -637,35 +652,34 @@ ifneq (,$X)
637
652
endif
638
653
639
654
all ::
640
- $(MAKE ) -C git-gui all
641
- $(MAKE ) -C perl PERL_PATH=' $(PERL_PATH_SQ)' prefix=' $(prefix_SQ)' all
642
- $(MAKE ) -C templates
655
+ $(QUIET_SUBDIR0 ) git-gui $( QUIET_SUBDIR1 ) all
656
+ $(QUIET_SUBDIR0 ) perl $( QUIET_SUBDIR1 ) PERL_PATH=' $(PERL_PATH_SQ)' prefix=' $(prefix_SQ)' all
657
+ $(QUIET_SUBDIR0 ) templates $( QUIET_SUBDIR1 )
643
658
644
659
strip : $(PROGRAMS ) git$X
645
660
$(STRIP ) $(STRIP_OPTS ) $(PROGRAMS ) git$X
646
661
647
662
git$X : git.c common-cmds.h $(BUILTIN_OBJS ) $(GITLIBS ) GIT-CFLAGS
648
- $(CC ) -DGIT_VERSION=' "$(GIT_VERSION)"' \
663
+ $(QUIET_LINK )$( CC ) -DGIT_VERSION=' "$(GIT_VERSION)"' \
649
664
$(ALL_CFLAGS ) -o $@ $(filter % .c,$^ ) \
650
665
$(BUILTIN_OBJS ) $(ALL_LDFLAGS ) $(LIBS )
651
666
652
667
help.o : common-cmds.h
653
668
654
669
$(BUILT_INS ) : git$X
655
- rm -f $@ && ln git$X $@
670
+ $( QUIET_BUILT_IN ) rm -f $@ && ln git$X $@
656
671
657
672
common-cmds.h : Documentation/git-* .txt
658
- ./generate-cmdlist.sh > $@ +
659
- mv $@ + $@
673
+ $(QUIET_GEN ) ./generate-cmdlist.sh > $@ + && mv $@ + $@
660
674
661
675
$(patsubst % .sh,% ,$(SCRIPT_SH ) ) : % : % .sh
662
- rm -f $@ $@ +
676
+ $( QUIET_GEN ) rm -f $@ $@ + && \
663
677
sed -e ' 1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
664
678
-e ' s|@@PERL@@|$(PERL_PATH_SQ)|g' \
665
679
-e ' s/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
666
680
-e ' s/@@NO_CURL@@/$(NO_CURL)/g' \
667
- $@ .sh > $@ +
668
- chmod +x $@ +
681
+ $@ .sh > $@ + && \
682
+ chmod +x $@ + && \
669
683
mv $@ + $@
670
684
671
685
$(patsubst % .perl,% ,$(SCRIPT_PERL ) ) : perl/perl.mak
@@ -674,7 +688,7 @@ perl/perl.mak: GIT-CFLAGS
674
688
$(MAKE ) -C perl PERL_PATH=' $(PERL_PATH_SQ)' prefix=' $(prefix_SQ)' $(@F )
675
689
676
690
$(patsubst % .perl,% ,$(SCRIPT_PERL ) ) : % : % .perl
677
- rm -f $@ $@ +
691
+ $( QUIET_GEN ) rm -f $@ $@ + && \
678
692
INSTLIBDIR=` $( MAKE) -C perl -s --no-print-directory instlibdir` && \
679
693
sed -e ' 1{' \
680
694
-e ' s|#!.*perl|#!$(PERL_PATH_SQ)|' \
@@ -685,20 +699,18 @@ $(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl
685
699
-e ' }' \
686
700
-e ' s|@@INSTLIBDIR@@|' " $$ INSTLIBDIR" ' |g' \
687
701
-e ' s/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
688
- $@ .perl > $@ +
689
- chmod +x $@ +
702
+ $@ .perl > $@ + && \
703
+ chmod +x $@ + && \
690
704
mv $@ + $@
691
705
692
706
git-cherry-pick : git-revert
693
- cp $< $@ +
694
- mv $@ + $@
707
+ $(QUIET_GEN ) cp $< $@ + && mv $@ + $@
695
708
696
709
git-status : git-commit
697
- cp $< $@ +
698
- mv $@ + $@
710
+ $(QUIET_GEN ) cp $< $@ + && mv $@ + $@
699
711
700
712
gitweb/gitweb.cgi : gitweb/gitweb.perl
701
- rm -f $@ $@ +
713
+ $( QUIET_GEN ) rm -f $@ $@ + && \
702
714
sed -e ' 1s|#!.*perl|#!$(PERL_PATH_SQ)|' \
703
715
-e ' s|++GIT_VERSION++|$(GIT_VERSION)|g' \
704
716
-e ' s|++GIT_BINDIR++|$(bindir)|g' \
@@ -716,28 +728,28 @@ gitweb/gitweb.cgi: gitweb/gitweb.perl
716
728
-e ' s|++GITWEB_FAVICON++|$(GITWEB_FAVICON)|g' \
717
729
-e ' s|++GITWEB_SITE_HEADER++|$(GITWEB_SITE_HEADER)|g' \
718
730
-e ' s|++GITWEB_SITE_FOOTER++|$(GITWEB_SITE_FOOTER)|g' \
719
- $< > $@ +
720
- chmod +x $@ +
731
+ $< > $@ + && \
732
+ chmod +x $@ + && \
721
733
mv $@ + $@
722
734
723
735
git-instaweb : git-instaweb.sh gitweb/gitweb.cgi gitweb/gitweb.css
724
- rm -f $@ $@ +
736
+ $( QUIET_GEN ) rm -f $@ $@ + && \
725
737
sed -e ' 1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
726
738
-e ' s/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
727
739
-e ' s/@@NO_CURL@@/$(NO_CURL)/g' \
728
740
-e ' /@@GITWEB_CGI@@/r gitweb/gitweb.cgi' \
729
741
-e ' /@@GITWEB_CGI@@/d' \
730
742
-e ' /@@GITWEB_CSS@@/r gitweb/gitweb.css' \
731
743
-e ' /@@GITWEB_CSS@@/d' \
732
- $@ .sh > $@ +
733
- chmod +x $@ +
744
+ $@ .sh > $@ + && \
745
+ chmod +x $@ + && \
734
746
mv $@ + $@
735
747
736
748
configure : configure.ac
737
- rm -f $@ $< +
749
+ $( QUIET_GEN ) rm -f $@ $< + && \
738
750
sed -e ' s/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
739
- $< > $< +
740
- autoconf -o $@ $< +
751
+ $< > $< + && \
752
+ autoconf -o $@ $< + && \
741
753
rm -f $< +
742
754
743
755
# These can record GIT_VERSION
@@ -747,25 +759,25 @@ git$X git.spec \
747
759
: GIT-VERSION-FILE
748
760
749
761
% .o : % .c GIT-CFLAGS
750
- $(CC ) -o $* .o -c $(ALL_CFLAGS ) $<
762
+ $(QUIET_CC )$( CC ) -o $* .o -c $(ALL_CFLAGS ) $<
751
763
% .o : % .S
752
- $(CC ) -o $* .o -c $(ALL_CFLAGS ) $<
764
+ $(QUIET_CC )$( CC ) -o $* .o -c $(ALL_CFLAGS ) $<
753
765
754
766
exec_cmd.o : exec_cmd.c GIT-CFLAGS
755
- $(CC ) -o $* .o -c $(ALL_CFLAGS ) ' -DGIT_EXEC_PATH="$(gitexecdir_SQ)"' $<
767
+ $(QUIET_CC )$( CC ) -o $* .o -c $(ALL_CFLAGS ) ' -DGIT_EXEC_PATH="$(gitexecdir_SQ)"' $<
756
768
builtin-init-db.o : builtin-init-db.c GIT-CFLAGS
757
- $(CC ) -o $* .o -c $(ALL_CFLAGS ) -DDEFAULT_GIT_TEMPLATE_DIR=' "$(template_dir_SQ)"' $<
769
+ $(QUIET_CC )$( CC ) -o $* .o -c $(ALL_CFLAGS ) -DDEFAULT_GIT_TEMPLATE_DIR=' "$(template_dir_SQ)"' $<
758
770
759
771
http.o : http.c GIT-CFLAGS
760
- $(CC ) -o $* .o -c $(ALL_CFLAGS ) -DGIT_USER_AGENT=' "git/$(GIT_VERSION)"' $<
772
+ $(QUIET_CC )$( CC ) -o $* .o -c $(ALL_CFLAGS ) -DGIT_USER_AGENT=' "git/$(GIT_VERSION)"' $<
761
773
762
774
ifdef NO_EXPAT
763
775
http-fetch.o : http-fetch.c http.h GIT-CFLAGS
764
- $(CC ) -o $* .o -c $(ALL_CFLAGS ) -DNO_EXPAT $<
776
+ $(QUIET_CC )$( CC ) -o $* .o -c $(ALL_CFLAGS ) -DNO_EXPAT $<
765
777
endif
766
778
767
779
git-% $X : % .o $(GITLIBS )
768
- $(CC ) $(ALL_CFLAGS ) -o $@ $(ALL_LDFLAGS ) $(filter % .o,$^ ) $(LIBS )
780
+ $(QUIET_LINK )$( CC ) $(ALL_CFLAGS ) -o $@ $(ALL_LDFLAGS ) $(filter % .o,$^ ) $(LIBS )
769
781
770
782
ssh-pull.o : ssh-fetch.c
771
783
ssh-push.o : ssh-upload.c
@@ -779,27 +791,27 @@ git-imap-send$X: imap-send.o $(LIB_FILE)
779
791
780
792
http.o http-fetch.o http-push.o : http.h
781
793
git-http-fetch$X : fetch.o http.o http-fetch.o $(GITLIBS )
782
- $(CC ) $(ALL_CFLAGS ) -o $@ $(ALL_LDFLAGS ) $(filter % .o,$^ ) \
794
+ $(QUIET_LINK )$( CC ) $(ALL_CFLAGS ) -o $@ $(ALL_LDFLAGS ) $(filter % .o,$^ ) \
783
795
$(LIBS ) $(CURL_LIBCURL ) $(EXPAT_LIBEXPAT )
784
796
785
797
git-http-push$X : revision.o http.o http-push.o $(GITLIBS )
786
- $(CC ) $(ALL_CFLAGS ) -o $@ $(ALL_LDFLAGS ) $(filter % .o,$^ ) \
798
+ $(QUIET_LINK )$( CC ) $(ALL_CFLAGS ) -o $@ $(ALL_LDFLAGS ) $(filter % .o,$^ ) \
787
799
$(LIBS ) $(CURL_LIBCURL ) $(EXPAT_LIBEXPAT )
788
800
789
801
$(LIB_OBJS ) $(BUILTIN_OBJS ) fetch.o : $(LIB_H )
790
802
$(patsubst git-% $X,% .o,$(PROGRAMS ) ) : $(LIB_H ) $(wildcard * /* .h)
791
803
$(DIFF_OBJS ) : diffcore.h
792
804
793
805
$(LIB_FILE ) : $(LIB_OBJS )
794
- rm -f $@ && $(AR ) rcs $@ $(LIB_OBJS )
806
+ $( QUIET_AR ) rm -f $@ && $(AR ) rcs $@ $(LIB_OBJS )
795
807
796
808
XDIFF_OBJS =xdiff/xdiffi.o xdiff/xprepare.o xdiff/xutils.o xdiff/xemit.o \
797
809
xdiff/xmerge.o
798
810
$(XDIFF_OBJS ) : xdiff/xinclude.h xdiff/xmacros.h xdiff/xdiff.h xdiff/xtypes.h \
799
811
xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
800
812
801
813
$(XDIFF_LIB ) : $(XDIFF_OBJS )
802
- rm -f $@ && $(AR ) rcs $@ $(XDIFF_OBJS )
814
+ $( QUIET_AR ) rm -f $@ && $(AR ) rcs $@ $(XDIFF_OBJS )
803
815
804
816
805
817
perl/Makefile : perl/Git.pm perl/Makefile.PL GIT-CFLAGS
0 commit comments