# System utilities
CC=cc
CFLAGS=-Iinclude/ -Ilib/ -g -Wall -Wextra -Wpedantic
RM=rm -f

PROGRAMS= \
	alsa-plugins-nice alsa-utils \
	anki audacious \
	curl wget \
	dvdbackup ffmpeg mpv \
	vlc \
	awk nawk sed moreutils \
	ed vim \
	feh ffmpeg imagemagick \
	gcc \
	git mercurial \
	gparted \
	gperf gwenview \
	htop powertop \
	inetutils iptables k3b \
	kate kdenlive krita \
	lame linux-headers lynx \
	macchanger make \
	man-pages man-pages-posix \
	moc \
	net-tools \
	nmap p7zip pkgfile \
	progress \
	pulseaudio pulseaudio-alsa pulseaudio-utils \
	pulsemixer \
	python3 qbittorrent qemu \
	rsync s-tui \
	screen tmux twin \
	scrot sed smartmontools \
	thunar thunderbird \
	ttf-liberation tlp \
	units \
	unrar unzip \
	util-linux \
	virt-manager \
	wireguard-tools \
	xclip \
	xf86-input-libinput xf86-input-wacom xf86-video-intel \
	xscreensaver xterm \
	zathura zathura-cb zathura-djvu \
	zathura-ps

.PHONY: alpine-programs
alpine-programs:
	apk add $(PROGRAMS)

.PHONY: arch-yay
arch-yay:
	git clone "https://aur.archlinux.org/yay.git" || true
	cd yay
	git pull
	makepkg -si
	yay -V

.PHONY: audacious-skins
audacious-skins:
	curl https://archive.org/download/winampskin_Sailor_Moon_Gang/Sailor_Moon_Gang.wsz -o /usr/share/audacious/Skins/Sailor_Moon_Gang.wsz

# i made this script to fetch icons for my grandmother and put them in icons/
# so i wouldn't have to fetch the icons for her desktop when i made her a new
# system.
# i could have downloaded all the icons and put them into a repo for her but
# this uses less space
grammy-icons: dist/grammy/989wclz.com.png dist/grammy/amazon.com.ico \
dist/grammy/bangordailynews.com.png dist/grammy/theguardian.com.png \
dist/grammy/centralmaine.com.png dist/grammy/dictionary.com.png \
dist/grammy/google.com.jpg dist/grammy/longfellowsgreenhouses.com.jpg \
dist/grammy/mainepublic.org.png dist/grammy/news.google.com.png \
dist/grammy/newscentermaine.com.png dist/grammy/pressherald.com.png \
dist/grammy/weather.com.png

dist/grammy:
	mkdir -p dist/grammy/
# all these icons are on the internet archive so if the local sites change
# they'll still be available
dist/grammy/989wclz.com.png: dist/grammy
	curl -o "dist/grammy/989wclz.com.png" "https://web.archive.org/web/20200629174002if_/https://989wclz.com/wp-content/themes/wclz/img/touch-icon-144.png"
dist/grammy/amazon.com.ico: dist/grammy
	curl -o "dist/grammy/amazon.com.ico" "https://web.archive.org/web/20200718050400if_/https://www.amazon.com/favicon.ico"
dist/grammy/bangordailynews.com.png: dist/grammy
	curl -o "dist/grammy/bangordailynews.com.png" "http://web.archive.org/web/20200721195123if_/https://i0.wp.com/bdn-data.s3.amazonaws.com/uploads/2020/06/BDN-logo_green-3-1.png"
dist/grammy/theguardian.com.png: dist/grammy
	curl -o "dist/grammy/theguardian.com.png" "https://web.archive.org/web/20200720041457if_/https://assets.guim.co.uk/images/favicons/fee5e2d638d1c35f6d501fa397e53329/152x152.png"
dist/grammy/centralmaine.com.png: dist/grammy
	curl -o "dist/grammy/centralmaine.com.png" "https://web.archive.org/web/20200720023956if_/https://multifiles.pressherald.com/uploads/sites/2/2014/06/apple-touch-icon-iphone-retina-display.png"
dist/grammy/dictionary.com.png: dist/grammy
	curl -o "dist/grammy/dictionary.com.png" "https://web.archive.org/web/20200719135458if_/https://www.dictionary.com/hp-assets/dcom_favicon-1bff2f1b49c077ed504e55c3649f2a4b.png"
dist/grammy/google.com.jpg: dist/grammy
	curl -o "dist/grammy/google.com.jpg" "https://web.archive.org/web/20170621105937if_/https://yt3.ggpht.com/-v0soe-ievYE/AAAAAAAAAAI/AAAAAAAAAAA/OixOH_h84Po/s900-c-k-no/photo.jpg"
dist/grammy/longfellowsgreenhouses.com.jpg: dist/grammy
	curl -o "dist/grammy/longfellowsgreenhouses.com.jpg" "https://web.archive.org/web/20200718173559im_/https://longfellowsgreenhouses.com/wp-content/uploads/2020/03/Longfellows-Logo-Light-Green.jpg"
dist/grammy/mainepublic.org.png: dist/grammy
	curl -o "dist/grammy/mainepublic.org.png" "https://d3kle7qwymxpcy.cloudfront.net/images/broadcasts/e5/8e/30457/1/c300.png"
dist/grammy/news.google.com.png: dist/grammy
	curl -o "dist/grammy/news.google.com.png" "https://upload.wikimedia.org/wikipedia/commons/0/0b/Google_News_icon.png"
dist/grammy/newscentermaine.com.png: dist/grammy
	curl -o "dist/grammy/newscentermaine.com.png" "https://web.archive.org/web/20200721190548if_/https://www.newscentermaine.com/assets/favicons/WCSH.png?ver=2.4.7.4"
dist/grammy/pressherald.com.png: dist/grammy
	curl -o "dist/grammy/pressherald.com.png" "https://multifiles.pressherald.com/uploads/sites/4/2014/06/apple-touch-icon-iphone-retina-display.png"
dist/grammy/weather.com.png: dist/grammy
	curl -o "dist/grammy/weather.com.png" "https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/The_Weather_Channel_logo_2005-present.svg/1200px-The_Weather_Channel_logo_2005-present.svg.png"

# nmap 7.80 is the last Free nmap release
.PHONY: nmap
nmap:
	mkdir -p /usr/local/src/nmap-7.80
	curl "https://nmap.org/dist/nmap-7.80.tar.bz2" | bzip2 -cd | tar x -C /usr/local/src/nmap-7.80
	cd /usr/local/src/nmap-7.80; ./configure
	$(MAKE) -C /usr/local/src/nmap-7.80

.PHONY: spacer
spacer: dist/spacer.bin

dist/spacer.bin:
	# creates an 8GB empty file
	# that way when the alarm bells go off you can delete it to save a
	# couple minutes before the system really runs out of disk
	#
	#     512     * 16777216 = 8GB
	dd bs=512 count=16777216 </dev/zero >dist/spacer.bin

.PHONY: unscii-pkgsrc
unscii-pkgsrc:
	$(MAKE) -C /usr/pkgsrc/fonts/unscii install clean clean-depends
