# -*- Makefile -*-
include Makefile.config

INLIBDEST_DIRS = Newt c resize_fat xf86misc sbus_probing 
HAVEINST_DIRS = share/po standalone/interactive_http
DIRS = $(INLIBDEST_DIRS) $(HAVEINST_DIRS) ddcprobe harddrake printer serial_probe
NAME = libDrakX
PREFIX = 
LIBDIR = $(PREFIX)/usr/lib
MENUDIR= $(LIBDEST)/menu
DATADIR = $(PREFIX)/usr/share
ICONSDIR= $(DATADIR)/icons
BINDEST = $(PREFIX)/usr/bin
SBINDEST = $(PREFIX)/usr/sbin
ETCDEST = $(PREFIX)/etc/gtk
BINX11DEST = $(PREFIX)/usr/X11R6/bin
LIBX11DEST = $(PREFIX)/usr/X11R6/lib/X11
LIBDEST = $(LIBDIR)/$(NAME)
PIXDIR = $(DATADIR)/$(NAME)/pixmaps
INITDIR =  $(PREFIX)/etc/rc.d/init.d
.PHONY: $(DIRS)

all: rpcinfo-flushed $(DIRS)

$(DIRS):
	install -d auto
	rm -f share/po/DrakX.pot # force rebuild of po's
	[ ! -e $@/Makefile ] || $(MAKE) -C $@

install:
	mkdir -p $(BINDEST) $(ETCDEST) $(SBINDEST) $(DATADIR)/{harddrake,pixmaps,icons/{large,mini},autostart} $(BINX11DEST) $(LIBX11DEST) $(PIXDIR) $(INITDIR) $(MENUDIR)
	install -d $(INLIBDEST_DIRS:%=$(LIBDEST)/%)
	install $(STANDALONEPMS) standalone/service_harddrake.sh standalone/convert $(SBINDEST)
	install -s rpcinfo-flushed serial_probe/serial_probe $(SBINDEST)
	ln -s ../../$(patsubst $(PREFIX)/usr%,%,$(SBINDEST))/XFdrake $(BINX11DEST)/Xdrakres
	ln -s fileshareset $(SBINDEST)/filesharelist
	mv -f $(SBINDEST)/lsnetdrake $(BINDEST)
	mv -f $(SBINDEST)/drakbug $(BINDEST)
	mv -f $(SBINDEST)/drakhelp $(BINDEST)
	mv -f $(SBINDEST)/localedrake $(BINDEST)
	mv -f $(SBINDEST)/net_applet $(BINDEST)

	install -m 644 *.pm $(LIBDEST)
	for i in $(PMS_DIRS); do install -d $(LIBDEST)/$$i ; install -m 644 $$i/*.pm $(LIBDEST)/$$i/;done
	install -m 644 pixmaps/*.* $(PIXDIR)
	install -m 644 share/diskdrake.rc $(DATADIR)/$(NAME)

	install -d $(PREFIX)/etc/security
	echo 'RESTRICT=yes' > $(PREFIX)/etc/security/fileshare.conf

	install -D standalone/finish-install.xsetup $(PREFIX)/etc/X11/xsetup.d/finish-install.xsetup
	install -d $(PREFIX)/etc/sysconfig
	echo 'FINISH_INSTALL=yes' > $(PREFIX)/etc/sysconfig/finish-install

	for i in $(HAVEINST_DIRS); do \
		$(MAKE) -C $$i install PREFIX=$(PREFIX) SUDO= DATADIR=$(DATADIR) NAME=$(NAME) ; \
	done

	find auto -follow -name .exists -o -name "*.bs" | xargs rm -f
	cp -rfL auto standalone/icons $(LIBDEST)
	mv $(LIBDEST)/icons/harddrake2/menu/harddrake-menu32.png $(ICONSDIR)/harddrake.png
	mv $(LIBDEST)/icons/harddrake2/menu/harddrake-menu48.png $(ICONSDIR)/large/harddrake.png
	mv $(LIBDEST)/icons/harddrake2/menu/harddrake-menu16.png $(ICONSDIR)/mini/harddrake.png
	mv $(LIBDEST)/icons/localedrake-32.png $(ICONSDIR)/localedrake.png
	mv $(LIBDEST)/icons/localedrake-48.png $(ICONSDIR)/large/localedrake.png
	mv $(LIBDEST)/icons/localedrake-16.png $(ICONSDIR)/mini/localedrake.png
	rmdir $(LIBDEST)/icons/harddrake2/menu
	mv $(LIBDEST)/icons/harddrake2/ $(DATADIR)/pixmaps/
	mv $(SBINDEST)/service_harddrake.sh $(INITDIR)/harddrake
	mv $(SBINDEST)/convert $(DATADIR)/harddrake
	mv $(SBINDEST)/service_harddrake $(DATADIR)/harddrake/
	ln -s {XFdrake,$(SBINDEST)/drakx11}
	ln -s {diskdrake,$(SBINDEST)/drakdisk}
	ln -s {drakclock,$(SBINDEST)/clock.pl}
	ln -s {harddrake2,$(SBINDEST)/drakhardware}
	ln -s {keyboarddrake,$(SBINDEST)/drakkeyboard}
	ln -s {localedrake,$(BINDEST)/draklocale}
	ln -s {logdrake,$(SBINDEST)/draklog}
	ln -s {mousedrake,$(SBINDEST)/drakmouse}
	ln -s {net_monitor,$(SBINDEST)/draknet_monitor}
	ln -s {printerdrake,$(SBINDEST)/drakprinter}
	ln -s {scannerdrake,$(SBINDEST)/drakscanner}
	mkdir -p $(PREFIX)/usr/share/man/man{5,8}
	for i in 5 8; do install -m 644 standalone/man/C/man$$i/* $(PREFIX)/usr/share/man/man$$i; done