CC=cc CCOPT= -Wall -Wpedantic #CCOPT= -Wall -Wpedantic -DDEBUG CGIBIN=/var/www/cgi-bin/ TOOLSRC=/var/www/toolsrc/ LOCALINC=/usr/local/include LOCALLIB=/usr/local/lib all: cgis1 cgis2 permset cgis1: prmcgi chkdigit colschem colcooky umlaut cores shunicod vizhoriz degmapgu cgis2: cgi-grep scrsvcss logtourl fmtd2sec rndmview dstqview siworin 19782047 sesamip prmcgi: $(CGIBIN)prmcgi.cgi chkdigit: $(CGIBIN)chkdigit.cgi colschem: $(CGIBIN)colschem.cgi colcooky: $(CGIBIN)colcooky.cgi umlaut: $(CGIBIN)umlaut.cgi cores: $(CGIBIN)cores.cgi shunicod: $(CGIBIN)shunicod.cgi vizhoriz: $(CGIBIN)vizhoriz.cgi degmapgu: $(CGIBIN)degmapgu.cgi cgi-grep: $(CGIBIN)cgi-grep.cgi scrsvcss: $(CGIBIN)scrsvcss.cgi logtourl: $(CGIBIN)lstviewd/logtourl.cgi fmtd2sec: $(CGIBIN)lstviewd/fmtd2sec.cgi rndmview: $(CGIBIN)rndmview.cgi dstqview: $(CGIBIN)dstqview.cgi 19782047: $(CGIBIN)19782047.cgi sesamip: $(CGIBIN)sesamip.cgi $(CGIBIN)prmcgi.cgi: prmcgi/prmcgi.c $(CC) $(CCOPT) prmcgi/prmcgi.c -lm mv a.out $(CGIBIN)prmcgi.cgi $(CGIBIN)chkdigit.cgi: chkdigit/chkdigit.c cgitools/cgitools.c $(CC) $(CCOPT) chkdigit/chkdigit.c cgitools/cgitools.c mv a.out $(CGIBIN)chkdigit.cgi $(CGIBIN)colschem.cgi: colschem/colschem.c cgitools/cgitools.c $(CC) $(CCOPT) colschem/colschem.c cgitools/cgitools.c mv a.out $(CGIBIN)colschem.cgi $(CGIBIN)colcooky.cgi: colschem/colcooky.c cgitools/cgitools.c $(CC) $(CCOPT) colschem/colcooky.c cgitools/cgitools.c mv a.out $(CGIBIN)colcooky.cgi $(CGIBIN)umlaut.cgi: umlaut/umlaut.c umlaut/ae-acc.c cgitools/cgitools.c $(CC) $(CCOPT) umlaut/umlaut.c umlaut/ae-acc.c cgitools/cgitools.c mv a.out $(CGIBIN)umlaut.cgi $(CGIBIN)cores.cgi: cores/cores.c cgitools/cgitools.c $(CC) $(CCOPT) cores/cores.c cgitools/cgitools.c mv a.out $(CGIBIN)cores.cgi $(CGIBIN)shunicod.cgi: shunicod/shunicod.c cgitools/cgitools.c utftools/utftools.c $(CC) $(CCOPT) shunicod/shunicod.c cgitools/cgitools.c utftools/utftools.c mv a.out $(CGIBIN)shunicod.cgi $(CGIBIN)vizhoriz.cgi: vizhoriz/vizhoriz.c cgitools/cgitools.c $(CC) $(CCOPT) vizhoriz/vizhoriz.c cgitools/cgitools.c -lm mv a.out $(CGIBIN)vizhoriz.cgi $(CGIBIN)degmapgu.cgi: degmapgu/degmapgu.c cgitools/cgitools.c $(CC) $(CCOPT) degmapgu/degmapgu.c cgitools/cgitools.c -lm mv a.out $(CGIBIN)degmapgu.cgi $(CGIBIN)cgi-grep.cgi: cgi-grep/cgi-grep.c cgitools/cgitools.c $(CC) $(CCOPT) cgi-grep/cgi-grep.c cgitools/cgitools.c mv a.out $(CGIBIN)cgi-grep.cgi $(CGIBIN)scrsvcss.cgi: scrsvcss/scrsvcss.c $(CC) $(CCOPT) -Wno-format-security scrsvcss/scrsvcss.c mv a.out $(CGIBIN)scrsvcss.cgi $(CGIBIN)lstviewd/logtourl.cgi: logtourl/logtourl.c $(CC) $(CCOPT) logtourl/logtourl.c mv a.out $(CGIBIN)lstviewd/logtourl.cgi $(CGIBIN)lstviewd/fmtd2sec.cgi: logtourl/fmtd2sec.c $(CC) $(CCOPT) logtourl/fmtd2sec.c mv a.out $(CGIBIN)lstviewd/fmtd2sec.cgi $(CGIBIN)rndmview.cgi: rndmview/rndmview.c cgitools/cgitools.c fstrfind/fstrfind.c $(CC) $(CCOPT) rndmview/rndmview.c cgitools/cgitools.c fstrfind/fstrfind.c mv a.out $(CGIBIN)rndmview.cgi $(CGIBIN)dstqview.cgi: dstqview/dstqview.c cgitools/cgitools.c fstrfind/fstrfind.c $(CC) $(CCOPT) dstqview/dstqview.c cgitools/cgitools.c fstrfind/fstrfind.c mv a.out $(CGIBIN)dstqview.cgi siworin: $(CGI-BIN)s.cgi $(CGI-BIN)s.cgi: (cd $(TOOLSRC)siworin; make) # For checking US copyright of posthumous works, see # https://rudhar.com/writings/Pessoa/HoraDiab/tradh7ia.htm and # https://rudhar.com/writings/Pessoa/HoraDiab/tradh7ia.htm#MesurasTechnic # # 23 Nov 2025: now without maxmind.com, see https://rudhar.com/sfreview/IP2cntry.htm #MAXMIND_NEEDS=$(LOCALINC)/maxminddb.h $(LOCALINC)/maxminddb_config.h $(LOCALLIB)/libmaxminddb.so #$(CGIBIN)19782047.cgi: 19782047/19782047.c cgitools/cgitools.c cgitools/IP2cntr.c $(MAXMIND_NEEDS) # $(CC) $(CCOPT) -I$(LOCALINC) 19782047/19782047.c cgitools/cgitools.c cgitools/IP2cntr.c -lmaxminddb # mv a.out $(CGIBIN)19782047.cgi #$(MAXMIND_NEEDS): # ./maxminddb-myinstall.sh $(CGIBIN)19782047.cgi: 19782047/19782047.c cgitools/cgitools.c cgitools/IP2cntr.c $(CC) $(CCOPT) -I$(LOCALINC) 19782047/19782047.c cgitools/cgitools.c cgitools/IP2cntr.c mv a.out $(CGIBIN)19782047.cgi $(CGIBIN)sesamip.cgi: sesamip/sesamip.c cgitools/cgitools.c /usr/lib/x86_64-linux-gnu/libmd.so $(CC) $(CCOPT) sesamip/sesamip.c cgitools/cgitools.c -lmd mv -f a.out $(CGIBIN)sesamip.cgi /usr/lib/x86_64-linux-gnu/libmd.so: if grep -iwqs alpine /etc/os-release; \ then \ sudo apk add libmd-dev; \ else \ sudo apt-get -y install libmd-dev;\ fi permset: chmod 750 ./*.sh # Permissions and owner-group must be set right so the website can # function properly and safely. ./various-perms-groups.sh # Error message file must pre-exist, and be writable by nginx's group. ./cgi-chmod-errfiles.sh # cgi-grep.cgi accesses its dictionary data files via symbolic links, which # have a trailing space in the name, so the egrep that cgi-grep.cgi calls can # show the origin of displayed results with intuitive names. ./cgi-grep-symlinks.sh # Set things right for firewall nftables ./firewall-setup.sh # End of target permset