CC = cc
TARGET = newbbs
BB = /usr/local/lib/mw

# cflags for standard 'cc' compiler
CFLAGS = -Wall -ggdb # -O4
DEFS =  #-DRWHO
LDFLAGS = 

SRCS = user.c main.c read.c add.c folders.c new.c perms.c edit.c mod.c who.c locking.c echo.c getpass.c filter.c mesg.c strings.c special.c Parse.c newmain.c # LibRwho.c 

OBJS = user.o main.o read.o add.o folders.o new.o perms.o edit.o mod.o who.o locking.o echo.o getpass.o filter.o mesg.o strings.o special.o Parse.o newmain.o # LibRwho.o

ALL = bb beep red

DELUSEROBJS = del_user.o perms.o strings.o

all: $(ALL)

bb: $(OBJS)
	$(CC) $(DEFS) $(CFLAGS) -o $(TARGET) $(OBJS) $(LDFLAGS)

del_user: $(DELUSEROBJS)
	$(CC) $(DEFS) $(CFLAGS) -o del_user $(DELUSEROBJS) $(LDFLAGS)
	
red: red.c
	$(CC) -o red red.c

att:
	cp locking.sysv.c locking.c
	cp echo.sysv.c echo.c

bsd: 
	cp locking.bsd.c locking.c
	cp echo.bsd.c echo.c

linux:
	cp locking.linux.c locking.c
	cp echo.linux.c echo.c

install:
	cp $(BB)/mw oldbbs
	cp newbbs bbs
	strip bbs
	cp bbs $(BB)/mw
	chmod 6711 $(BB)/mw
	@echo "Finished Installation."
	
clean:
	rm *.o

wipe:
	rm *.i *.t *.bb
beep:
	@echo Make finished
	@chmod 6711 $(TARGET)

del_user.o: del_user.c
	$(CC) $(DEFS) $(CFLAGS) -c del_user.c
	
user.o: bb.h user.c
	$(CC) $(DEFS) $(CFLAGS) -c user.c

folders.o: bb.h
	$(CC) $(DEFS) $(CFLAGS) -c folders.c

add.o: bb.h add.c
	$(CC) $(DEFS) $(CFLAGS) -c add.c

read.o: bb.h read.c
	$(CC) $(DEFS) $(CFLAGS) -c read.c

main.o: bb.h main.c Parse.h command.h
	$(CC) $(DEFS) $(CFLAGS) -c main.c

new.o: bb.h new.c
	$(CC) $(DEFS) $(CFLAGS) -c new.c

perms.o: bb.h perms.c
	$(CC) $(DEFS) $(CFLAGS) -c perms.c

edit.o: bb.h edit.c mesg.h
	$(CC) $(DEFS) $(CFLAGS) -c edit.c

special.o: bb.h special.c
	$(CC) $(DEFS) $(CFLAGS) -c special.c

mod.o: bb.h mod.c
	$(CC) $(DEFS) $(CFLAGS) -c mod.c

locking.o: locking.c
	$(CC) $(DEFS) $(CFLAGS) -c locking.c

echo.o: echo.c
	$(CC) $(DEFS) $(CFLAGS) -c echo.c

strings.o: strings.c bb.h
	$(CC) $(DEFS) $(CFLAGS) -c strings.c

who.o: bb.h who.c
	$(CC) $(DEFS) $(CFLAGS) -c who.c
	
getpass.o: bb.h getpass.c
	$(CC) $(DEFS) $(CFLAGS) -c getpass.c

filter.o: bb.h filter.c
	$(CC) $(DEFS) $(CFLAGS) -c filter.c

mesg.o: bb.h mesg.c
	$(CC) $(DEFS) $(CFLAGS) -c mesg.c

LibRwho.o: LibRwho.c
	$(CC) $(DEFS) $(CFLAGS) -c LibRwho.c

Parse.o: Parse.c Parse.h
	$(CC) $(DEFS) $(CFLAGS) -c Parse.c

newmain.o: newmain.c
	$(CC) $(DEFS) $(CFLAGS) -c newmain.c
