1
- OBJDIR := builddir
1
+ BUILD ?= build
2
+ DIST ?= dist
2
3
3
- PREFIX ?= /usr
4
- DESTDIR ?=
5
- INSTALL_DIR ?= $(shell pwd) /dist/protonfixes
4
+ OBJDIR := $(shell realpath $(BUILD ) )
5
+ DSTDIR := $(shell realpath $(DIST ) )
6
+ TARGET_DIR := $(DSTDIR )
7
+
8
+ BASEDIR := /files
9
+ i386_LIBDIR = $(BASEDIR ) /lib/i386-linux-gnu
10
+ x86_64_LIBDIR = $(BASEDIR ) /lib/x86_64-linux-gnu
6
11
7
12
.PHONY : all
8
13
@@ -21,23 +26,32 @@ install: protonfixes-install cabextract-install libmspack-install unzip-install
21
26
22
27
protonfixes-install : protonfixes
23
28
$(info :: Installing protonfixes )
24
- install -d $(INSTALL_DIR )
25
- cp -r gamefixes-* $(INSTALL_DIR )
26
- cp -r verbs $(INSTALL_DIR )
27
- cp * .py $(INSTALL_DIR )
28
- cp winetricks $(INSTALL_DIR )
29
- cp umu-database.csv $(INSTALL_DIR )
30
- rm $(INSTALL_DIR ) /protonfixes_test.py
29
+ install -d $(TARGET_DIR )
30
+ cp -r gamefixes-* $(TARGET_DIR )
31
+ cp -r verbs $(TARGET_DIR )
32
+ cp * .py $(TARGET_DIR )
33
+ mkdir -p $(TARGET_DIR )$(BASEDIR ) /bin
34
+ cp winetricks $(TARGET_DIR )$(BASEDIR ) /bin
35
+ cp winetricks $(TARGET_DIR )
36
+ cp umu-database.csv $(TARGET_DIR )
37
+ rm $(TARGET_DIR ) /protonfixes_test.py
38
+
39
+ #
40
+ # libmspack and cabextract
41
+ #
42
+
43
+ $(OBJDIR ) /libmspack : | $(OBJDIR )
44
+ rsync -arx --delete subprojects/libmspack $(OBJDIR )
31
45
32
46
#
33
47
# cabextract
34
48
#
35
49
36
- $(OBJDIR ) /.build-cabextract-dist : | $(OBJDIR )
50
+ $(OBJDIR ) /.build-cabextract-dist : | $(OBJDIR ) /libmspack
37
51
$(info :: Building cabextract )
38
- cd subprojects /libmspack/cabextract && \
39
- ./autogen.sh && \
40
- ./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man && \
52
+ cd $( OBJDIR ) /libmspack/cabextract && \
53
+ autoreconf -fiv -I /usr/share/gettext/m4/ && \
54
+ ./configure --prefix=$( BASEDIR ) --libdir= $( x86_64_LIBDIR ) && \
41
55
make
42
56
touch $(@ )
43
57
@@ -47,20 +61,19 @@ cabextract-dist: $(OBJDIR)/.build-cabextract-dist
47
61
48
62
cabextract-install : cabextract-dist
49
63
$(info :: Installing cabextract )
50
- cd subprojects/libmspack/cabextract && \
51
- make DESTDIR=$(INSTALL_DIR ) install
52
- cp $(INSTALL_DIR ) /usr/bin/cabextract $(INSTALL_DIR )
53
- rm -r $(INSTALL_DIR ) /usr
64
+ cd $(OBJDIR ) /libmspack/cabextract && \
65
+ make DESTDIR=$(TARGET_DIR ) install
66
+ rm -r $(TARGET_DIR )$(BASEDIR ) /share
54
67
55
68
#
56
69
# libmspack
57
70
#
58
71
59
- $(OBJDIR ) /.build-libmspack-dist : | $(OBJDIR )
72
+ $(OBJDIR ) /.build-libmspack-dist : | $(OBJDIR ) /libmspack
60
73
$(info :: Building libmspack )
61
- cd subprojects /libmspack/libmspack && \
74
+ cd $( OBJDIR ) /libmspack/libmspack && \
62
75
autoreconf -vfi && \
63
- ./configure --prefix=/usr --disable-static --sysconfdir=/etc --localstatedir=/var && \
76
+ ./configure --prefix=$( BASEDIR ) --libdir= $( x86_64_LIBDIR ) --disable-static && \
64
77
sed -i -e ' s/ -shared / -Wl,-O1,--as-needed\0/g' libtool && \
65
78
make
66
79
touch $(@ )
@@ -71,11 +84,11 @@ libmspack-dist: $(OBJDIR)/.build-libmspack-dist
71
84
72
85
libmspack-install : libmspack-dist
73
86
$(info :: Installing libmspack )
74
- cd subprojects /libmspack/libmspack && \
75
- make DESTDIR=$(INSTALL_DIR ) install
76
- cp -d $(INSTALL_DIR ) /usr/lib/libmspack * $( INSTALL_DIR )
77
- rm -r $(INSTALL_DIR ) /usr
78
- rm $(INSTALL_DIR ) /libmspack.la
87
+ cd $( OBJDIR ) /libmspack/libmspack && \
88
+ make DESTDIR=$(TARGET_DIR ) install
89
+ rm -r $(TARGET_DIR )$( BASEDIR ) /include
90
+ rm -r $(TARGET_DIR )$( BASEDIR ) /lib/x86_64-linux-gnu/pkgconfig
91
+ rm $(TARGET_DIR )$( BASEDIR ) /lib/x86_64-linux-gnu /libmspack.la
79
92
80
93
#
81
94
# unzip
@@ -92,9 +105,10 @@ UNZIP_PATCHES := $(shell cat subprojects/unzip/debian/patches/series)
92
105
93
106
$(OBJDIR ) /.build-unzip-dist : | $(OBJDIR )
94
107
$(info :: Building unzip )
95
- cd subprojects/unzip && \
108
+ rsync -arx --delete subprojects/unzip $(OBJDIR )
109
+ cd $(OBJDIR ) /unzip && \
96
110
$(foreach pch, $(UNZIP_PATCHES ) ,patch -Np1 -i debian/patches/$(pch ) &&) \
97
- make -f unix/Makefile prefix=/usr D_USE_BZ2=-DUSE_BZIP2 L_BZ2=-lbz2 LF2=" $( LDFLAGS) " CF=" $( CFLAGS) -I. $( DEFINES) " unzips
111
+ make -f unix/Makefile prefix=$( BASEDIR ) D_USE_BZ2=-DUSE_BZIP2 L_BZ2=-lbz2 LF2=" $( LDFLAGS) " CF=" $( CFLAGS) -I. $( DEFINES) " unzips
98
112
touch $(@ )
99
113
100
114
.PHONY : unzip-dist
@@ -103,21 +117,20 @@ unzip-dist: $(OBJDIR)/.build-unzip-dist
103
117
104
118
unzip-install : unzip-dist
105
119
$(info :: Installing unzip )
106
- cd subprojects /unzip && \
107
- make -f unix/Makefile prefix=$(INSTALL_DIR ) install
120
+ cd $( OBJDIR ) /unzip && \
121
+ make -f unix/Makefile prefix=$(TARGET_DIR )$( BASEDIR ) install
108
122
# Post install
109
- cp -a $(INSTALL_DIR ) /bin/unzip $(INSTALL_DIR )
110
- rm -r $(INSTALL_DIR ) /bin $(INSTALL_DIR ) /man
123
+ rm -r $(TARGET_DIR )$(BASEDIR ) /man
111
124
112
125
#
113
126
# python-xlib
114
127
#
115
128
116
129
$(OBJDIR ) /.build-python-xlib-dist : | $(OBJDIR )
117
130
$(info :: Building python-xlib )
118
- cd subprojects/python-xlib && \
119
- dpkg-source --before-build . && \
120
- dh_auto_build -O--buildsystem=pybuild
131
+ rsync -arx --delete subprojects/python-xlib $( OBJDIR )
132
+ cd $( OBJDIR ) /python-xlib && \
133
+ python setup.py build
121
134
touch $(@ )
122
135
123
136
.PHONY : python-xlib-dist
@@ -126,10 +139,10 @@ python-xlib-dist: $(OBJDIR)/.build-python-xlib-dist
126
139
127
140
python-xlib-install : python-xlib-dist
128
141
$(info :: Installing python-xlib )
129
- mkdir -p $( INSTALL_DIR ) /_vendor && \
130
- cd subprojects /python-xlib && \
131
- dh_auto_install -O--buildsystem=pybuild && \
132
- find debian/tmp -type d -name Xlib | xargs -I {} mv {} $(INSTALL_DIR ) /_vendor; \
142
+ mkdir $( TARGET_DIR ) /_vendor
143
+ cd $( OBJDIR ) /python-xlib && mkdir dist && \
144
+ python setup.py install --root=dist --optimize=1 --skip-build && \
145
+ find dist -type d -name Xlib | xargs -I {} mv {} $(TARGET_DIR ) /_vendor;
133
146
134
147
$(OBJDIR ) :
135
148
@mkdir -p $(@ )
0 commit comments