KERNELDIR = /usr/src/linux

# We need the configuration file, for CONFIG_SMP and possibly other
# stuff (especially for RISC platforms, where CFLAGS depends on the
# exact processor being used).
#
ifeq (${KERNELDIR}/.config,$(wildcard ${KERNELDIR})/.config)
  include ${KERNELDIR}/.config
else
  MESSAGE := $(shell echo "WARNING: no .config file in ${KERNELDIR}")
endif

CCMODFLAGS = -c -Wall -O2 -g -D__KERNEL__ -DMODULE \
               -I${KERNELDIR}/include -I. -I../../include -I${IRIS_ROOT}/include

ifdef CONFIG_SMP
  CCMODFLAGS += -D__SMP__ -DSMP
endif

# Standard IRIS flag definitions
#
CFLAGS  = -c ${OPTIMIZEFLAG}  ${C_OPT} -D${MACH_OS} \
                 -I. -I../../include -I${IRIS_ROOT}/include

LDFLAGS = -L../../libs/lib       -L../../iris/lib \
            -L${IRIS_ROOT}/libs/lib -L${IRIS_ROOT}/iris/lib

LLIBS = -luser ${LSEARCH_BSD}

# What to do...
#
SCRIPTS = rdasys
EXES    = show_rda

all:	rda.o test_rda ${EXES} ${SCRIPTS}

MKDEPEND_CSRCS = test_rda.c show_rda.c rdamain.c boards.c rvpio.c
depend:; ${MKDEPEND}

rda.o : rdamain.o boards.o rvpio.o ioserial.o
	rm -f rda.o
	ld -r -o rda.o rdamain.o boards.o rvpio.o ioserial.o
	chmod 644 rda.o ; rootchown operator rda.o
rdamain.o : rdamain.c
	gcc ${CCMODFLAGS} rdamain.c -o rdamain.o
boards.o : boards.c
	gcc ${CCMODFLAGS} boards.c -o boards.o
rvpio.o : rvpio.c
	gcc ${CCMODFLAGS} rvpio.c -o rvpio.o
ioserial.o : ioserial.c
	gcc ${CCMODFLAGS} ioserial.c -o ioserial.o

test_rda: test_rda.o
	${CC} ${LD_OPT} test_rda.o ${LDFLAGS} ${LLIBS} -o test_rda

show_rda: show_rda.o
	${CC} ${LD_OPT} show_rda.o ${LDFLAGS} ${LLIBS} -o show_rda

install : all
	rootchmod 775 ${SCRIPTS} ; rootchown operator ${SCRIPTS}
	rootcp -p ${EXES} ${SCRIPTS} ${IRIS_BIN}rda
	( cd ${IRIS_BIN}rda ; \
	  strip ${EXES} ; \
	  rootchown operator ${EXES} ; rootchmod 775 ${EXES} ; \
	)
	( \
	  KERNELRELEASE="" ; rm -f .version ; \
	  if [ -r ${KERNELDIR}/Makefile ] ; then \
	    sed -n '1,/KERNELRELEASE/p' < ${KERNELDIR}/Makefile | \
	      sed 's/ //g' | tr '()' '{}' > .version ; \
	    . .version ; rm -rf .version ; \
	  fi ; \
	  if [ "$${KERNELRELEASE}" = "" ] ; then \
	    echo "WARNING: Can't get kernel version to properly install 'rda.o'" 1>&2 ; \
	  else \
	    MODULENAME="rda-$${KERNELRELEASE}.o" ; \
	    echo  "Creating ${IRIS_BIN}rda/$${MODULENAME}" ; \
	    rootcp -p rda.o ${IRIS_BIN}rda/$${MODULENAME}  ; \
	    cd ${IRIS_BIN}rda ; \
	    rootchown operator $${MODULENAME} ; rootchmod 644 $${MODULENAME} ; \
	  fi ; \
	)

cleanexe:;
clean:
	rm -f *.o *~ core test_rda show_rda
# DO NOT DELETE

test_rda.o: ../../include/sigtypes.h ../../include/signoarch.h
test_rda.o: ../../include/user_lib.h
show_rda.o: ../../include/sigtypes.h ../../include/signoarch.h
show_rda.o: ../../include/user_lib.h ../../include/rda.h
rdamain.o: ../../include/sigversion.h ../../include/rda.h kernelmod.h
boards.o: ../../include/signoarch.h ../../include/rda.h kernelmod.h
rvpio.o: ../../include/signoarch.h ../../include/rda.h kernelmod.h
