 #
##                      Softwarepraktikum iMaze
##                              1993/94
##                Joerg Czeranski    Hans-Ulrich Kiel
##
## Datei: Makefile
##
## SccsID:
##  @(#)Makefile	1.83 7/16/94
#

# zuerst die systemabhaengigen Anpassungen (unpassendes auskommentieren):

# SunOS 4.1.3, OpenWindows:

GRAF-OBJ=$(XV-OBJ)
LIBS=
SYS-DEFS=-DSOUND -DSUN_AUDIOIO_H

# SunOS 5.3, OpenWindows:

#GRAF-OBJ=$(XV-OBJ)
#LIBS=-R/usr/ucblib -L/usr/ucblib -lsocket -lnsl -lucb -R$(OPENWINHOME)/lib
#SYS-DEFS=-I/usr/ucbinclude -DSOUND

# Linux Slackware 1.20, OpenWindows:

#GRAF-OBJ=$(XV-OBJ)
#LIBS=
#SYS-DEFS=-DSYSV_SIGNAL -DSOUND -DSOUND_NICHT_MISCHEN -DJOYSTICK

# HP-UX 8.07, XView:

#GRAF-OBJ=$(XV-OBJ)
#LIBS=-L/usr/lib/X11R5 -lBSD
#SYS-DEFS=-I/usr/include/X11R5

# Ultrix 4.3, XView:

#GRAF-OBJ=$(XV-OBJ)
#LIBS=
#SYS-DEFS=

###########################################################################

#CC=
COPT= -O
LD= $(CC)
INSTALL= install -s -m 755

BINDIR= ..

XLIBS= -L$(OPENWINHOME)/lib -lxview -lolgx -lX11
INCLUDES= -I$(OPENWINHOME)/include

#
# moegliche Defines:
#
# aus baulab.c:        -DNORMALFARBE=5
# aus bewegung.c:      -DSCHRITT='(RASPT/8)' -DSCHUSSSCHRITT='(RASPT/4)'
#                      -DSPIELER_TOT_ZEIT=30 -DMIN_GEGNER_NAEHE=5
#                      -DMIN_SCHUSS_NAEHE=3
# aus global.h:        -DTRIGANZ=1024
# aus grafik.h:        -DSICHTW=16
# aus ip_netz.c:       -DDEFAULT_SERVER='"imaze.rz.tu-clausthal.de"'
#                      -DDEFAULT_PORT=5323
# aus ip_server.c:     -DDEFAULT_PORT=5323
# aus netzwerk.c:      -DSPIEL_VERLASSEN_TIMEOUT=3
# aus session.c:       -DZEITTAKT=90
# aus speicher.c:      -DDEBUG_SPEICHER
# aus system.c:        -DSYSV_SIGNAL
# aus X_grafik.h:      -DAUGENECKENANZ=32 -DMUNDECKENANZ=32 -DKREUZ_INRAD=4
#                      -DKREUZ_AUSRAD=10
# aus xv_ereignisse.c: -DSOUND -DSUN_AUDIOIO_H -DSOUND_NICHT_MISCHEN
#                      -DDEFAULT_SOUND_DIR=.
# aus xv_tasten.c:     -DJOYSTICK -DDEFAULT_JOYSTICK_DEVICE='"/dev/js0"'
#

DEFINES=
LDFLAGS= $(COPT)
CFLAGS= $(INCLUDES) $(COPT) $(DEFINES) $(SYS-DEFS)

# bis hier Optionen eintragen
###########################################################################

CLIENT-OBJ= client.o rechne3d.o trigtab.o speicher.o \
	rechne_karte.o ip_netz.o netzwerk.o global.o system.o
XV-OBJ= xv_fenster.o X_farben.o xv_tasten.o X_grafik.o xv_ereignisse.o
GENTRIG-OBJ= gentrigtab.o global.o
SERVER-OBJ= server.o ip_server.o speicher.o bewegung.o trigtab.o global.o \
	system.o init_spieler.o session.o
NINJA-OBJ= ip_netz.o netzwerk.o ninja.o speicher.o global.o system.o
GENLAB-OBJ= baulab.o speicher.o global.o
OBJS= $(CLIENT-OBJ) $(XV-OBJ) $(GENTRIG-OBJ) $(SERVER-OBJ) $(NINJA-OBJ) \
	$(GENLAB-OBJ)

SRCS= baulab.c bewegung.c client.c xv_fenster.c X_farben.c rechne3d.c \
	gentrigtab.c speicher.c xv_tasten.c rechne_karte.c X_grafik.c \
	xv_ereignisse.c ip_netz.c netzwerk.c server.c ninja.c global.c \
	system.c ip_server.c init_spieler.c session.c

HEADER= X_farben.h X_grafik.h ereignisse.h farben.h global.h grafik.h \
	labyrinth.h signale.h spieler.h xv_einaus.h client.h rechne.h \
	speicher.h fehler.h xv_icon.h xv_icon_maske.h protokoll.h netzwerk.h \
	system.h spiel.h server_netz.h bewegung.h server.h init_spieler.h \
	einaus.h

EXECS= imaze imazesrv ninja genlab

###########################################################################
# ab hier rules

default: all

all: 	$(EXECS)

dist:	$(SRCS) $(HEADER) Makefile
	rm -f imaze.tar.Z
	tar cf imaze.tar $(SRCS) $(HEADER) Makefile
	compress imaze.tar

install: $(EXECS)
	$(INSTALL) $(EXECS) $(BINDIR)

clean:
	rm -f $(OBJS) $(EXECS) gentrigtab trigtab.c core

mostly-clean:
	rm -f $(OBJS) gentrigtab trigtab.c core

imaze: $(CLIENT-OBJ) $(GRAF-OBJ)
	$(LD) $(LDFLAGS) $(CLIENT-OBJ) $(GRAF-OBJ) $(LIBS) $(XLIBS) -o imaze

imazesrv: $(SERVER-OBJ)
	$(LD) $(LDFLAGS) $(SERVER-OBJ) $(LIBS) -o imazesrv

ninja: $(NINJA-OBJ)
	$(LD) $(LDFLAGS) $(NINJA-OBJ) $(LIBS) -o ninja

genlab: $(GENLAB-OBJ)
	$(LD) $(LDFLAGS) $(GENLAB-OBJ) $(LIBS) -o genlab

gentrigtab: $(GENTRIG-OBJ)
	$(LD) $(LDFLAGS) $(GENTRIG-OBJ) $(LIBS) -lm -o gentrigtab

trigtab.c: gentrigtab
	./gentrigtab > trigtab.c

X_farben.o: farben.h X_farben.h X_farben.c

X_grafik.o: global.h speicher.h farben.h grafik.h fehler.h X_farben.h \
	X_grafik.h X_grafik.c

baulab.o: global.h speicher.h labyrinth.h farben.h baulab.c

bewegung.o: global.h speicher.h labyrinth.h spieler.h \
	signale.h ereignisse.h protokoll.h bewegung.h server.h bewegung.c

client.o: global.h fehler.h speicher.h labyrinth.h client.h spieler.h \
	grafik.h signale.h ereignisse.h einaus.h rechne.h netzwerk.h spiel.h \
	client.c

gentrigtab.o: global.h gentrigtab.c

global.o: global.h global.c

init_spieler.o: global.h speicher.h labyrinth.h protokoll.h server_netz.h \
	init_spieler.h init_spieler.c

ip_netz.o: fehler.h speicher.h netzwerk.h system.h ip_netz.c

ip_server.o: speicher.h server_netz.h system.h ip_server.c

netzwerk.o: global.h fehler.h speicher.h labyrinth.h spieler.h signale.h \
	ereignisse.h protokoll.h netzwerk.h spiel.h system.h netzwerk.c

ninja.o: global.h speicher.h labyrinth.h farben.h spieler.h signale.h \
	ereignisse.h netzwerk.h spiel.h system.h ninja.c

rechne3d.o: global.h speicher.h labyrinth.h farben.h spieler.h grafik.h \
	rechne.h rechne3d.c

rechne_karte.o: global.h speicher.h labyrinth.h farben.h spieler.h \
	grafik.h rechne.h rechne_karte.c

server.o: global.h fehler.h speicher.h labyrinth.h server_netz.h server.h \
	init_spieler.h server.c

session.o: global.h speicher.h spieler.h protokoll.h system.h \
	server_netz.h bewegung.h server.h session.c

speicher.o: global.h fehler.h speicher.h speicher.c

system.o: speicher.h system.c

trigtab.o: global.h trigtab.c

xv_ereignisse.o: signale.h ereignisse.h einaus.h xv_einaus.h xv_ereignisse.c

xv_fenster.o: speicher.h grafik.h fehler.h client.h system.h X_grafik.h \
	xv_einaus.h xv_icon.h xv_icon_maske.h xv_fenster.c

xv_tasten.o: signale.h ereignisse.h einaus.h grafik.h xv_einaus.h \
	xv_tasten.c

