# $Id$ DESTDIR = PREFIX = /usr ETCDIR = /etc BINDIR = $(PREFIX)/bin SBINDIR = $(PREFIX)/sbin LIBDIR = $(PREFIX)/lib RUNDIR = /var/lib/mcored MCLIBDIR = $(LIBDIR)/mcored RCINITDIR = $(ETCDIR)/rc.d/init.d CERTDIR = ${ETCDIR}/ssl DRACUTCONFDIR = ${ETCDIR}/dracut.conf.d DRACUTMODULESDIR = ${LIBDIR}/dracut/modules.d SYSTEMINIT = systemd SPLASH = plymouth INSTALL = install LN = ln -snf SED = sed -i PKGCONFIG = pkg-config GLOBAL_CLASSES = daemon hwdetection sessionauth CLIENT_CLASSES = boot citrix fluxbox graphic hardware input mage network printing system vnc ifeq ($(SPLASH),plymouth) CLIENT_SPLASH_CLASSES = plymouth else CLIENT_SPLASH_CLASSES = fbsplash endif ifeq ($(SYSTEMINIT),systemd) CLIENT_SYSTEM_CLASSES = systemd SYSTEMDUNITDIR = $(shell pkg-config --variable=systemdsystemunitdir systemd) else CLIENT_SYSTEM_CLASSES = sysvinit endif all: src/xinfo src/xinfo: src/xinfo.o gcc -o $@ $< -lX11 install: install-client-daemon install-client-services-$(SYSTEMINIT) install-dracut-module install-client-daemon: $(INSTALL) -d $(DESTDIR)/$(ETCDIR)/mcore $(INSTALL) -d $(DESTDIR)/$(MCLIBDIR)/include $(INSTALL) -d $(DESTDIR)/$(BINDIR) $(INSTALL) -d $(DESTDIR)/$(SBINDIR) $(INSTALL) -d $(DESTDIR)/$(RUNDIR) $(INSTALL) -d $(DESTDIR)/$(CERTDIR)/certs $(INSTALL) -m0700 -d $(DESTDIR)/$(CERTDIR)/private $(INSTALL) -m0644 conf/config.rc $(DESTDIR)/$(ETCDIR)/mcore/ $(INSTALL) -m0644 daemon/certs/mcored.pem $(DESTDIR)/$(CERTDIR)/certs $(INSTALL) -m0400 daemon/certs/mcored.key $(DESTDIR)/$(CERTDIR)/private $(INSTALL) -m0755 daemon/mcorepasswd.sh $(DESTDIR)/${MCLIBDIR}/mcorepasswd $(INSTALL) -m0755 daemon/generate-certificate.sh $(DESTDIR)/${MCLIBDIR}/mcore-generate-certificate $(INSTALL) -m0755 daemon/client/mcored.sh $(DESTDIR)/$(MCLIBDIR)/mcored $(INSTALL) -m0755 bin/idesk-sysinfo.sh $(DESTDIR)/$(MCLIBDIR)/idesk-sysinfo $(SED) "s:^\(MCLIBDIR=\).*:\1\"$(MCLIBDIR)\":" \ $(DESTDIR)/${MCLIBDIR}/mcorepasswd \ $(DESTDIR)/$(MCLIBDIR)/mcored $(LN) $(MCLIBDIR)/mcorepasswd $(DESTDIR)/$(BINDIR)/mcorepasswd $(LN) $(MCLIBDIR)/mcore-generate-certificate $(DESTDIR)/$(BINDIR)/mcore-generate-certificate $(LN) $(MCLIBDIR)/mcored $(DESTDIR)/$(SBINDIR)/mcored $(LN) $(MCLIBDIR)/idesk-sysinfo $(DESTDIR)/$(BINDIR)/idesk-sysinfo for class in $(GLOBAL_CLASSES); \ do \ $(INSTALL) -m0644 \ daemon/include/$${class}.global.class \ $(DESTDIR)/$(MCLIBDIR)/include/; \ done for class in $(CLIENT_CLASSES) $(CLIENT_SPLASH_CLASSES) $(CLIENT_SYSTEM_CLASSES); \ do \ $(INSTALL) -m0644 \ daemon/client/include/$${class}.client.class \ $(DESTDIR)/$(MCLIBDIR)/include/; \ done $(INSTALL) -m0644 VERSION $(DESTDIR)/${MCLIBDIR}/VERSION install-client-services-sysvinit: $(INSTALL) -d $(DESTDIR)/$(ETCDIR)/conf.d $(INSTALL) -d $(DESTDIR)/$(RCINITDIR) $(INSTALL) -m0644 daemon/client/mcored.confd $(DESTDIR)/$(ETCDIR)/conf.d/mcored $(INSTALL) -m0755 daemon/client/mcored.rc $(DESTDIR)/$(RCINITDIR)/mcored install-client-services-systemd: $(INSTALL) -d $(DESTDIR)/$(ETCDIR)/conf.d $(INSTALL) -d $(DESTDIR)/$(SYSTEMDUNITDIR) $(INSTALL) -m0644 daemon/client/mcored.confd $(DESTDIR)/$(ETCDIR)/conf.d/mcored $(INSTALL) -m0644 daemon/client/mcored.service $(DESTDIR)/$(SYSTEMDUNITDIR) install-dracut-module: $(INSTALL) -d $(DESTDIR)/$(DRACUTCONFDIR) $(INSTALL) -d $(DESTDIR)/$(DRACUTMODULESDIR)/40mcored $(INSTALL) -m0755 dracut/mcored.conf $(DESTDIR)/$(DRACUTCONFDIR)/10-mcored.conf $(INSTALL) -m0755 dracut/module-setup.sh $(DESTDIR)/$(DRACUTMODULESDIR)/40mcored $(INSTALL) -m0755 dracut/run-mcored.sh $(DESTDIR)/$(DRACUTMODULESDIR)/40mcored clean: rm -f src/xinfo.o src/xinfo