SHELL := /bin/bash PATH := $(PATH):$(shell pwd)/build TDE_VERSION := $(shell echo $${TDE_VERSION:-14.0.7}) TDE_GIT_DIR := $(shell cd ../../tde; pwd) TDE_PACKAGING_DIR := $(shell [ -n "$${TDE_PACKAGING_DIR}" ] && cd "$${TDE_PACKAGING_DIR}" || cd ..; pwd) DIST := $(shell rpm -E %dist) buildpkg = \ @echo "Now processing '$(1)' [from $(TDE_PACKAGING_DIR)]."; \ export TDE_PACKAGING_DIR=$(TDE_PACKAGING_DIR); \ if [ "${REBUILD}" = "$(1)" ] || ! is_latest_package_installed.sh "$(1)" ${TDE_VERSION}; then \ echo " Package '${1}' is not yet installed."; \ if [ "${REBUILD}" = "$(1)" ] || ! is_latest_package_built.sh "$(1)" ${TDE_VERSION}; then \ echo " Building package."; \ build_rpm_package.sh "$(1)" ${TDE_VERSION} || exit 1; \ echo " Updating repository."; \ update_repository.sh ${TDE_VERSION}; \ fi; \ echo "Now installing package '$(1)'"; \ install_rpm_package.sh "$(1)" || exit 2; \ fi; \ echo all: dependencies main libraries applications i18n meta dependencies: tqt3 tqtinterface akode arts libart_lgpl libcaldav libcarddav sip4-tqt tqca tqca-tls avahi-tqt dbus-tqt dbus-1-tqt main: tdelibs tdebase tdeaccessibility tdeadmin tdegames tdemultimedia tdepim tdetoys tdevelop tdeaddons tdeartwork tdebindings tdeedu tdegraphics tdenetwork tdesdk tdeutils tdewebdev libraries: kipi-plugins libkdcraw libkexiv2 libkipi libksquirrel libtdeldap libtqt-perl pytdeextensions python-trinity applications: abakus amarok basket bibletime digikam dolphin filelight gtk3-tqt-engine gtk-qt-engine gwenview k3b k9copy kaffeine kaffeine-mozilla kasablanca katapult kbarcode kbfx kbibtex kbiff kbookreader kchmviewer kcmautostart kcmldap kcmldapcontroller kcmldapmanager kcpuload kdbg kdbusnotification kdiff3 kdirstat keep kerberostray kftpgrabber kile kima kiosktool kkbswitch klcddimmer kmplayer kmyfirewall kmymoney knemo knetload knetstats knetworkmanager8 knights knmap knowit knutclient koffice konversation kopete-otr kpicosim kpilot krecipes krename krusader kscope ksensors kshowmail kshutdown ksplash-engine-moodin ksquirrel kstreamripper ksystemlog ktechlab ktorrent kvirc kvkbd kvpnc mplayerthumbs piklab potracegui qt4-tqt-theme-engine rosegarden smartcardauth smb4k soundkonverter tde-guidance tdeio-apt tdeio-ftps tdeio-locate tdeio-sword tdeio-umountwrapper tdenetworkmanager tdepowersave tderadio tde-style-lipstik tde-style-qtcurve tdesudo tdesvn tde-systemsettings tdmtheme tellico tork twin-style-crystal wlassistant yakuake i18n: gwenview-i18n k3b-i18n koffice-i18n tde-i18n extras: icons-crystalsvg-updated icons-kfaenza icons-nuvola icons-oxygen kdevmon kdissert klibido kompose koverartist kpacman mathemagics png2qrgb ### Trinity Dependencies akode: tqtinterface trinity-filesystem $(call buildpkg,dependencies/akode) arts: tqtinterface trinity-filesystem esound $(call buildpkg,dependencies/arts) avahi-tqt: tqtinterface $(call buildpkg,dependencies/avahi-tqt) dbus-1-tqt: tqtinterface $(call buildpkg,dependencies/dbus-1-tqt) dbus-tqt: tqtinterface $(call buildpkg,dependencies/dbus-tqt) libart_lgpl: tqtinterface $(call buildpkg,dependencies/libart-lgpl) libcaldav: tqtinterface $(call buildpkg,dependencies/libcaldav) libcarddav: tqtinterface $(call buildpkg,dependencies/libcarddav) libr: $(call buildpkg,dependencies/libr) python-tqt: sip4-tqt tdelibs tqscintilla $(call buildpkg,dependencies/python-tqt) sip4-tqt: $(call buildpkg,dependencies/sip4-tqt) tqca: tqtinterface $(call buildpkg,dependencies/tqca) tqca-tls: tqtinterface tqca $(call buildpkg,dependencies/tqca-tls) tqscintilla: tqca-tls tdelibs $(call buildpkg,dependencies/tqscintilla) tqt3: $(call buildpkg,dependencies/tqt3) tqtinterface: tqt3 $(call buildpkg,dependencies/tqtinterface) # Main packages tdeaccessibility: tdebase tdemultimedia $(call buildpkg,main/tdeaccessibility) tdeaddons: tdebase tdegames tdemultimedia tdenetwork tdepim $(call buildpkg,main/tdeaddons) tdeadmin: tdebase $(call buildpkg,main/tdeadmin) tdeartwork: tdebase $(call buildpkg,main/tdeartwork) tdebase: tdelibs htdig fileshareset $(call buildpkg,main/tdebase) tdebindings: tdebase tqscintilla $(call buildpkg,main/tdebindings) tdeedu: tdebase $(call buildpkg,main/tdeedu) tdegames: tdebase tdemultimedia $(call buildpkg,main/tdegames) tdegraphics: tdebase poppler lcms $(call buildpkg,main/tdegraphics) tdelibs: tqt3 tqtinterface arts dbus-tqt dbus-1-tqt avahi-tqt fileshareset trinity-filesystem libart_lgpl file [ -x /usr/libexec/utempter/utempter ] && sudo chmod a+r /usr/libexec/utempter/utempter || : $(call buildpkg,main/tdelibs) tdemultimedia: tdebase akode $(call buildpkg,main/tdemultimedia) tdenetwork: tdebase rdesktop $(call buildpkg,main/tdenetwork) tdepim: tdebase libcaldav libcarddav dirmngr $(call buildpkg,main/tdepim) tdesdk: tdebase tdebindings $(call buildpkg,main/tdesdk) tdetoys: tdebase $(call buildpkg,main/tdetoys) tdeutils: tdebase $(call buildpkg,main/tdeutils) tdevelop: tdebase tdesdk $(call buildpkg,main/tdevelop) tdewebdev: tdebase tdesdk $(call buildpkg,main/tdewebdev) ### 3rd party libraries and tools cscope: # Build on PCLOS only ifneq ($(wildcard /etc/pclinuxos-release),) $(call buildpkg,3rdparty/cscope) endif dirmngr: # Build on CentOS >= 7 ifneq ($(wildcard /boot/vmlinuz*.el7*),) $(call buildpkg,3rdparty/dirmngr) endif esound: # Build on Mageia, Fedora >= 23, Opensuse >= 15.0 ifneq (,$(filter $(DIST),.el8 .mga5 .mga6 .mga7 .fc23 .fc24 .fc25 .fc26 .fc27 .oss150 .oss151 .osstw)) $(call buildpkg,3rdparty/esound) endif gmime: # Build on CentOS 6 ifneq (,$(filter $(DIST),.el6)) $(call buildpkg,3rdparty/gmime) endif htdig: # build on Mageia, and CentOS >= 7 ifneq ($(wildcard /etc/mageia-release /boot/vmlinuz*.el7* /boot/loader/entries/*el8*),) $(call buildpkg,extras/htdig) endif imlib1: # Do NOT build on Fedora, nor CentOS, nor PCLOS ifeq ($(wildcard /etc/fedora-release),) ifeq (,$(filter $(DIST),.el5 .el6 .el7)) $(call buildpkg,3rdparty/imlib1) endif endif lcms: # Build on EL7, MGA7, OSS >= 150, OSSTW ifneq (,$(filter $(DIST),.el7 .el8 .oss150 .oss151 .osstw .mga7)) $(call buildpkg,3rdparty/lcms) endif lilypond: mftrace # Build on CentOS 6 only ifneq (,$(filter $(DIST),.el6)) $(call buildpkg,3rdparty/lilypond) endif mftrace: # Build on CentOS 6 only ifneq (,$(filter $(DIST),.el6)) $(call buildpkg,3rdparty/mftrace) endif mp4v2: # Build on OpenSUSE only ifneq (,$(filter $(DIST),.oss131 .oss132 .oss421 .oss422 .oss423 .oss150 .oss151 .osstw)) $(call buildpkg,3rdparty/mp4v2) endif pcsc-perl: # Build on CentOS 5 ifneq (,$(filter $(DIST),.el5)) $(call buildpkg,3rdparty/pcsc-perl) endif poppler: # Build on CentOS 5 only (vendor-provided Poppler is too old) ifneq (,$(filter $(DIST),.el5)) $(call buildpkg,3rdparty/poppler) endif python-qt3: tdelibs sip $(call buildpkg,3rdparty/python-qt3) rdesktop: # Build on OpenSUSE >= 15.0 only ifneq (,$(filter $(DIST),.oss150)) $(call buildpkg,3rdparty/rdesktop) endif rdiff-backup: # Only for PCLINUXOS ifneq ($(wildcard /etc/pclinuxos-release),) $(call buildpkg,3rdparty/rdiff-backup) endif recode: # Build on OpenSUSE >= 15.0 only ifneq (,$(filter $(DIST),.oss150 .oss151 .osstw)) $(call buildpkg,3rdparty/recode) endif sip: # Build on CentOS 5 only (vendor-provided SIP is too old) ifneq (,$(filter $(DIST),.el5)) $(call buildpkg,3rdparty/sip) endif sword: ifneq (,$(filter $(DIST),.el5)) $(call buildpkg,3rdparty/sword) endif torsocks: ifneq (,$(filter $(DIST), .oss)) $(call buildpkg,3rdparty/torsocks) endif wv2: # Do NOT build on Mageia or openSUSE or PCLINUXOS ifeq (,$(filter $(DIST), .mga5 .mga6 .mga7 .oss421 .oss422 .oss423 .oss150 .oss151 .osstw .pclos)) $(call buildpkg,3rdparty/wv2) endif yaz: # Build on CentOS 7, CentOS 8 ifneq (,$(filter $(DIST), .el7 .el8)) $(call buildpkg,3rdparty/yaz) endif ### Trinity Libraries kipi-plugins: tqtinterface tdelibs tdepim libkdcraw libkexiv2 libkipi $(call buildpkg,libraries/kipi-plugins) libkdcraw: tqtinterface lcms $(call buildpkg,libraries/libkdcraw) libkexiv2: tqtinterface tdelibs $(call buildpkg,libraries/libkexiv2) libkipi: tqtinterface $(call buildpkg,libraries/libkipi) libksquirrel: tdelibs $(call buildpkg,libraries/libksquirrel) libtdeldap: tqtinterface $(call buildpkg,libraries/libtdeldap) libtqt-perl: tqtinterface $(call buildpkg,libraries/libtqt-perl) mlt: tqtinterface $(call buildpkg,libraries/mlt) pytdeextensions: tqtinterface python-trinity $(call buildpkg,libraries/pytdeextensions) python-trinity: tqtinterface python-tqt $(call buildpkg,libraries/python-trinity) ### Trinity Applications abakus: tdebase $(call buildpkg,applications/abakus) adept: tdebase $(call buildpkg,applications/adept) amarok: tdebase mp4v2 $(call buildpkg,applications/amarok) basket: tdebase tdepim $(call buildpkg,applications/basket) bibletime: tdebase sword $(call buildpkg,applications/bibletime) compizconfig-backend-kconfig: tdebase $(call buildpkg,applications/compizconfig-backend-kconfig) desktop-effects-tde: tdebase $(call buildpkg,applications/desktop-effects-tde) digikam: tdebase libkdcraw libkexiv2 libkipi libksquirrel $(call buildpkg,applications/digikam) dolphin: tdebase $(call buildpkg,applications/dolphin) filelight: tdebase $(call buildpkg,applications/filelight) filelight-l10n: tdebase $(call buildpkg,applications/filelight-l10n) fusion-icon: tdebase $(call buildpkg,applications/fusion-icon) gtk3-tqt-engine: tdebase # Do NOT build on CentOS 5, CentOS 6 ifeq (,$(filter $(DIST),.el5 .el6)) $(call buildpkg,applications/gtk3-tqt-engine) endif gtk-qt-engine: tdebase # Do NOT build on CentOS 5 (GTK2 is too old) ifeq (,$(filter $(DIST),.el5)) $(call buildpkg,applications/gtk-qt-engine) endif gwenview: tdebase $(call buildpkg,applications/gwenview) k3b: tdebase $(call buildpkg,applications/k3b) k9copy: tdebase k3b $(call buildpkg,applications/k9copy) kaffeine: tdebase $(call buildpkg,applications/kaffeine) kaffeine-mozilla: tdebase kaffeine $(call buildpkg,applications/kaffeine-mozilla) kasablanca: tdebase $(call buildpkg,applications/kasablanca) katapult: tdebase $(call buildpkg,applications/katapult) kbarcode: tdebase $(call buildpkg,applications/kbarcode) kbfx: tdebase $(call buildpkg,applications/kbfx) kbibtex: tdebase yaz $(call buildpkg,applications/kbibtex) kbiff: tdebase $(call buildpkg,applications/kbiff) kbookreader: tdebase $(call buildpkg,applications/kbookreader) kchmviewer: tdebase $(call buildpkg,applications/kchmviewer) kcmautostart: tdebase $(call buildpkg,applications/kcmautostart) kcmldap: tdebase libtdeldap ifeq (,$(filter $(DIST),.el5)) $(call buildpkg,applications/kcmldap) endif kcmldapcontroller: tdebase kcmldap ifeq (,$(filter $(DIST),.el5 .el6)) $(call buildpkg,applications/kcmldapcontroller) endif kcmldapmanager: tdebase kcmldap ifeq (,$(filter $(DIST),.el5)) $(call buildpkg,applications/kcmldapmanager) endif kcpuload: tdebase $(call buildpkg,applications/kcpuload) kdbg: tdebase $(call buildpkg,applications/kdbg) kdbusnotification: tdebase $(call buildpkg,applications/kdbusnotification) kdiff3: tdebase $(call buildpkg,applications/kdiff3) kdirstat: tdebase $(call buildpkg,applications/kdirstat) kdpkg: tdebase $(call buildpkg,applications/kdpkg) keep: tdebase rdiff-backup $(call buildpkg,applications/keep) kerberostray: tdebase ifeq (,$(filter $(DIST),.el5)) $(call buildpkg,applications/kerberostray) endif kerry: tdebase $(call buildpkg,applications/kerry) kftpgrabber: tdebase $(call buildpkg,applications/kftpgrabber) kgtk-qt3: tdebase # Do NOT build on CentOS 5 (GTK2 is too old) # Do NOT build on CentOS >=7 (GTK2 is too new) # Do NOT build on Fedora >= 20 (GTK2 is too new) # Do NOT build on Mageia >= 4 (GTK2 is too new) ifeq ($(wildcard /boot/vmlinuz*.el5* /boot/vmlinuz*.el7* /boot/vmlinuz*.fc20* /boot/vmlinuz*.mga4*),) $(call buildpkg,applications/kgtk-qt3) endif kile: tdebase $(call buildpkg,applications/kile) kima: tdebase $(call buildpkg,applications/kima) kiosktool: tdebase $(call buildpkg,applications/kiosktool) kkbswitch: tdebase $(call buildpkg,applications/kkbswitch) klcddimmer: tdebase $(call buildpkg,applications/klcddimmer) kmplayer: tdebase $(call buildpkg,applications/kmplayer) kmyfirewall: tdebase $(call buildpkg,applications/kmyfirewall) kmymoney: tdebase recode $(call buildpkg,applications/kmymoney) knemo: tdebase $(call buildpkg,applications/knemo) knetload: tdebase $(call buildpkg,applications/knetload) knetstats: tdebase $(call buildpkg,applications/knetstats) knetworkmanager8: tdebase # RHEL6 only ifneq (,$(filter $(DIST),.el6)) $(call buildpkg,applications/knetworkmanager8) endif knights: tdebase $(call buildpkg,applications/knights) knmap: tdebase $(call buildpkg,applications/knmap) knowit: tdebase $(call buildpkg,applications/knowit) knutclient: tdebase $(call buildpkg,applications/knutclient) koffice: tdebase tdegraphics wv2 $(call buildpkg,applications/koffice) konversation: tdebase $(call buildpkg,applications/konversation) kopete-otr: tdebase tdenetwork $(call buildpkg,applications/kopete-otr) kpicosim: tdebase $(call buildpkg,applications/kpicosim) kpilot: tdebase tdepim $(call buildpkg,applications/kpilot) kpowersave: tdebase $(call buildpkg,applications/kpowersave) krecipes: tdebase $(call buildpkg,applications/krecipes) krename: tdebase $(call buildpkg,applications/krename) krusader: tdebase tdebindings $(call buildpkg,applications/krusader) kscope: tdebase cscope $(call buildpkg,applications/kscope) ksensors: tdebase $(call buildpkg,applications/ksensors) kshowmail: tdebase tdepim $(call buildpkg,applications/kshowmail) kshutdown: tdebase $(call buildpkg,applications/kshutdown) ksplash-engine-moodin: tdebase $(call buildpkg,applications/ksplash-engine-moodin) ksquirrel: tdebase libkipi libksquirrel $(call buildpkg,applications/ksquirrel) kstreamripper: tdebase $(call buildpkg,applications/kstreamripper) ksystemlog: tdebase $(call buildpkg,applications/ksystemlog) ktechlab: tdebase $(call buildpkg,applications/ktechlab) ktorrent: tdebase $(call buildpkg,applications/ktorrent) kvirc: tdebase $(call buildpkg,applications/kvirc) kvkbd: tdebase $(call buildpkg,applications/kvkbd) kvpnc: tdebase $(call buildpkg,applications/kvpnc) mplayerthumbs: tdebase $(call buildpkg,applications/mplayerthumbs) piklab: tdebase $(call buildpkg,applications/piklab) potracegui: tdebase $(call buildpkg,applications/potracegui) qt4-tqt-theme-engine: tdebase ifeq (,$(filter $(DIST),.el5 .el6 .el8 .osstw)) $(call buildpkg,applications/qt4-tqt-theme-engine) endif rosegarden: tdebase lilypond ifeq (,$(filter $(DIST),.el5 .el7 .el8)) $(call buildpkg,applications/rosegarden) endif smartcardauth: tdebase pcsc-perl ifeq (,$(filter $(DIST),.el8)) $(call buildpkg,applications/smartcardauth) endif smb4k: tdebase $(call buildpkg,applications/smb4k) soundkonverter: tdebase $(call buildpkg,applications/soundkonverter) tde-guidance: tdebase pytdeextensions $(call buildpkg,applications/tde-guidance) tdeio-apt: tdebase $(call buildpkg,applications/tdeio-apt) tdeio-ftps: tdebase $(call buildpkg,applications/tdeio-ftps) tdeio-locate: tdebase $(call buildpkg,applications/tdeio-locate) tdeio-sword: tdebase sword $(call buildpkg,applications/tdeio-sword) tdeio-umountwrapper: tdebase $(call buildpkg,applications/tdeio-umountwrapper) tdenetworkmanager: tdebase # Do NOT build on CentOS 5, CentOS 6 ifeq (,$(filter $(DIST),.el5 .el6)) $(call buildpkg,applications/tdenetworkmanager) endif tdepowersave: tdebase # Do NOT build on CentOS 5 ifeq (,$(filter $(DIST),.el5)) $(call buildpkg,applications/tdepowersave) endif tderadio: tdebase $(call buildpkg,applications/tderadio) tde-style-lipstik: tdebase $(call buildpkg,applications/tde-style-lipstik) tde-style-qtcurve: tdebase $(call buildpkg,applications/tde-style-qtcurve) tdesudo: tdebase $(call buildpkg,applications/tdesudo) tdesvn: tdebase $(call buildpkg,applications/tdesvn) tde-systemsettings: tdebase $(call buildpkg,applications/tde-systemsettings) tdmtheme: tdebase $(call buildpkg,applications/tdmtheme) tellico: tdebase tdemultimedia $(call buildpkg,applications/tellico) tork: tdebase torsocks $(call buildpkg,applications/tork) twin-style-crystal: tdebase $(call buildpkg,applications/twin-style-crystal) wlassistant: tdebase $(call buildpkg,applications/wlassistant) yakuake: tdebase $(call buildpkg,applications/yakuake) ### Trinity Translations gwenview-i18n: tdebase $(call buildpkg,applications/gwenview-i18n) k3b-i18n: tdebase $(call buildpkg,applications/k3b-i18n) koffice-i18n: tdebase $(call buildpkg,applications/koffice-i18n) tde-i18n: tdebase $(call buildpkg,tde-i18n) ### Meta packages meta: $(call buildpkg,extras/trinity-desktop) ### Extra packages celestia: $(call buildpkg,extras/celestia) fileshareset: $(call buildpkg,extras/fileshareset) icons-crystalsvg-updated: $(call buildpkg,extras/icons-crystalsvg-updated) icons-kfaenza: $(call buildpkg,extras/icons-kfaenza) icons-nuvola: $(call buildpkg,extras/icons-nuvola) icons-oxygen: $(call buildpkg,extras/icons-oxygen) kdevmon: $(call buildpkg,extras/kdevmon) kdissert: $(call buildpkg,extras/kdissert) klibido: pan # Not on RHEL5, nor recent OpenSUSE ifeq (,$(filter $(DIST),.el5 .oss150 .osstw)) $(call buildpkg,extras/klibido) endif kompose: $(call buildpkg,extras/kompose) koverartist: $(call buildpkg,extras/koverartist) kpacman: $(call buildpkg,extras/kpacman) mathemagics: $(call buildpkg,extras/mathemagics) pan: gmime intltool ifeq (,$(filter $(DIST),.el5 .oss150 .osstw)) $(call buildpkg,3rdparty/pan) endif png2qrgb: $(call buildpkg,extras/png2qrgb) scribus: $(call buildpkg,extras/scribus) trinity-filesystem: $(call buildpkg,extras/trinity-filesystem) # Developers options git: cd "$(TDE_GIT_DIR)" && ./scripts/switch_all_submodules_to_head_and_clean anonymous tarballs: cd "$(TDE_GIT_DIR)" && COMPRESS=pigz SUFFIX=0 ./scripts/create_all_tarballs