# Docsis cable modem diagnostics (cmdiag) Makefile
#
# Copyright (C) 2006-2007 Emil Penchev 
#
# This program is free software, distributed under the terms of
# the GNU General Public License
#

# Edit this options depending on your platform and compiler specifics

# Common paths for FreeBSD
SNMP_LIB = /usr/local/lib
SNMP_INCLUDE = /usr/local/include

ARCH := $(shell uname -s)
ifeq ($(ARCH),Linux)
CFLAGS = -Wall -O2 
else
ifeq ($(ARCH),FreeBSD)
CFLAGS = -O2 -pipe -W -Wall
else
CFLAGS = -Wall -O2
endif
endif

PREFIX = /usr/sbin
EXEC = cmdiag 
CC = g++
LIBS = `net-snmp-config --libs` `net-snmp-config --external-libs`

all : cmdiag 

cmdiag: cmdiag.o bar.o pbar.o cmodem.o func.o
	$(CC) $(CFLAGS) -lncurses cmdiag.o bar.o pbar.o cmodem.o func.o -o $(EXEC) $(LIBS)

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

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

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

ifeq ($(ARCH),FreeBSD)
cmodem.o: cmodem.cpp cmodem.h
	$(CC) $(CFLAGS) -I$(SNMP_INCLUDE) -L$(SNMP_LIB) -c cmodem.cpp
else
cmodem.o: cmodem.cpp cmodem.h
	$(CC) $(CFLAGS) -c cmodem.cpp
endif

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

install:
	install $(EXEC) $(PREFIX)

uninstall: 
	rm -f $(PREFIX)/$(EXEC)

clean: 
	rm -f *.o 
	rm -f $(EXEC) 
	rm -f *.*~


