# Makefile for pnmxpad
# Last edited on 2006-04-15 15:18:04 by stolfi

INC := /home/staff/stolfi/PUB/include
LIB := /home/staff/stolfi/PUB/${PLATFORM}/lib
BIN := /home/staff/stolfi/PUB/${PLATFORM}/bin
MAN := /home/staff/stolfi/PUB/${PLATFORM}/man

PROG := frb_analyze
   
HFILES := \
  frb_types.h \
  frb_proc.h \
  frb_window.h \
  frb_segment.h \
  frb_match.h \
  frb_candidate.h \
  frb_signal.h \
  frb_curve.h \
  frb_geo.h \
  frb_fourier.h \
  \
  frb_analyze.h

NOT_HFILES :=

CFILES := \
  frb_window.c \
  frb_candidate.c \
  frb_signal.c \
  frb_match.c \
  frb_geo.c \
  frb_curve.c \
  frb_segment.c \
  frb_types.c \
  frb_proc.c \
  frb_fourier.c

NOT_CFILES :=

LIBS := \
  ${LIB}/libgeo.a \
  ${LIB}/libjs.a \
  ${LIB}/libflt.a
  
NOT_LIBS := \
  ${LIB}/libpz.a

SHELL := /bin/sh

MANSECT := 1
MANPAGE := ${PROG}.1

.PHONY: all uninstall build install clean

# all: all-lib
# all: uninstall clean ${HOFILES} ${OFILES} ${PROG} install
all: ${HOFILES} ${OFILES} ${PROG}
  
MAINC := ${PROG}.c

HOFILES := ${subst .h,.ho,${HFILES}}
OFILES := ${subst .c,.o,${CFILES}}

CC := /usr/bin/gcc \
  -ansi \
  -Wall  -Wpointer-arith -Wmissing-prototypes

IFLAGS := -I. -I${INC}
CFLAGS := -O -g
LDFLAGS := 

uninstall: ;\
  ( cd ${BIN} && rm -f ${PROG} ) ;\
  ( cd ${MAN} && rm -f man${MANSECT}/${MANPAGE} ) 

install: ;\
  cp -p ${PROG} ${BIN}/ ;\
  cp -p ${MANPAGE} ${MAN}/man${MANSECT}/

build: ${OFILES} ${PROG}

%.o: %.c
	${CC} ${CFLAGS} ${IFLAGS} -c $*.c
  
%.ho: %.h
	${CC} ${CFLAGS} ${IFLAGS} -o $*.ho -c -x c $*.h \
          || /bin/rm -f $*.ho
  
# Special rule for ${PROG}.o:

${PROG}: ${OFILES} ${PROG}.o ${LIBS}
	${CC} ${LDFLAGS} -o $@ ${PROG}.o ${OFILES} ${LIBS} -lm -lrt

clean:
	-/bin/rm -f *.o *.ho *.a core ${PROG} 

# ====================================================================
# Dependencies:

DEPFILE := Deps.make

depend: 
	/bin/rm -f ${DEPFILE}
	extract-ho-deps ${IFLAGS} -I/usr/include ${HFILES} ${CFILES} \
          | egrep -v ': /usr/include' \
          > ${DEPFILE}

# Include specific dependencies extracted by "make depend"
include ${DEPFILE}
  
