common/makefiles/JavaCompilation.gmk

changeset 971
584dc2e95e04
parent 751
e5cf1735638c
child 972
f3697e0783e2
     1.1 --- a/common/makefiles/JavaCompilation.gmk	Thu Sep 05 10:58:25 2013 -0700
     1.2 +++ b/common/makefiles/JavaCompilation.gmk	Thu Sep 12 12:29:17 2013 -0700
     1.3 @@ -163,11 +163,12 @@
     1.4  
     1.5      # The capture contents macro finds all files (matching the patterns, typically
     1.6      # .class and .prp) that are newer than the jar-file, ie the new content to be put into the jar.
     1.7 +    # NOTICE: please leave the parentheses space separated otherwise the AIX build will break!
     1.8      $1_CAPTURE_CONTENTS=$$(foreach src,$$($1_SRCS),\
     1.9 -                   (($(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) -a -newer $$@ $$($1_GREP_INCLUDES) \
    1.10 +                   ( ( $(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) -a -newer $$@ $$($1_GREP_INCLUDES) \
    1.11                         $$($1_GREP_EXCLUDES) | $(SED) 's|$$(src)/||g' &&\
    1.12 -                       $(ECHO) $$(subst $$(src)/,,$$($1_EXTRA_FILES))) > \
    1.13 -                       $$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE))
    1.14 +                       $(ECHO) $$(subst $$(src)/,,$$($1_EXTRA_FILES) ) ) > \
    1.15 +                       $$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE) )
    1.16      # The capture metainf macro finds all files below the META-INF directory that are newer than the jar-file.
    1.17      ifeq (,$$($1_SKIP_METAINF))
    1.18          $1_CAPTURE_METAINF =$$(foreach src,$$($1_SRCS),($(FIND) $$(src)/META-INF -type f -a -newer $$@ 2> /dev/null | $(SED) 's|$$(src)/||g' >> $$(src)/_the.$$($1_JARNAME)_contents ) $$(NEWLINE))
    1.19 @@ -176,19 +177,20 @@
    1.20      # tells us what to remove from the jar-file.
    1.21      $1_CAPTURE_DELETES=$$(foreach src,$$($1_SRCS),($(FIND) $$(src) -name _the.package.deleted -newer $$@ -exec $(SED) 's|$$(src)||g' \{\} >> $$($1_DELETES_FILE) \;) $$(NEWLINE))
    1.22      # The update contents macro updates the jar file with the previously capture contents.
    1.23 -    # xargs is used to trim the whitespace from the contents file, to see if it is empty.
    1.24 +    # Use 'wc -w' to see if the contents file is empty.
    1.25      $1_UPDATE_CONTENTS=$$(foreach src,$$($1_SRCS),\
    1.26                      (cd $$(src) && \
    1.27 -                     if [ -n "`$(CAT) _the.$$($1_JARNAME)_contents | $(XARGS)`" ]; then \
    1.28 +                     if [ "`$(WC) -w _the.$$($1_JARNAME)_contents | $(AWK) '{ print $$$$1 }'`" -gt "0" ]; then \
    1.29                           $(ECHO) "  updating" `$(WC) -l _the.$$($1_JARNAME)_contents | $(AWK) '{ print $$$$1 }'` files && \
    1.30                           $(JAR) $$($1_JAR_UPDATE_OPTIONS) $$@ @_the.$$($1_JARNAME)_contents; \
    1.31                       fi) $$(NEWLINE))
    1.32      # The s-variants of the above macros are used when the jar is created from scratch.
    1.33 +    # NOTICE: please leave the parentheses space separated otherwise the AIX build will break!
    1.34      $1_SCAPTURE_CONTENTS=$$(foreach src,$$($1_SRCS),\
    1.35 -                    (($(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) $$($1_GREP_INCLUDES) \
    1.36 +                    ( ( $(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) $$($1_GREP_INCLUDES) \
    1.37  			$$($1_GREP_EXCLUDES) | $(SED) 's|$$(src)/||g' &&\
    1.38 -			$$(subst $$(src)/,,$(ECHO) $$($1_EXTRA_FILES))) > \
    1.39 -			$$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE))
    1.40 +			$$(subst $$(src)/,,$(ECHO) $$($1_EXTRA_FILES) ) ) > \
    1.41 +			$$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE) )
    1.42  
    1.43      ifeq (,$$($1_SKIP_METAINF))
    1.44          $1_SCAPTURE_METAINF=$$(foreach src,$$($1_SRCS),\

mercurial