1 |
# $Id$ |
# $Id$ |
2 |
|
|
3 |
DESTDIR = |
include Makefile.inc |
4 |
PREFIX = /usr |
|
5 |
ETCDIR = /etc |
SUBDIRS = src conf |
6 |
BINDIR = $(PREFIX)/bin |
|
7 |
SBINDIR = $(PREFIX)/sbin |
INSTALLDIRS = $(SUBDIRS:%=install-%) |
8 |
LIBDIR = $(PREFIX)/lib |
CLEANDIRS = $(SUBDIRS:%=clean-%) |
9 |
DATADIR = $(PREFIX)/share |
|
10 |
RUNDIR = /var/lib/mcored |
all: $(SUBDIRS) |
11 |
MCLIBDIR = $(LIBDIR)/mcored |
|
12 |
RCINITDIR = $(ETCDIR)/rc.d/init.d |
install: $(INSTALLDIRS) |
13 |
CERTDIR = ${ETCDIR}/ssl |
$(INSTALL) -d $(DESTDIR)/$(MCORE_LIBDIR) |
14 |
PIXMAPSDIR = $(DATADIR)/pixmaps |
$(INSTALL) -m0644 VERSION $(DESTDIR)/${MCORE_LIBDIR}/VERSION |
15 |
DRACUTCONFDIR = ${ETCDIR}/dracut.conf.d |
|
16 |
DRACUTMODULESDIR = ${LIBDIR}/dracut/modules.d |
clean: $(CLEANDIRS) |
17 |
SYSTEMINIT = systemd |
|
18 |
SPLASH = plymouth |
$(SUBDIRS): |
19 |
|
$(MAKE) -C $@ |
20 |
CC = gcc |
|
21 |
CHMOD = chmod |
$(INSTALLDIRS): |
22 |
INSTALL = install |
$(MAKE) -C $(@:install-%=%) install |
23 |
LN = ln -snf |
|
24 |
SED = sed |
$(CLEANDIRS): |
25 |
PKGCONFIG = pkg-config |
$(MAKE) -C $(@:clean-%=%) clean |
26 |
|
|
27 |
GLOBAL_CLASSES = daemon hwdetection sessionauth |
.PHONY: $(SUBDIRS) |
28 |
CLIENT_CLASSES = boot citrix fluxbox graphic hardware input mage network printing system vnc |
.PHONY: $(INSTALLDIRS) |
29 |
ifeq ($(SPLASH),plymouth) |
.PHONY: $(CLEANDIRS) |
30 |
CLIENT_SPLASH_CLASSES = plymouth |
.PHONY: all install clean |
|
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/idesk-sysinfo |
|
|
|
|
|
src/idesk-sysinfo: src/idesk-sysinfo.in |
|
|
$(SED) "s:@@PIXMAPSDIR@@:$(PIXMAPSDIR):g" $< >$@ |
|
|
$(CHMOD) +x $@ |
|
|
|
|
|
src/xinfo: src/xinfo.o |
|
|
$(CC) -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 |
|
|
$(INSTALL) -m0755 src/xinfo $(DESTDIR)/$(BINDIR)/xinfo |
|
|
$(INSTALL) -m0755 src/idesk-sysinfo $(DESTDIR)/$(BINDIR)/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/net-lib.sh $(DESTDIR)/$(DRACUTMODULESDIR)/40mcored |
|
|
$(INSTALL) -m0755 dracut/run-mcored.sh $(DESTDIR)/$(DRACUTMODULESDIR)/40mcored |
|
|
|
|
|
clean: |
|
|
rm -f src/xinfo.o src/xinfo |
|
|
rm -f src/idesk-sysinfo |
|