33e72e34cb6ab2beb54fe47ddc9fc5855445b20a
[projects.git] / tools / make / rules
1 #!/usr/bin/make -f
2
3 # Generic rules for mBuild build process
4
5 # defile default operations
6 NOP = @echo "No operation for target $@"
7 DEB = fakeroot dpkg-deb --build debian/tmp
8 INSERT_BUILD = /usr/share/mbuild/insert_build.sh
9
10 include debian/rules.pre
11
12 default:
13         echo "no default rule available"
14
15 # Löschen aller kompilierten, erzeugten und nicht benötigten Dateien im Bauverzeichnis
16 clean:
17         -rm -rf debian/tmp
18
19 # Bauen der kompilierten Programme und formatierten Dokumente aus den Quellen im Bauverzeichnis
20 build: debian/$(paket).build sync
21         debian/$(paket).build
22         # Build succeeded
23
24 pack: $(PACK)
25         # packing succeeded
26
27 # Bauen der kompilierten architekturabhängigen Programme aus den Quellen im Bauverzeichnis
28 build-arch:
29
30 # Bauen der architekturunabhängigen formatierten Dokumente aus den Quellen im Bauverzeichnis
31 build-indep:
32
33 # Installieren der Dateien in einen Verzeichnisbaum unterhalb des Verzeichnisses debian für jedes Binärpaket. Falls sie festgelegt wurden, hängen binary*-Ziele effektiv von diesem Ziel ab (optional)
34 install: 
35
36 # Erstellen aller Binärpakete (effektiv ist dies die Kombination der binary-arch- und binary-indep-Ziele)
37 binary: binary-arch binary-indep 
38
39 # Erstellen Architektur-abhängiger (Architecture: any) Binärpakete im übergeordneten Verzeichnis
40 binary-arch:
41
42 # Erstellen Architektur-unabhängiger (Architecture: all) Binärpakete im übergeordneten Verzeichnis
43 binary-indep: copy ../$(paket)_$(version)-$(build)$(_arch).deb
44
45 version: ~/build/$(TARGET)
46         $(INSERT_BUILD) ~/build/$(TARGET) $(build)
47         cp ~/build/*$(build)* ../
48
49 ../build:
50         mkdir ../build
51
52 sync:
53         bash -c 'for dirs in $$(ls); do rsync -av $$dirs ../build; done'
54
55 copy: debian/$(paket).cp
56         debian/$(paket).cp debian/tmp
57
58 ../$(paket)_$(version)-$(build)$(_arch).deb:debian/tmp/DEBIAN/control $(add_inst_tgt)
59         $(DEB)
60         mv debian/tmp.deb ../$(paket)_$(version)-$(build)$(_arch).deb
61
62 debian/tmp/DEBIAN/control: debian/control debian/changelog
63         dpkg-gencontrol
64
65 debian/control: debian/$(paket).control
66         cp debian/$(paket).control debian/control
67
68 debian/changelog: debian/$(paket).changelog debian/rules.pre
69         sed "s/%BUILD%/$(build)/" debian/$(paket).changelog > debian/changelog
70 #       echo "${pwd} (${build}) unstable; urgency=medium" > debian/changelog
71 #       echo "  * generated by mbuild" >> debian/changelog
72 #       echo " -- Michael Wagner <info@wagnertech.de>  Sun, 11 Feb 2018 20:03:04 +0100" >> debian/changelog
73 #       mb_create_changelog
74
75 debian/tmp/DEBIAN/preinst: debian/$(paket).preinst
76         cp debian/$(paket).preinst debian/tmp/DEBIAN/preinst
77
78 debian/tmp/DEBIAN/postinst: debian/$(paket).postinst
79         cp debian/$(paket).postinst debian/tmp/DEBIAN/postinst
80
81 debian/tmp/DEBIAN/prerm: debian/$(paket).prerm
82         cp debian/$(paket).prerm debian/tmp/DEBIAN/prerm
83
84 debian/tmp/DEBIAN/postrm: debian/$(paket).postrm
85         cp debian/$(paket).postrm debian/tmp/DEBIAN/postrm
86
87 # Load project specification
88 -include rules.post
89
90 # if debian/control is missing, try old mbuild way
91 #debian/control:
92 #       if [ -e  debian/$(paket).control ]; then echo "trallala"; fi
93