mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-23 14:42:29 +01:00
* New maintainer [Closes: #632875] * New upstream version, now from git. [Closes: #556677] * New package wmaker-common (arch independent files) * removed the asclock diversions from the wmaker scripts * new package wmaker-common with the arch independent files * debian/patches are now DEP-3 * debian/copyright is now DEP-5 * Standard-Version is now 3.9.2 * manpages moved to upstream * solved some problems with .la files (lintian clean)
245 lines
9.1 KiB
Makefile
Executable File
245 lines
9.1 KiB
Makefile
Executable File
#!/usr/bin/make -f
|
|
# GNU Copyright 1997-2005 Marcelo Magallon <mmagallo@debian.org>
|
|
export DH_VERBOSE=1
|
|
|
|
package := wmaker
|
|
version := $(shell dpkg-parsechangelog | grep-dctrl -ne -sVersion -FVersion .)
|
|
|
|
SHELL=/bin/sh
|
|
CFLAGS = -g -Wall -DGLOBAL_DEFAULTS_SUBDIR="\\\"GNUstep/Defaults\\\""
|
|
|
|
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
|
CFLAGS += -O0
|
|
else
|
|
CFLAGS += -O2
|
|
endif
|
|
|
|
ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
|
|
CFLAGS += -DDEBUG
|
|
endif
|
|
|
|
# These are used for cross-compiling and for saving the configure script
|
|
# from having to guess our platform (since we know it already)
|
|
export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
|
export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
|
|
|
ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
|
|
HOSTSPEC := --build $(DEB_HOST_GNU_TYPE)
|
|
else
|
|
HOSTSPEC := --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
|
|
endif
|
|
|
|
LINGUAS := $(patsubst po/%.po, %, $(wildcard po/*.po))
|
|
|
|
XLOCALE := --disable-locale
|
|
MODELOCK := --enable-modelock
|
|
XINERAMA := --enable-xinerama
|
|
# USERMENU := --enable-usermenu
|
|
# SHAPE_EXT := --disable-shape
|
|
# USE_SHM := --disable-shm
|
|
# USE_XPM := --disable-xpm
|
|
# USE_PNG := --disable-png
|
|
# USE_JPEG := --disable-jpeg
|
|
# USE_GIF := --disable-gif
|
|
# USE_TIFF := --disable-tiff
|
|
|
|
WMAKER_OPTIONS := $(XLOCALE) $(MODELOCK) $(XINERAMA) \
|
|
$(USERMENU) $(SHAPE_EXT) $(USE_SHM) \
|
|
$(USE_XPM) $(USE_PNG) $(USE_JPEG) $(USE_GIF) $(USE_TIFF) \
|
|
$(HOSTSPEC)
|
|
|
|
TOPSRCDIR := $(shell pwd)
|
|
|
|
WMAKER := wmaker
|
|
WMAKER_COMMON := wmaker-common
|
|
WMAKER_DBG := wmaker-dbg
|
|
LIBWRASTER := libwraster3
|
|
LIBWRASTERDEV := $(LIBWRASTER)-dev
|
|
LIBWINGS := libwings-dev
|
|
|
|
# Be careful with the leading / because some of these values are going
|
|
# to be hardcoded into the executables
|
|
BASEDIR := /usr
|
|
CONFDIR := /etc
|
|
BINDIR := $(BASEDIR)/bin
|
|
INCLUDEDIR := $(BASEDIR)/include
|
|
SHAREDIR := $(BASEDIR)/share
|
|
DOCDIR := $(SHAREDIR)/doc
|
|
MANDIR := $(SHAREDIR)/man
|
|
MAN1DIR := $(MANDIR)/man1
|
|
MAN8DIR := $(MANDIR)/man8
|
|
LIBDIR := $(SHAREDIR)/lib
|
|
PKGLIBDIR := $(SHAREDIR)/lib/WindowMaker
|
|
NLSDIR := $(SHAREDIR)/locale
|
|
WMCONFDIR := $(CONFDIR)/X11/WindowMaker
|
|
WMSHAREDIR := $(SHAREDIR)/WindowMaker
|
|
WMDOCDIR := $(DOCDIR)/wmaker
|
|
GNUSTEPDIR := $(LIBDIR)/GNUstep/System
|
|
GNUSTEPCONFDIR := $(CONFDIR)/GNUstep
|
|
DEFAULTSDIR := $(GNUSTEPCONFDIR)/Defaults
|
|
PIXMAPDIR := $(INCLUDEDIR)/X11/pixmaps
|
|
GNUSTEPAPPS := $(GNUSTEPDIR)/Applications
|
|
WPREFSAPPDIR := $(GNUSTEPAPPS)/WPrefs.app
|
|
|
|
WPREFSSRCDIR := $(TOPSRCDIR)/WPrefs.app
|
|
WRASTERSRCDIR := $(TOPSRCDIR)/wrlib
|
|
WINGSSRCDIR := $(TOPSRCDIR)/WINGs
|
|
|
|
DEBDIR := $(TOPSRCDIR)/debian
|
|
DEBDIR_TMP := $(DEBDIR)/tmp
|
|
|
|
WMAKER_TMP := $(DEBDIR)/$(WMAKER)
|
|
WMAKER_COMMON_TMP := $(DEBDIR)/$(WMAKER_COMMON)
|
|
WMAKER_DBG_TMP := $(DEBDIR)/$(WMAKER_DBG)
|
|
LIBWRASTER_TMP := $(DEBDIR)/$(LIBWRASTER)
|
|
LIBWRASTERDEV_TMP := $(DEBDIR)/$(LIBWRASTERDEV)
|
|
LIBWINGS_TMP := $(DEBDIR)/$(LIBWINGS)
|
|
|
|
RM := rm -f
|
|
|
|
COMMON_OPTIONS := --prefix=$(BASEDIR) \
|
|
--mandir=$(MANDIR) \
|
|
--includedir=$(INCLUDEDIR) \
|
|
--sysconfdir=$(CONFDIR) \
|
|
--datadir=$(SHAREDIR) \
|
|
--with-nlsdir=$(NLSDIR) \
|
|
--with-pixmapdir=$(PIXMAPDIR) \
|
|
--with-gnustepdir=$(GNUSTEPDIR)
|
|
|
|
install_file := install -p -o root -g root -m 0644
|
|
install_prog := install -p -o root -g root -m 0755
|
|
|
|
%:
|
|
dh $@
|
|
|
|
override_dh_auto_configure:
|
|
$(TOPSRCDIR)/autogen.sh
|
|
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
|
|
cp -f /usr/share/misc/config.sub config.sub
|
|
endif
|
|
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
|
|
cp -f /usr/share/misc/config.guess config.guess
|
|
endif
|
|
LINGUAS="$(LINGUAS)" $(TOPSRCDIR)/configure $(COMMON_OPTIONS) \
|
|
$(WMAKER_OPTIONS) CFLAGS="$(CFLAGS)"
|
|
|
|
override_dh_clean:
|
|
dh_clean
|
|
# rm the file WMRootMenu, added by WindowMaker/Defaults/Makefile
|
|
$(RM) WindowMaker/Defaults/WMRootMenu
|
|
# quilt (I do not why is not automatically)
|
|
QUILT_PATCHES=debian/patches quilt pop -a -R || test $$? = 2
|
|
|
|
override_dh_installmenu:
|
|
dh_installmenu -a --noscripts
|
|
# Copy extra menu files to the WMCONFIG
|
|
$(install_prog) $(DEBDIR)/appearance.menu-method \
|
|
$(WMAKER_COMMON_TMP)/etc/menu-methods/wmappearance
|
|
$(install_file) $(TOPSRCDIR)/WindowMaker/appearance.menu \
|
|
$(WMAKER_COMMON_TMP)/$(WMCONFDIR)/
|
|
$(install_file) $(TOPSRCDIR)/WindowMaker/background.menu \
|
|
$(WMAKER_COMMON_TMP)/$(WMCONFDIR)/
|
|
$(install_file) $(TOPSRCDIR)/WindowMaker/wmmacros \
|
|
$(WMAKER_COMMON_TMP)/$(WMCONFDIR)/
|
|
touch $(WMAKER_COMMON_TMP)/$(WMCONFDIR)/menu.prehook
|
|
touch $(WMAKER_COMMON_TMP)/$(WMCONFDIR)/menu.posthook
|
|
# Now, change the #wmdatadir# string to $(WMSHAREDIR)
|
|
perl -pi -e 's:#wmdatadir#:$(WMSHAREDIR):' $(WMAKER_COMMON_TMP)/$(WMCONFDIR)/wmmacros
|
|
perl -pi -e 's:#wmdatadir#:$(WMSHAREDIR):' $(WMAKER_COMMON_TMP)/$(WMSHAREDIR)/wmmacros
|
|
perl -pi -e 's:#wmdatadir#:$(WMSHAREDIR):' $(WMAKER_COMMON_TMP)/$(WMSHAREDIR)/plmenu
|
|
perl -pi -e 's:#wmdatadir#:$(WMSHAREDIR):' `find $(WMAKER_COMMON_TMP)/$(WMSHAREDIR) -name plmenu.*`
|
|
perl -pi -e 's:#wmdatadir#:$(WMSHAREDIR):' $(WMAKER_COMMON_TMP)/$(DEFAULTSDIR)/WMRootMenu
|
|
perl -pi -e 's:#wmdatadir#:$(WMSHAREDIR):' $(WMAKER_COMMON_TMP)/$(WMSHAREDIR)/Defaults/WMRootMenu
|
|
|
|
override_dh_installdocs:
|
|
dh_installdocs -a
|
|
$(install_file) $(WINGSSRCDIR)/README \
|
|
$(LIBWINGS_TMP)/$(DOCDIR)/$(LIBWINGS)/README.WINGs
|
|
$(install_file) $(WRASTERSRCDIR)/README \
|
|
$(LIBWRASTER_TMP)/$(DOCDIR)/$(LIBWRASTER)/README.wrlib
|
|
# Why?
|
|
$(install_file) $(DEBDIR)/copyright \
|
|
$(WMAKER_COMMON_TMP)/$(DOCDIR)/$(WMAKER_COMMON)/
|
|
|
|
|
|
override_dh_installchangelogs:
|
|
dh_installchangelogs
|
|
dh_installchangelogs ChangeLog upstream
|
|
|
|
override_dh_install:
|
|
dh_install
|
|
dh_strip -a --dbg-package=$(WMAKER_DBG)
|
|
mv $(DEBDIR_TMP)/etc/WindowMaker/* $(WMAKER_COMMON_TMP)/$(DEFAULTSDIR)/
|
|
rmdir $(DEBDIR_TMP)/etc/WindowMaker
|
|
|
|
# Now begin fixing stuff
|
|
$(install_file) $(DEBDIR)/wmaker-common.desktop $(WMAKER_COMMON_TMP)/usr/share/xsessions
|
|
|
|
# First, provide a wrapper to compensate for Window Maker's funny first
|
|
# start up requierements
|
|
|
|
# WMaker and WMaker debug
|
|
mv $(WMAKER_TMP)/$(BINDIR)/wmaker \
|
|
$(WMAKER_TMP)/usr/lib/WindowMaker/WindowMaker
|
|
mv $(WMAKER_DBG_TMP)/usr/lib/debug$(BINDIR)/wmaker \
|
|
$(WMAKER_DBG_TMP)/usr/lib/debug/usr/lib/WindowMaker/WindowMaker
|
|
|
|
# convertfonts and convertfonts debug
|
|
mv $(WMAKER_TMP)/$(BINDIR)/convertfonts \
|
|
$(WMAKER_TMP)/usr/lib/WindowMaker/
|
|
mv $(WMAKER_DBG_TMP)/usr/lib/debug$(BINDIR)/convertfonts \
|
|
$(WMAKER_DBG_TMP)/usr/lib/debug/usr/lib/WindowMaker/
|
|
|
|
# WPrefs
|
|
mv $(DEBDIR_TMP)/$(WPREFSAPPDIR)/WPrefs \
|
|
$(WMAKER_TMP)/usr/lib/GNUstep/System/Applications/WPrefs.app/WPrefs
|
|
|
|
$(install_prog) $(DEBDIR)/wmaker.sh $(WMAKER_COMMON_TMP)/$(BINDIR)/wmaker
|
|
|
|
# place wm-oldmenu2new under a more appropiate directory
|
|
-mv $(DEBDIR_TMP)/$(BINDIR)/wm-oldmenu2new $(WMAKER_COMMON_TMP)/$(WMDOCDIR)
|
|
|
|
# the next is stricly not necessary, because there's a symlink in place,
|
|
# but I don't want to abuse it. Some dumb program uses that path and is a
|
|
# PITA to modify it)
|
|
perl -pi -e 's:$(WPREFSAPPDIR)/WPrefs:$(BINDIR)/WPrefs:' \
|
|
$(WMAKER_COMMON_TMP)/$(DEFAULTSDIR)/WMState
|
|
|
|
# Fix permissions
|
|
chmod +x $(WMAKER_COMMON_TMP)/usr/share/WindowMaker/autostart.sh
|
|
chmod +x $(WMAKER_COMMON_TMP)/usr/share/WindowMaker/exitscript.sh
|
|
|
|
# Install our transition script
|
|
$(install_prog) $(DEBDIR)/upgrade-windowmaker-defaults \
|
|
$(WMAKER_COMMON_TMP)/usr/sbin/upgrade-windowmaker-defaults
|
|
|
|
# This file qualifies as "unpatchable"
|
|
cp $(DEBDIR)/WMWindowAttributes $(WMAKER_COMMON_TMP)/$(DEFAULTSDIR)/
|
|
# Need this file for start up
|
|
echo '"menu.hook"' > $(WMAKER_COMMON_TMP)/$(DEFAULTSDIR)/WMRootMenu
|
|
|
|
# the plethora of readmes
|
|
cp $(TOPSRCDIR)/po/README \
|
|
$(WMAKER_COMMON_TMP)/$(WMDOCDIR)/README.po
|
|
cp $(TOPSRCDIR)/README.definable-cursor \
|
|
$(WMAKER_COMMON_TMP)/$(WMDOCDIR)/README.definable-cursor
|
|
cp $(WPREFSSRCDIR)/README \
|
|
$(WMAKER_COMMON_TMP)/$(WMDOCDIR)/README.WPrefs
|
|
cp $(WPREFSSRCDIR)/po/README \
|
|
$(WMAKER_COMMON_TMP)/$(WMDOCDIR)/README.WPrefs.po
|
|
|
|
# Copy in the Debian theme
|
|
cp $(DEBDIR)/Debian.theme $(WMAKER_COMMON_TMP)/$(WMSHAREDIR)/Themes/Debian
|
|
uudecode -o $(WMAKER_COMMON_TMP)/$(WMSHAREDIR)/Backgrounds/debian.tiff \
|
|
$(DEBDIR)/debian.tiff.uu
|
|
# This has the new default Debian theme settings.
|
|
cp $(DEBDIR)/WindowMaker.default $(WMAKER_COMMON_TMP)/$(DEFAULTSDIR)/WindowMaker
|
|
|
|
# Fix the get-*-flags scripts
|
|
perl -pi -e '/^WCFLAGS/ && s:=.*:="-I/usr/X11R6/include":; /^WLFLAGS/ && s:=.*:="-L/usr/X11R6/lib":;' `find $(LIBWRASTERDEV_TMP) -name get-*-flags`
|
|
perl -pi -e '/^WCFLAGS/ && s:=.*:="-I/usr/X11R6/include":; /^WLFLAGS/ && s:=.*:="-L/usr/X11R6/lib":;' `find $(LIBWINGS_TMP) -name get-*-flags`
|
|
perl -pi -e '/^WLIBS/ && s:=.*:="-lwraster":' `find $(LIBWRASTERDEV_TMP) -name get-wraster-flags`
|
|
perl -pi -e '/^WLIBS/ && s:=.*:="-lWINGs -lwraster -lXft":' `find $(LIBWINGS_TMP) -name get-wings-flags`
|
|
perl -pi -e '/^WLIBS/ && s:=.*:="-lWUtil -lX11":' `find $(LIBWINGS_TMP) -name get-wutil-flags`
|
|
|