cgi-test: Makefile

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}

previous up next


© 1999 Gottfried Rudorfer, C++-AG, Lehrveranstaltungen, Abteilung für Angewandte Informatik, Wirtschaftsuniversität Wien, 1/25/1999