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 |