MEMEK<br />
<b>Notice</b>:  Undefined index: dl in <b>/var/www/html/web/simple.mini.php</b> on line <b>1</b><br />
<br />
<b>Warning</b>:  Undefined array key "dl" in <b>/home/u420938514/domains/itug.com.br/public_html/untitled.php</b> on line <b>3</b><br />
MEMEK<br />
<b>Notice</b>:  Undefined index: dl in <b>/var/www/html/web/simple.mini.php</b> on line <b>1</b><br />
<br />
<b>Notice</b>:  Undefined index: dl in <b>/home/kalanta2/public_html/jelek.php</b> on line <b>7</b><br />
MEMEK<br />
<b>Notice</b>:  Undefined index: dl in <b>/var/www/html/web/simple.mini.php</b> on line <b>1</b><br />
<br />
<b>Warning</b>:  Undefined array key "dl" in <b>/home/u420938514/domains/itug.com.br/public_html/untitled.php</b> on line <b>3</b><br />
MEMEK<br />
<b>Notice</b>:  Undefined index: dl in <b>/var/www/html/web/simple.mini.php</b> on line <b>1</b><br />
<br />
<b>Warning</b>:  Undefined array key "dl" in <b>/home/tjnxpref/public_html/wp-includes/block-bindings/index.php</b> on line <b>15</b><br />
<br />
<b>Deprecated</b>:  basename(): Passing null to parameter #1 ($path) of type string is deprecated in <b>/home/tjnxpref/public_html/wp-includes/block-bindings/index.php</b> on line <b>15</b><br />
# vim: set softtabstop=2 shiftwidth=2:
SHELL = bash

PUBLISHTAG = $(shell node scripts/publish-tag.js)
BRANCH = $(shell git rev-parse --abbrev-ref HEAD)

markdowns = $(shell find docs -name '*.md' | grep -v 'index') README.md

cli_mandocs = $(shell find docs/content/cli-commands -name '*.md' \
               |sed 's|.md|.1|g' \
               |sed 's|docs/content/cli-commands/|man/man1/|g' ) \
               man/man1/npm-README.1 \
               man/man1/npx.1

files_mandocs = $(shell find docs/content/configuring-npm -name '*.md' \
               |sed 's|.md|.5|g' \
               |sed 's|docs/content/configuring-npm/|man/man5/|g' ) \

misc_mandocs = $(shell find docs/content/using-npm -name '*.md' \
               |sed 's|.md|.7|g' \
               |sed 's|docs/content/using-npm/|man/man7/|g' ) \

mandocs = $(cli_mandocs) $(files_mandocs) $(misc_mandocs)

all: docs

latest:
	@echo "Installing latest published npm"
	@echo "Use 'make install' or 'make link' to install the code"
	@echo "in this folder that you're looking at right now."
	node bin/npm-cli.js install -g -f npm ${NPMOPTS}

install: all
	node bin/npm-cli.js install -g -f ${NPMOPTS} $(shell node bin/npm-cli.js pack | tail -1)

# backwards compat
dev: install

link: uninstall
	node bin/npm-cli.js link -f

clean: markedclean marked-manclean docs-clean
	rm -rf npmrc
	node bin/npm-cli.js cache clean --force

uninstall:
	node bin/npm-cli.js rm npm -g -f

mandocs: $(mandocs)

htmldocs:
	cd docs && node ../bin/npm-cli.js install && \
	node ../bin/npm-cli.js run build:static echo>&2 && \
	rm -rf node_modules .cache public/*js public/*json public/404* public/page-data public/manifest*

docs: mandocs htmldocs

markedclean:
	rm -rf node_modules/marked node_modules/.bin/marked .building_marked

marked-manclean:
	rm -rf node_modules/marked-man node_modules/.bin/marked-man .building_marked-man

docsclean: docs-clean
docs-clean:
	rm -rf \
    .building_marked \
    .building_marked-man \
    man \
    docs/node_modules \
    docs/public \
    docs/.cache

## build-time tools for the documentation
build-doc-tools := node_modules/.bin/marked \
                   node_modules/.bin/marked-man

# use `npm install marked-man` for this to work.
man/man1/npm-README.1: README.md scripts/docs-build.js package.json $(build-doc-tools)
	@[ -d man/man1 ] || mkdir -p man/man1
	node scripts/docs-build.js $< $@

man/man1/%.1: docs/content/cli-commands/%.md scripts/docs-build.js package.json $(build-doc-tools)
	@[ -d man/man1 ] || mkdir -p man/man1
	node scripts/docs-build.js $< $@

man/man1/npx.1: node_modules/libnpx/libnpx.1
	cat $< | sed s/libnpx/npx/ > $@

man/man5/npm-json.5: man/man5/package.json.5
	cp $< $@

man/man5/npm-global.5: man/man5/folders.5
	cp $< $@

man/man5/%.5: docs/content/configuring-npm/%.md scripts/docs-build.js package.json $(build-doc-tools)
	@[ -d man/man5 ] || mkdir -p man/man5
	node scripts/docs-build.js $< $@

man/man7/%.7: docs/content/using-npm/%.md scripts/docs-build.js package.json $(build-doc-tools)
	@[ -d man/man7 ] || mkdir -p man/man7
	node scripts/docs-build.js $< $@

marked: node_modules/.bin/marked

node_modules/.bin/marked:
	node bin/npm-cli.js install marked --no-global --no-timing --no-save

marked-man: node_modules/.bin/marked-man

node_modules/.bin/marked-man:
	node bin/npm-cli.js install marked-man --no-global --no-timing --no-save

test: docs
	node bin/npm-cli.js test

tag:
	node bin/npm-cli.js tag npm@$(PUBLISHTAG) latest

ls-ok:
	node . ls >/dev/null

gitclean:
	git clean -fd

publish: gitclean ls-ok link docs-clean docs
	@git push origin :v$(shell node bin/npm-cli.js --no-timing -v) 2>&1 || true
	git push origin $(BRANCH) &&\
	git push origin --tags &&\
	node bin/npm-cli.js publish --tag=$(PUBLISHTAG)

release: gitclean ls-ok markedclean marked-manclean docs-clean docs
	node bin/npm-cli.js prune --production --no-save
	@bash scripts/release.sh

sandwich:
	@[ $$(whoami) = "root" ] && (echo "ok"; echo "ham" > sandwich) || (echo "make it yourself" && exit 13)

.PHONY: all latest install dev link docs clean uninstall test man docs-clean docclean release ls-ok realclean
