# makefile for mondo-1.6x
# last updated 2003/05/07



VERSION=
CC=gcc
CC_OPTS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT	-DVERSION=\"${VERSION}\" ${DBG_OPTS}
LINKOPTS=-lnewt -lpthread -D_REENTRANT ${DBG_OPTS}
DBG_OPTS=-Wall -g
COMMON=mondo/common
DOC_RAWPATH=/usr/share/doc/mondo
MARCH=mondo/mondoarchive
MREST=mondo/mondorestore
INSTPATH=/usr/local/share/mondo
BINPATH=/usr/local/bin
DOCPATH=${DOC_RAWPATH}-${VERSION}
MANPATH=/usr/share/man/man1

all:
	make clean
	make mondoarchive
	make mondorestore

clean:
	rm -f *.o "#"*"#"
	rm -f ${COMMON}/*.o
	rm -f ${MARCH}/*.o
	rm -f ${MREST}/*.o
	rm -f *~
	rm -f mondoarchive mondorestore

uninstall:
	rm -Rf ${INSTPATH} ${DOC_RAWPATH}*
	rm -f ${BINPATH}/mondoarchive ${BINPATH}/mondorestore ${BINPATH}/mondo-makefilelist

install:
	mkdir -p ${INSTPATH}
	mkdir -p ${BINPATH}
	cp -pRdf mondoarchive mondorestore mondo/mondo-makefilelist mondo/autorun mondo/do-not-compress-these mondo/mondo-makefilelist mondo/restore-scripts ${INSTPATH}
	ln -sf ${INSTPATH}/mondoarchive ${BINPATH}/
	ln -sf ${INSTPATH}/mondorestore ${BINPATH}/
	ln -sf ${INSTPATH}/mondo-makefilelist ${BINPATH}/
	mkdir -p ${DOCPATH}
	cp -pRdf mondo/docs/en/* ${DOCPATH}
	cp -f mondoarchive.1 ${MANPATH}

mondoarchive: 	main.o mondo-cli.o LMarchive.o LMdevices.o LMfifo.o LMfilelist.o LMfiles.o LMfork.o LMmountlist.o LMraid.o LMstream.o LMstring.o LMtools.o LMverify.o newt-specific.o
	${CC} -o mondoarchive ${LINKOPTS} main.o mondo-cli.o libmondo-archive.o libmondo-fifo.o libmondo-devices.o libmondo-filelist.o libmondo-files.o libmondo-fork.o libmondo-mountlist.o libmondo-raid.o libmondo-stream.o libmondo-string.o libmondo-tools.o libmondo-verify.o newt-specific.o

mondorestore:	mondo-restore.o mondo-rstr-newt.o mondo-prep.o
	${CC} -o mondorestore ${LINKOPTS} mondo-restore.o mondo-rstr-newt.o mondo-prep.o libmondo-archive.o libmondo-fifo.o libmondo-devices.o libmondo-filelist.o libmondo-files.o libmondo-fork.o libmondo-mountlist.o libmondo-raid.o libmondo-stream.o libmondo-string.o libmondo-tools.o libmondo-verify.o newt-specific.o

main.o:		${MARCH}/main.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${MARCH}/main.c

mondo-cli.o:	${MARCH}/mondo-cli.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${MARCH}/mondo-cli.c

mondo-restore.o:	${MREST}/mondo-restore.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${MREST}/mondo-restore.c

mondo-rstr-newt.o:        ${MREST}/mondo-rstr-newt.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${MREST}/mondo-rstr-newt.c

mondo-prep.o:        ${MREST}/mondo-prep.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${MREST}/mondo-prep.c

LMarchive.o:	${COMMON}/libmondo-archive.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${COMMON}/libmondo-archive.c

LMfifo.o:	${COMMON}/libmondo-fifo.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${COMMON}/libmondo-fifo.c

LMdevices.o:    ${COMMON}/libmondo-devices.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${COMMON}/libmondo-devices.c

LMfilelist.o:    ${COMMON}/libmondo-filelist.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${COMMON}/libmondo-filelist.c

LMfiles.o:    ${COMMON}/libmondo-files.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${COMMON}/libmondo-files.c

LMfork.o:    ${COMMON}/libmondo-fork.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${COMMON}/libmondo-fork.c

LMmountlist.o:    ${COMMON}/libmondo-mountlist.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${COMMON}/libmondo-mountlist.c

LMraid.o:    ${COMMON}/libmondo-raid.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${COMMON}/libmondo-raid.c

LMstream.o:    ${COMMON}/libmondo-stream.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${COMMON}/libmondo-stream.c

LMstring.o:    ${COMMON}/libmondo-string.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${COMMON}/libmondo-string.c

LMtools.o:    ${COMMON}/libmondo-tools.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${COMMON}/libmondo-tools.c

LMverify.o:    ${COMMON}/libmondo-verify.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${COMMON}/libmondo-verify.c

newt-specific.o:    ${COMMON}/newt-specific.c ${COMMON}/my-stuff.h ${COMMON}/mondostructures.h
	${CC} ${CC_OPTS} -c ${COMMON}/newt-specific.c


