#
# Makefile : Utilities for the Linux Multiple Devices driver
#            Copyright (C) 1996 Marc Zyngier
#            Copyright (C) 1997 Ingo Molnar, Miguel de Icaza, Gadi Oxman
#
# this is the main Makefile for the the MD tools
#
# This source is covered by the GNU GPL, the same as all Linux kernel
# sources.
#
MFLAGS    = @MFLAGS@
VERS    = 1.00.3

srcdir  = .
ROOTDIR = $(INSTALLDIR)

SBIN    = ${exec_prefix}/sbin
USR     = /usr
MAN     = $(USR)/share/man

EXTRA_CFLAGS = -I../popt
EXTRA_LIBS   = ../popt/libpopt.a 

SOURCES = 	raidstart.c raidlib.c mkraid.c version.c \
		detect_multipath.c \
                raidreconf.c raidreconf.h rrc_common.c rrc_common.h \
		reconfiguration.c rrc_raid0.c \
		rrc_raid5.c rrc_single.c arytst.c \
		lsraid.c list.h \
		parser.c raid_io.c scsi.c configure.in Makefile.in \
		mdprint.c mdread.c mdwrite.c prconv.c raid_io.c.ia64 \
		readblock.c readboth.c sectors.c
		

INTERNAL_LIBS =	parser.o raidlib.o version.o raid_io.o scsi.o \
		reconfiguration.o rrc_common.o \
		rrc_raid0.o rrc_raid5.o rrc_single.o

HEADERS = 	common.h config.h parser.h raid_io.h version.h md_p.h \
		raidlib.h scsi.h md_u.h

MANUALS = 	raidstart.8 raidstop.8 raidrun.8 mkraid.8 raid0run.8 \
		raidtab.5 raidadd.8 ckraid.8 raidreconf.8 lsraid.8

MISC	= 	COPYING configure raid0.conf.sample raid1.conf.sample \
		raid4.conf.sample raid5.conf.sample raidtab.sample \
		README Software-RAID.HOWTO autogen.sh acconfig.h \
		config.h.in multipath.conf.sample \
		ideas questions retry summary reconf.notes \
		newraidtab oldraidtab \
		raidreconf.txt raidreconf-HOWTO raidtools.spec


DISTFILES = $(SOURCES) $(HEADERS) $(MANUALS) $(MISC)

BINARIES = raidstart mkraid detect_multipath raidreconf arytst lsraid
CC = mipsel-linux-gcc
CFLAGS = -O2 -Wall -DMD_VERSION=\""raidtools-1.00.3"\" $(EXTRA_CFLAGS)
LDFLAGS = 
RAIDSTARTLINKS = raidstop raidhotadd raidhotremove raidsetfaulty
MKRAIDLINKS = raid0run

all: $(BINARIES)

#install: dummy
#	for N in all install_bin install_doc install_dev; do make $$N; done
install: dummy
	for N in all install_bin; do $(MAKE) $$N; done


%.o: %.c $(HEADERS) Makefile
	$(CC) $(CFLAGS) -c -o $@ $<

$(BINARIES): %: %.o $(INTERNAL_LIBS) $(EXTRA_LIBS)
	$(CC) -o $@ $< $(INTERNAL_LIBS) $(EXTRA_LIBS) $(LDFLAGS)

clean:
	rm -f $(BINARIES) $(LINKS) *.o core *~  config.cache  

realclean: clean
	rm -f configure config.h.in config.h config.log config.status Makefile

configure: configure.in 
	autoconf --localdir=$(srcdir) $(srcdir)/configure.in > configure
	chmod 755 configure

#install_dev:
#	[ -d $(ROOTDIR)/dev ] || mkdir -p $(ROOTDIR)/dev
#	for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do \
#		if [ ! -e $(ROOTDIR)/dev/md$$i ]; then \
#			mknod -m 0600 $(ROOTDIR)/dev/md$$i b 9 $$i; \
#		fi; \
#	done

#install_doc:
#	for i in $(MANUALS); do \
#	    EXT=`echo $$i | sed 's/.*\.//'` ;\
#	    [ -d $(ROOTDIR)/$(MAN)/man$$EXT ] || \
#		mkdir -p $(ROOTDIR)/$(MAN)/man$$EXT; \
#	    install -m644 $$i $(ROOTDIR)/$(MAN)/man$$EXT/$$i ;\
#	done

install_bin: 
	[ -d $(ROOTDIR)/$(SBIN) ] || mkdir -p $(ROOTDIR)/$(SBIN)
	for n in $(BINARIES); do \
	    install -m755 $$n $(ROOTDIR)/$(SBIN)/$$n ; ${STRIP} $(ROOTDIR)/$(SBIN)/$$n ;\
	done
	for i in $(RAIDSTARTLINKS); do \
	    rm -f $(ROOTDIR)/$(SBIN)/$$i ;\
	    ln -sf raidstart $(ROOTDIR)$(SBIN)/$$i ;\
	done
	for i in $(MKRAIDLINKS); do \
	    rm -f $(ROOTDIR)/$(SBIN)/$$i ;\
	    ln -sf mkraid $(ROOTDIR)$(SBIN)/$$i ;\
	done

dep depend:
	$(CPP) -M $(CPPFLAGS) $(CFLAGS) $(srcdir)/*.c > .depend

dist: 
	rm -rf raidtools-$(VERS)
	-mkdir raidtools-$(VERS)
	cp -r $(addprefix $(srcdir)/, $(DISTFILES)) raidtools-$(VERS)
	tar czvf raidtools-$(VERS).tar.gz raidtools-$(VERS)

dummy:

