# platform specific stuff
# choose your platform below by commenting out all but the definitions
# for your platform.
# (yes, I should be using autoconf. patches to use it would be
# very welcome).

# for linux
DEFS = -DOS_LINUX
EXTRA_OBJS = cd_ll_linux.o

# for bsd. only tested on freebsd
#DEFS = -DOS_BSD
#EXTRA_OBJS = cd_ll_bsd.o


# you shouldn't have to change anything below this line


OBJS=cd-console.o cd.o $(EXTRA_OBJS)
LIBS = -lncurses

# common
CFLAGS=-O2 -Wall $(DEFS)
#CFLAGS=-g -Wall $(DEFS)
CC = gcc

all:
	make cd-console
	strip cd-console

cd-console: $(OBJS)
	$(CC) $(OBJS) $(LIBS) -o cd-console $(CFLAGS)

cd-console.o: cd.h cd-console.cpp
	$(CC) -c cd-console.cpp $(CFLAGS)

cd_ll_linux.o: cd_ll.h cd_ll_linux.h cd_ll_linux.cpp
	$(CC) -c cd_ll_linux.cpp $(CFLAGS)

cd_ll_bsd.o: cd_ll.h cd_ll_bsd.h cd_ll_bsd.cpp
	$(CC) -c cd_ll_bsd.cpp $(CFLAGS)

cd.o: cd.h cd.cpp
	$(CC) -c cd.cpp $(CFLAGS)

clean:
	rm -f $(OBJS) cd-console
