mirror of
https://github.com/abraunegg/onedrive
synced 2024-06-10 09:52:13 +02:00
7588774efb
The current code requires git even if there is not .git directory. Switch to piping the output of git directly to the version file, which makes sure that it is not called during if evaluation. Report and patch thanks to Sebastian Graf (sgraf812)
149 lines
4.3 KiB
Makefile
149 lines
4.3 KiB
Makefile
package = @PACKAGE_NAME@
|
|
version = @PACKAGE_VERSION@
|
|
prefix = @prefix@
|
|
# we don't use @exec_prefix@ because it usually contains '${prefix}' literally
|
|
# but we use @prefix@/bin/onedrive in the systemd unit files which are generated
|
|
# from the configure script.
|
|
# Thus, set exec_prefix unconditionally to prefix
|
|
# Alternative approach would be add dep on sed, and do manual generation in the Makefile.
|
|
# exec_prefix = @exec_prefix@
|
|
exec_prefix = @prefix@
|
|
datarootdir = @datarootdir@
|
|
datadir = @datadir@
|
|
srcdir = @srcdir@
|
|
bindir = @bindir@
|
|
mandir = @mandir@
|
|
sysconfdir = @sysconfdir@
|
|
docdir = $(datadir)/doc/$(package)
|
|
VPATH = @srcdir@
|
|
SED = @SED@
|
|
INSTALL = @INSTALL@
|
|
|
|
NOTIFICATIONS = @NOTIFICATIONS@
|
|
HAVE_SYSTEMD = @HAVE_SYSTEMD@
|
|
systemduserunitdir = @systemduserunitdir@
|
|
systemdsystemunitdir = @systemdsystemunitdir@
|
|
curl_LIBS = @curl_LIBS@
|
|
sqlite_LIBS = @sqlite_LIBS@
|
|
notify_LIBS = @notify_LIBS@
|
|
COMPLETIONS = @COMPLETIONS@
|
|
BASH_COMPLETION_DIR = @BASH_COMPLETION_DIR@
|
|
ZSH_COMPLETION_DIR = @ZSH_COMPLETION_DIR@
|
|
DEBUG = @DEBUG@
|
|
|
|
DC = @DC@
|
|
DC_TYPE = @DC_TYPE@
|
|
DCFLAGS = @DCFLAGS@
|
|
DCFLAGS += -w -g -O -J.
|
|
ifeq ($(DEBUG),yes)
|
|
ifeq ($(DC_TYPE),dmd)
|
|
DCFLAGS += -debug -gs
|
|
else
|
|
DCFLAGS += -d-debug -gc
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(NOTIFICATIONS),yes)
|
|
NOTIF_VERSIONS=-version=NoPragma -version=NoGdk -version=Notifications
|
|
# support ldc2 which needs -d prefix for version specification
|
|
ifeq ($(DC_TYPE),ldc)
|
|
NOTIF_VERSIONS := $(addprefix -d,$(NOTIF_VERSIONS))
|
|
endif
|
|
DCFLAGS += $(NOTIF_VERSIONS)
|
|
endif
|
|
|
|
system_unit_files = contrib/systemd/onedrive@.service
|
|
user_unit_files = contrib/systemd/onedrive.service
|
|
|
|
DOCFILES = README.md config LICENSE CHANGELOG.md docs/Docker.md docs/INSTALL.md docs/Office365.md docs/USAGE.md
|
|
|
|
ifneq ("$(wildcard /etc/redhat-release)","")
|
|
RHEL = $(shell cat /etc/redhat-release | grep -E "(Red Hat Enterprise Linux Server|CentOS)" | wc -l)
|
|
RHEL_VERSION = $(shell rpm --eval "%{centos_ver}")
|
|
else
|
|
RHEL = 0
|
|
RHEL_VERSION = 0
|
|
endif
|
|
|
|
SOURCES = \
|
|
src/config.d \
|
|
src/itemdb.d \
|
|
src/log.d \
|
|
src/main.d \
|
|
src/monitor.d \
|
|
src/onedrive.d \
|
|
src/qxor.d \
|
|
src/selective.d \
|
|
src/sqlite.d \
|
|
src/sync.d \
|
|
src/upload.d \
|
|
src/util.d \
|
|
src/progress.d
|
|
|
|
ifeq ($(NOTIFICATIONS),yes)
|
|
SOURCES += src/notifications/notify.d src/notifications/dnotify.d
|
|
endif
|
|
|
|
all: onedrive
|
|
|
|
clean:
|
|
rm -f onedrive onedrive.o version
|
|
rm -rf autom4te.cache
|
|
rm -f config.log config.status
|
|
|
|
# also remove files generated via ./configure
|
|
distclean: clean
|
|
rm -f Makefile contrib/pacman/PKGBUILD contrib/spec/onedrive.spec onedrive.1 \
|
|
$(system_unit_files) $(user_unit_files)
|
|
|
|
onedrive: version $(SOURCES)
|
|
$(DC) $(DCFLAGS) $(addprefix -L,$(curl_LIBS)) $(addprefix -L,$(sqlite_LIBS)) $(addprefix -L,$(notify_LIBS)) -L-ldl $(SOURCES) -of$@
|
|
|
|
install: all
|
|
$(INSTALL) -D onedrive $(DESTDIR)$(bindir)/onedrive
|
|
$(INSTALL) -D onedrive.1 $(DESTDIR)$(mandir)/man1/onedrive.1
|
|
$(INSTALL) -D -m 644 contrib/logrotate/onedrive.logrotate $(DESTDIR)$(sysconfdir)/logrotate.d/onedrive
|
|
mkdir -p $(DESTDIR)$(docdir)
|
|
$(INSTALL) -D -m 644 $(DOCFILES) $(DESTDIR)$(docdir)
|
|
ifeq ($(HAVE_SYSTEMD),yes)
|
|
$(INSTALL) -d -m 0755 $(DESTDIR)$(systemduserunitdir) $(DESTDIR)$(systemdsystemunitdir)
|
|
ifeq ($(RHEL),1)
|
|
$(INSTALL) -m 0644 $(system_unit_files) $(DESTDIR)$(systemdsystemunitdir)
|
|
$(INSTALL) -m 0644 $(user_unit_files) $(DESTDIR)$(systemdsystemunitdir)
|
|
else
|
|
$(INSTALL) -m 0644 $(system_unit_files) $(DESTDIR)$(systemdsystemunitdir)
|
|
$(INSTALL) -m 0644 $(user_unit_files) $(DESTDIR)$(systemduserunitdir)
|
|
endif
|
|
endif
|
|
ifeq ($(COMPLETIONS),yes)
|
|
$(INSTALL) -D -m 644 contrib/completions/complete.zsh $(DESTDIR)$(ZSH_COMPLETION_DIR)/_onedrive
|
|
$(INSTALL) -D -m 644 contrib/completions/complete.bash $(DESTDIR)$(BASH_COMPLETION_DIR)/onedrive
|
|
endif
|
|
|
|
|
|
uninstall:
|
|
rm -f $(DESTDIR)$(bindir)/onedrive
|
|
rm -f $(DESTDIR)$(mandir)/man1/onedrive.1
|
|
rm -f $(DESTDIR)$(sysconfdir)/logrotate.d/onedrive
|
|
ifeq ($(HAVE_SYSTEMD),yes)
|
|
ifeq ($(RHEL),1)
|
|
rm -f $(DESTDIR)$(systemdsystemunitdir)/onedrive*.service
|
|
else
|
|
rm -f $(DESTDIR)$(systemdsystemunitdir)/onedrive*.service
|
|
rm -f $(DESTDIR)$(systemduserunitdir)/onedrive*.service
|
|
endif
|
|
endif
|
|
for i in $(DOCFILES) ; do rm -f $(DESTDIR)$(docdir)/$$i ; done
|
|
ifeq ($(COMPLETIONS),yes)
|
|
rm -f $(DESTDIR)$(ZSH_COMPLETION_DIR)/_onedrive
|
|
rm -f $(DESTDIR)$(BASH_COMPLETION_DIR)/onedrive
|
|
endif
|
|
|
|
version:
|
|
if [ -f .git/HEAD ] ; then \
|
|
git describe --tags > version ; \
|
|
else \
|
|
echo $(version) > version ; \
|
|
fi
|
|
|