#
# Copyright (c) 2000, 2001 Vladimir Popov. All rights reserved.
#
# $Id: Makefile,v 1.56 2002/01/18 10:55:47 pva Exp $
#
# Makefile for fmio -- small utility to manipulate FM radio card
#
CC?=cc
CFLAGS?=-O2 -Wall

# separate volume and frequency management, not all cards support this
#CFLAGS+= -DVFSEPARATE
# don't use mixer stuff
#CFLAGS+= -DNOMIXER
# for Linux older kernels (pre 2.1.83, which do not have /proc/bus/pci)
# you need to install pciutils (pci.h and libpci.a from the package, actually)
# see pciutils-dev under debian, pciutils-devel under rpm based distros
# DOES NOT WORK YET!!!
#CFLAGS+= -DLIBPCI -I/path/to/pci.h/
#LDFLAGS+= -L/path/to/libpci.a/ -lpci

LDFLAGS+=-L. -lradio
HDRS=config.h io.h mixer.h radio.h specs.h bu2614.h tea5757.h tc921x.h \
	pt2254a.h
OBJS=access.o helper.o mixer.o pci.o radio.o bu2614.o tc921x.o tea5757.o \
	pt2254a.o
DRVS=aztech.o bktr.o bsdradio.o bmc-hma.o gemtek-isa.o gemtek-pci.o \
	radiotrack.o radiotrackII.o sf16fmd2.o sf16fmr.o sf16fmr2.o \
	sf64pcr.o sf256pcpr.o sf256pcs.o terratec-isa.o \
	xtreme.o zoltrix.o
MANPAGE=fmio.1

REMOVABLE= fmio fmio.o $(OBJS) $(DRVS) libradio.a *core

PREFIX?=/usr/local
BINDIR?=$(PREFIX)/bin
MANDIR?=$(PREFIX)/man/cat1

BINOWN?=root
BINGRP?=bin
BINMODE?=4555

MANOWN?=root
MANGRP?=wheel
MANMODE?=444

INSTALL_PROGRAM_DIR?=install -d -o $(BINOWN) -g $(BINGRP)
INSTALL_MAN_DIR?=install -d -o $(MANOWN) -g $(MANGRP)
INSTALL_PROGRAM?=install -c -s -o $(BINOWN) -g $(BINGRP) -m $(BINMODE)
INSTALL_MAN?=install -c -o $(MANOWN) -g $(MANGRP) -m $(MANMODE)

all: lib prog man

prog: lib fmio.o fmio

man: fmio.0

install: lib prog man
	$(INSTALL_PROGRAM_DIR) $(BINDIR)
	$(INSTALL_MAN_DIR) $(MANDIR)
	$(INSTALL_PROGRAM) fmio $(BINDIR)/fmio
	$(INSTALL_MAN) fmio.0 $(MANDIR)/fmio.0

deinstall:
	rm -f $(PREFIX)/bin/fmio
	rm -f $(PREFIX)/man/cat1/fmio.0

clean:
	rm -f $(REMOVABLE)

distclean:
	rm -f $(REMOVABLE) fmio.0

lib: libradio.a

libradio.a: $(HDRS) $(OBJS) $(DRVS)
	ar cru $@ $(OBJS) $(DRVS)
	ranlib $@

fmio: libradio.a fmio.o
	$(CC) -o $@ fmio.o $(LDFLAGS)

fmio.o: config.h fmio.c
	$(CC) $(CFLAGS) -c fmio.c -o fmio.o

fmio.0: $(MANPAGE)
	@echo "groff -Tascii -mandoc $(MANPAGE) > $@"
	@groff -Tascii -mandoc $(MANPAGE) > $@ || rm -f $@
