# Change CONFIG to the .mk file that matches your system

CONFIG = system.mk


# Do Not Change anything below this line. It should be setup in config

include ../$(CONFIG)

# this is for revised ntserv/struct.h

#OPT = -g

CFLAGS = $(OPT) $(EXTRAINCS) $(DIRS) $(FLAGS) -DROBOT

LIBS = $(EXTRALIBS)

TOOLDIR= $(LIBDIR)/tools

GETPATH = getpath.o data.o

LINTFLAGS = -habxc $(EXTRAINCS) $(FLAGS)

#	Common Objects

C_OBJS = data.o  detonate.o  enter.o  getship.o  interface.o \
	orbit.o  phaser.o sintab.o openmem.o  sysdefaults.o \
	torp.o  util.o $(RANDOMO) getpath.o smessage.o roboshar.o \
        slotmaint.o

#	Puck Objects

P_OBJS = puck.o  puckmove.o commands_puck.o $(C_OBJS)

#	Mars (dogfighter) Objects

M_OBJS = mars.o marsmove.o commands_mars.o $(C_OBJS)

#	Robot Objects

R_OBJS = robotII.o rmove.o commands.o $(C_OBJS)

#       basepractice object files

B_OBJS = basep.o commands_basep.o $(C_OBJS)  

#	INL Objects

I_OBJS = inl.o inlcomm.o commands_inl.o $(C_OBJS)


SRCS = puck.c puckmove.c mars.c marsmove.c robotII.c rmove.c getpath.c \
	data.c  detonate.c  enter.c  getship.c  interface.c \
	orbit.c  phaser.c  sintab.c openmem.c sysdefaults.c torp.c \
	util.c $(RANDOMC) commands.c smessage.c basep.c wander2.c \
	inl.c inlcomm.c slotmaint.c

EXECS =	puck mars robotII basep inl

all: $(PMAKE) $(EXECS)

puck: $(PMAKE) $(P_OBJS)
	$(CC) $(CFLAGS)  -o puck $(P_OBJS) $(EXTRALIBS)

mars: $(PMAKE) $(M_OBJS)
	$(CC) $(CFLAGS)  -o mars $(M_OBJS) $(EXTRALIBS)

robotII: $(PMAKE) $(R_OBJS)
	$(CC) $(CFLAGS)  -o robotII  $(R_OBJS) $(EXTRALIBS)

basep: $(PMAKE) $(B_OBJS)
	$(CC) $(CFLAGS)  -o basep $(B_OBJS) $(EXTRALIBS)

inl: $(PMAKE) $(I_OBJS)
	$(CC) $(CFLAGS)  -o inl $(I_OBJS) $(EXTRALIBS)

commands_mars.o: $(PMAKE) commands.c
	$(CC) $(CFLAGS) $(DEP) -DDOG -c commands.c -o commands_mars.o

commands_puck.o: $(PMAKE) commands.c
	$(CC) $(CFLAGS) $(DEP) -DPUCK -c commands.c -o commands_puck.o

commands_inl.o: $(PMAKE) commands.c
	$(CC) $(CFLAGS) $(DEP) -DINL -c commands.c -o commands_inl.o

commands.o: $(PMAKE) commands.c
	$(CC) $(CFLAGS) $(DEP) -c commands.c -o commands.o

commands_basep.o: $(PMAKE) commands.c
	$(CC) $(CFLAGS) $(DEP) -DBASEP -c commands.c -o commands_basep.o

clean:; rm -f *.o *.ln

reallyclean:; rm -f $(EXECS) *~ #*#


install: $(EXECS) 
	$(INSTALL) $(INSTALLOPTS) puck $(LIBDIR)/puck
	$(INSTALL) $(INSTALLOPTS) mars $(LIBDIR)/mars
	$(INSTALL) $(INSTALLOPTS) robotII $(LIBDIR)/robotII
	$(INSTALL) $(INSTALLOPTS) basep $(LIBDIR)/basep
	$(INSTALL) $(INSTALLOPTS) inl $(LIBDIR)/inl

updated: update.o data.o getpath.o
	$(CC) $(CFLAGS) -o updated  update.o data.o getpath.o $(EXTRALIBS)

lint: $(SRCS)
	lint $(LINTFLAGS) -u $?
	touch lint

rmdependencies:
	makedepend

depend:
	makedepend $(CFLAGS) -f Makefile $(SRCS)
#####
# DO NOT DELETE THIS LINE -- make depend depends on it.
