File: Makefile.openbsd

package info (click to toggle)
passwordsafe 1.21.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 28,884 kB
  • sloc: cpp: 84,546; ansic: 1,704; xml: 1,608; makefile: 598; perl: 463; sh: 388; javascript: 40
file content (148 lines) | stat: -rw-r--r-- 3,847 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148

# Toplevel Makefile for OpenBSD build of PasswordSafe

# Since we use wxWidgets 3.x, while some distros still provide 2.8
# The following need to be set to point to the local build of wxWidgets.
# Alternately, you can just set WX_CONFIG in your shell environment
# export WX_CONFIG=$(HOME)/src/wxWidgets-3.0.2/wx-config

# version numbers are defined in version.wx
include version.wx
export VER_MAJOR
export VER_MINOR
export VER_REV
export VER_SPECIAL


export RELEASENUM := $(VER_MAJOR).$(VER_MINOR)
export RELEASE_SPECIAL := $(VER_SPECIAL)
export RELEASENAME := $(RELEASENUM)$(RELEASE_SPECIAL)

.PHONY:    all clean debug-clean release-clean debug release \
	unicodedebug unicoderelease deb rpm rpmbuild tar signatures \
	dist sha1sums upload upload-sf upload-src-sf upload-github git-tag I18N \
	help test debug-test release-test

RELEASEDIR := ./Releases/

PKG_BASE := pwsafe
SRC_TGZ = $(PKG_BASE)-$(RELEASENAME)-src.tgz

MKDIR := mkdir -p
RM := /bin/rm -rf
GIT := git
GZIP := gzip
ECHO := /bin/echo

export NO_YUBI := yes

GPG := /usr/local/bin/gpg
GPG_SIGN := $(GPG) --detach-sign --default-key $(GPG_KEY)
SIGN_CMD := $(foreach file, $(wildcard $(RELEASEDIR)/*$(RELEASENAME)*), $(GPG_SIGN) $(file); )

SHA1SUM := /usr/bin/sha1
SF_UPLOAD_CMD := /usr/local/bin/rsync -avP -e ssh
SF_UPLOAD_DST := $(SF_UPLOAD_ROOT)/Linux-BETA/$(RELEASENUM)
RELTAG = wx$(subst .,_,$(RELEASENAME))

#TODO: integrate with qr-code-generator: https://www.nayuki.io/page/qr-code-generator-library
export NO_QR = 1

export CPPFLAGS += -std=c++14
export CXXFLAGS += --stdlib=libc++ -I/usr/local/include -std=c++14
export CFLAGS += -I/usr/local/include
export CC = clang
export CXX = clang++
export CPP = clang++
export PLATFORM = OpenBSD

all: I18N unicodedebug unicoderelease

unicodedebug unicoderelease:
	$(MAKE) -C src/os/unix $@
	$(MAKE) -C src/core $@
	$(MAKE) -C src/ui/wxWidgets CONFIG=$@


debug:
	$(MAKE) unicodedebug

release:
	$(MAKE) unicoderelease

clean: debug-clean release-clean

debug-clean:
	$(MAKE) CONFIG=unicodedebug -C src/os/unix clean
	$(MAKE) CONFIG=unicodedebug -C src/core clean
	$(MAKE) CONFIG=unicodedebug -C src/ui/wxWidgets clean
	$(MAKE) CONFIG=unicodedebug -C src/test clean

release-clean:
	$(MAKE) CONFIG=unicoderelease -C src/os/unix clean
	$(MAKE) CONFIG=unicoderelease -C src/core clean
	$(MAKE) CONFIG=unicoderelease -C src/ui/wxWidgets clean
	$(MAKE) CONFIG=unicoderelease -C src/test clean

# dist prepares stuff for upload - deprecated for Linux, until
# we find an elegant way to tell deb and rpm distros apart.
dist: 
	@$(ECHO) "Run 'make deb' or 'make rpm' to build the respective package"

# rpmbuild is called as part of the rpmbuild invocation from install/rpm/Makefile,
# which we call via 'make rpm' from here.
rpmbuild: release I18N help

tar:
	@$(MKDIR)  $(RELEASEDIR)
	@$(GIT) archive --format=tar.gz \
	--prefix=$(PKG_BASE)-$(RELEASENAME)/ \
	-o $(RELEASEDIR)/$(SRC_TGZ) \
	HEAD
	@echo "Done."

sha1sums:
	(cd $(RELEASEDIR); $(SHA1SUM) *$(RELEASENAME)*)

signatures:
	$(SIGN_CMD)

upload: upload-sf upload-src-sf upload-github

upload-sf:
	$(SF_UPLOAD_CMD) \
	$(wildcard $(RELEASEDIR)/passwordsafe-*$(RELEASENAME)*) \
	$(wildcard $(RELEASEDIR)/pwsafe-*$(RELEASENAME)*) \
	$(SF_UPLOAD_DST)

upload-github:
	@echo $@ TBD

# Uploading source is a separate target as we only want to do this once,
# as opposed to uploading the compiled package, which we need to do per distro.
upload-src-sf:
	$(SF_UPLOAD_CMD) \
	$(wildcard $(RELEASEDIR)/pwsafe-*$(RELEASENAME)-src*) \
	$(SF_UPLOAD_DST)

git-tag:
	$(GIT) tag -u $(GPG_KEY) -m "tag wx $(RELEASENAME) release" $(RELEASENAME)

I18N:
	$(MAKE) -C src/ui/wxWidgets/I18N mos

help:
	$(MAKE) -C help

test: debug-test

debug-test:
	$(MAKE) CONFIG=unicodedebug -C src/test

release-test:
	$(MAKE) CONFIG=unicoderelease -C src/test


# Local variables:
# mode: makefile
# End: