pkgsrc/lang/ruby/replace.mk
rillig b71a1d488b Fixed pkglint warnings. The warnings are mostly quoting issues, for
example MAKE_ENV+=FOO=${BAR} is changed to MAKE_ENV+=FOO=${BAR:Q}. Some
other changes are outlined in

    http://mail-index.netbsd.org/tech-pkg/2005/12/02/0034.html
2005-12-05 20:49:47 +00:00

50 lines
1.3 KiB
Makefile

# $NetBSD: replace.mk,v 1.3 2005/12/05 20:50:27 rillig Exp $
#
.if !defined(_RUBY_REPLACE_MK)
_RUBY_REPLACE_MK= # defined
# fix shebang line.
#
# REPLACE_RUBY replace shebang line of specified files.
#
REPLACE_FILE_PAT?= *.rb
.if defined(REPLACE_RUBY)
REPLACE_INTERPRETER+= ${RUBY_NAME}
_REPLACE.${RUBY_NAME}.old= .*/ruby
_REPLACE.${RUBY_NAME}.new= ${RUBY}
_REPLACE_FILES.${RUBY_NAME}= ${REPLACE_RUBY}
.endif # defined(REPLACE_RUBY)
# REPLACE_RUBY_DIRS replace shebang line of files under specified
# directories.
# REPLACE_FILE_PAT specify pattern to match target files under
# REPLACE_RUBY_DIRS directories.
#
.if defined(REPLACE_RUBY_DIRS) && !empty(REPLACE_RUBY_DIRS)
pre-configure: replace-ruby-dirs
.for f in ${REPLACE_FILE_PAT}
_REPLACE_FILE_PAT+= -o -name "${f}"
.endfor
_REPLACE_FILE_FIND_ARGS=\( ${_REPLACE_FILE_PAT:S/-o//1} \)
replace-ruby-dirs:
${_PKG_SILENT}${_PKG_DEBUG}${FIND} ${REPLACE_RUBY_DIRS} \
-type f ${_REPLACE_FILE_FIND_ARGS} -print | \
while read f; do \
${SED} -e '1s| *[a-z0-9_/\.-][a-z0-9_/\.-]*/env *||g' \
-e '1s| *[a-z0-9_/\.-]*ruby|${RUBY}|' $$f > $$f.tmp; \
if ${CMP} -s $$f $$f.tmp; then \
${RM} $$f.tmp; \
else \
${MV} $$f.tmp $$f; \
fi; \
done
.else
replace-ruby-dirs:
.endif # defined(REPLACE_RUBY_DIRS)
.endif # _RUBY_REPLACE_MK