# System utilities CC=cc CFLAGS=-Iinclude/ -Ilib/ -g -Wall RM=rm -f all: libraries programs cleanall: clean cleanlibraries cleanprograms clean: $(RM) src/*.o cleanlibraries: $(RM) lib/libshell.o $(RM) lib/libstr.o cleanprograms: $(RM) bin/add $(RM) bin/cut $(RM) bin/echo $(RM) bin/eq $(RM) bin/false $(RM) bin/fdivide $(RM) bin/gt $(RM) bin/lowercase $(RM) bin/lt $(RM) bin/mm $(RM) bin/multiply $(RM) bin/nonzero $(RM) bin/simexec $(RM) bin/sleep $(RM) bin/streq $(RM) bin/str $(RM) bin/substitute $(RM) bin/tail libraries: libio libshell stdbool sysexits libio: lib/libio.c $(CC) $(CFLAGS) -c -o build/libio.o lib/libio.c libshell: lib/libshell.c lib/libshell.h $(CC) $(CFLAGS) -o lib/libshell.o -c lib/libshell.c libstr: lib/libstr.c lib/libstr.h $(CC) $(CFLAGS) -o lib/libstr.o -c lib/libstr.c stdbool: include/stdbool.h sysexits_bin: src/sysexits.c $(CC) $(CFLAGS) -o bin/sysexits src/sysexits.c sysexits: sysexits_bin bin/sysexits >include/sysexits.h programs: echo false id lowercase nonzero simexec sleep streq str calculate: libstr sysexits src/calculate.c $(CC) $(CFLAGS) -o src/calculate.o -c src/calculate.c $(CC) $(CFLAGS) -o bin/calculate lib/libstr.o src/calculate.o echo: sysexits src/echo.c $(CC) $(CFLAGS) -o bin/echo src/echo.c false: src/false.c $(CC) $(CFLAGS) -o bin/false src/false.c id: stdbool sysexits src/id.c $(CC) $(CFLAGS) -o bin/id src/id.c levenshtein: src/levenshtein.c $(CC) $(CFLAGS) -o bin/levenshtein src/levenshtein.c lowercase: sysexits src/lowercase.c $(CC) $(CFLAGS) -o bin/lowercase src/lowercase.c nonzero: src/nonzero.c $(CC) $(CFLAGS) -o bin/nonzero src/nonzero.c nutshell: src/nutshell.c src/nutshell.h src/nutshell_builtins.c $(CC) $(CFLAGS) -o bin/nutshell src/nutshell.c roll.o: lib/libio.h src/roll.c sysexits $(CC) $(CFLAGS) -c -o build/roll.o src/roll.c roll: libio sysexits roll.o $(CC) $(CFLAGS) -o bin/roll build/libio.o build/roll.o runlength: sysexits src/runlength.c usefulmacros $(CC) $(CFLAGS) -o bin/runlength src/runlength.c simexec.o: libio sysexits src/simexec.c $(CC) $(CFLAGS) -c -o build/simexec.o src/simexec.c simexec: libio simexec.o $(CC) $(CFLAGS) -o bin/simexec build/libio.o build/simexec.o streq.o: libio sysexits src/streq.c $(CC) $(CFLAGS) -c -o build/streq.o src/streq.c streq: libio streq.o $(CC) $(CFLAGS) -o bin/streq build/libio.o build/streq.o str.o: src/str.c $(CC) $(CFLAGS) -o build/str.o src/str.c str: libio str.o $(CC) $(CFLAGS) -o bin/str lib/libio.o src/str.o sleep.o: libio sysexits src/sleep.c usefulmacros $(CC) $(CFLAGS) -c -o build/sleep.o src/sleep.c sleep: libio sleep.o $(CC) $(CFLAGS) -o bin/sleep build/libio.o build/sleep.o substitute: stdbool src/substitute.c $(CC) $(CFLAGS) -c -o src/substitute.o src/substitute.c $(CC) $(CFLAGS) -o bin/substitute src/substitute.o usefulmacros: include/usefulmacros.h which: libshell src/which.c $(CC) $(CFLAGS) -c -o src/which.o src/which.c $(CC) $(CFLAGS) -o bin/which lib/libshell.o src/which.o # Convenience 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 alpine-programs: apk add $(PROGRAMS) arch-doas: cd dist/doas-sudo makepkg -si arch-yay: git clone "https://aur.archlinux.org/yay.git" || true cd yay git pull makepkg -si yay -V 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 # all these icons are on the internet archive so if the local sites change # they'll still be available grammy-icons: mkdir -p "~/Pictures/icons/" cd "~/Pictures/icons/" curl -o "989wclz.com.png" "https://web.archive.org/web/20200629174002if_/https://989wclz.com/wp-content/themes/wclz/img/touch-icon-144.png" curl -o "amazon.com.ico" "https://web.archive.org/web/20200718050400if_/https://www.amazon.com/favicon.ico" curl -o "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" curl -o "theguardian.com.png" "https://web.archive.org/web/20200720041457if_/https://assets.guim.co.uk/images/favicons/fee5e2d638d1c35f6d501fa397e53329/152x152.png" curl -o "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" curl -o "dictionary.com.png" "https://web.archive.org/web/20200719135458if_/https://www.dictionary.com/hp-assets/dcom_favicon-1bff2f1b49c077ed504e55c3649f2a4b.png" curl -o "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" curl -o "longfellowsgreenhouses.com.jpg" "https://web.archive.org/web/20200718173559im_/https://longfellowsgreenhouses.com/wp-content/uploads/2020/03/Longfellows-Logo-Light-Green.jpg" curl -o "mainepublic.org.png" "https://d3kle7qwymxpcy.cloudfront.net/images/broadcasts/e5/8e/30457/1/c300.png" curl -o "news.google.com.png" "https://upload.wikimedia.org/wikipedia/commons/0/0b/Google_News_icon.png" curl -o "newscentermaine.com.png" "https://web.archive.org/web/20200721190548if_/https://www.newscentermaine.com/assets/favicons/WCSH.png?ver=2.4.7.4" curl -o "pressherald.com.png" "https://multifiles.pressherald.com/uploads/sites/4/2014/06/apple-touch-icon-iphone-retina-display.png" curl -o "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 nmap: mkdir -p ~/src cd ~/src curl "https://nmap.org/dist/nmap-7.80.tar.bz2" | bzip2 -cd | tar -x ./configure make spacer: # creates an 8GB empty file in the root dir # 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 /spacer.bin unscii-pkgsrc: cd /usr/pkgsrc/fonts/unscii make install clean clean-depends unscii-system: mkdir -p /usr/share/fonts/unscii curl "http://viznut.fi/unscii/unscii-16-full.otf" >"/usr/share/fonts/unscii/unscii-16-full.otf" curl "http://viznut.fi/unscii/unscii-16-full.pcf" >"/usr/share/fonts/unscii/unscii-16-full.pcf" curl "http://viznut.fi/unscii/unscii-16-full.ttf" >"/usr/share/fonts/unscii/unscii-16-full.ttf" unscii-user: mkdir -p ~/.fonts curl "http://viznut.fi/unscii/unscii-16-full.otf" >"~/.fonts/unscii-16-full.otf" curl "http://viznut.fi/unscii/unscii-16-full.pcf" >"~/.fonts/unscii-16-full.pcf" curl "http://viznut.fi/unscii/unscii-16-full.ttf" >"~/.fonts/unscii-16-full.ttf" .PHONY: all clean cleanlibraries cleanprograms stdbool sysexits usefulmacros