Achtung: Zeilensprünge am Anfang einer Zeile dürfen nur aus Tabs und nicht aus Spaces bestehen.
Mit make install
kann das Programm übersetzt und installiert werden.
Die Installation ruft auch den Befehl chmod 4711
auf, d.h. das Programm
wir mit dem Set-User-ID Bit installiert. Da der WEB-Server unter dem Benutzer
studwww
läuft und der WEB-Server das CGI-Programm ausführt, würden alle
vom Programm erzeugten Dateien dem Benuzter studwww
gehören.
Das Set-User-ID Bit sorgt jedoch dafür, daß das Programm unter dem Benutzer
des Eigentümers dieser Datei läuft. Das CGI-Programm läuft also mit den
Rechnten Ihrer Kennung.
# defines CC=g++ CXX= $(CC) CFLAGS=-O -Wall CXXFLAGS=$(CFLAGS) LIBS= BIN=cgi-test BINDIR=/net/logins/usercgi # Programs SRC= ReadParse.cc \ ${BIN}.cc OBJS= ReadParse.o \ ${BIN}.o all: ${BIN} @echo "Now type make install" clean: -@rm -r *.o *.dat *~ *.bak ${BIN} cxx_repository 2> /dev/null @echo "The filesystem thanks you for your kindness" test: @if [ "" = "${USER}" ]; \ then \ echo "Sie müssen zuerst die Umgebungsvariable USER setzen!"; \ fi; install: test ${BIN} @if [ ! -d ${BINDIR} ]; \ then \ echo "Erzeuge Verzeichnis ${BINDIR}..."; \ mkdir -p ${BINDIR}; \ fi; \ cp -p ${BIN} ${BINDIR}/${BIN}.${USER} && \ chmod 4711 ${BINDIR}/${BIN}.${USER} && \ echo "Die Programm-Datei wurde in das Verzeichnis ${BINDIR} kopiert." && \ echo "Über http://${HOSTNAME}:81/cgi-bin/${BIN}.${USER}" && \ echo "kann nun das Programm aufgerufen werden."\ # dependencies ReadParse.o: ReadParse.cc ReadParse.h ${BIN}.o: ReadParse.h ReadParse.cc ${BIN}.cc # linking ${BIN}: ${OBJS} ${SRC} ${CC} ${CFLAGS} ${OBJS} -o ${BIN} ${LIBS}
© 1999 Gottfried Rudorfer, C++-AG, Lehrveranstaltungen, Abteilung für Angewandte Informatik, Wirtschaftsuniversität Wien, 1/25/1999 |