posaune
[projects.git] / tools / make / rules
index d61e224..30648d8 100755 (executable)
@@ -4,7 +4,14 @@
 
 # defile default operations
 NOP = @echo "No operation for target $@"
-DEB = fakeroot dpkg-deb --build debian/tmp
+DEB = fakeroot dpkg-deb --build $(oldpack) debian/tmp
+INSERT_BUILD = /usr/share/mbuild/insert_build.sh
+RSYNC_OPT = -av --exclude="build" --exclude="debian/tmp" --exclude="Packages" --exclude="*Aktuell" --exclude=".*"
+std_inst_tgt = debian/tmp/usr/share/doc/$(paket)/copyright debian/tmp/usr/share/doc/$(paket)/README.debian
+
+include debian/rules.pre
+
+.PHONY: build
 
 default:
        echo "no default rule available"
@@ -14,7 +21,12 @@ clean:
        -rm -rf debian/tmp
 
 # Bauen der kompilierten Programme und formatierten Dokumente aus den Quellen im Bauverzeichnis
-build:
+build: ../build/debian/$(paket).build sync
+       cd ../build ; debian/$(paket).build
+       # Build succeeded
+
+pack: $(PACK)
+       # packing succeeded
 
 # Bauen der kompilierten architekturabhängigen Programme aus den Quellen im Bauverzeichnis
 build-arch:
@@ -26,35 +38,74 @@ build-indep:
 install: 
 
 # Erstellen aller Binärpakete (effektiv ist dies die Kombination der binary-arch- und binary-indep-Ziele)
-binary: debian/tmp/DEBIAN/control binary-arch binary-indep 
+binary: binary-arch binary-indep 
 
 # Erstellen Architektur-abhängiger (Architecture: any) Binärpakete im übergeordneten Verzeichnis
-binary-arch:
+binary-arch: $(BINARY_ARCH)
 
 # Erstellen Architektur-unabhängiger (Architecture: all) Binärpakete im übergeordneten Verzeichnis
-binary-indep: copy ../$(paket)_$(version)-$(build)$(_arch).deb
+binary-indep: $(BINARY_INDEP)
+
+version: ~/build/$(TARGET)
+       $(INSERT_BUILD) ~/build/$(TARGET) $(build)
+       cp ~/build/*$(build)* ../
+
+../build:
+       mkdir ../build
+
+sync: ../build
+       rsync $(RSYNC_OPT) ./ ../build/
 
 copy: debian/$(paket).cp
        debian/$(paket).cp debian/tmp
+       touch debian/tmp
 
-../$(paket)_$(version)-$(build)$(_arch).deb:
+../$(paket)_$(version)-$(build)_$(arch).deb:debian/tmp/DEBIAN/control $(std_inst_tgt) $(add_inst_tgt) debian/tmp
        $(DEB)
-       mv debian/tmp.deb ../$(paket)_$(version)-$(build)$(_arch).deb
+       mv debian/tmp.deb ../$(paket)_$(version)-$(build)_$(arch).deb
 
 debian/tmp/DEBIAN/control: debian/control debian/changelog
        dpkg-gencontrol
 
-debian/changelog: debian/$(paket).changelog
+debian/control: debian/$(paket).control
+       sed "s/_DEB_HOST_ARCH/${DEB_HOST_ARCH}/" debian/$(paket).control > debian/control
+
+debian/changelog: debian/$(paket).changelog debian/rules.pre
        sed "s/%BUILD%/$(build)/" debian/$(paket).changelog > debian/changelog
-#      echo "${pwd} (${build}) unstable; urgency=medium" > debian/changelog
-#      echo "  * generated by mbuild" >> debian/changelog
-#      echo " -- Michael Wagner <info@wagnertech.de>  Sun, 11 Feb 2018 20:03:04 +0100" >> debian/changelog
-#      mb_create_changelog
+
+debian/tmp/usr/share/doc/$(paket)/changelog: debian/changelog
+       mkdir -p debian/tmp/usr/share/doc/$(paket)
+       cp debian/changelog debian/tmp/usr/share/doc/$(paket)/changelog
+
+debian/tmp/usr/share/doc/$(paket)/copyright: debian/copyright
+       mkdir -p debian/tmp/usr/share/doc/$(paket)
+       cp debian/copyright debian/tmp/usr/share/doc/$(paket)/copyright
+
+debian/tmp/usr/share/doc/$(paket)/README.debian: debian/README.debian
+       mkdir -p debian/tmp/usr/share/doc/$(paket)
+       cp debian/README.debian debian/tmp/usr/share/doc/$(paket)/README.debian
+
+debian/tmp/DEBIAN/preinst: debian/$(paket).preinst
+       cp debian/$(paket).preinst debian/tmp/DEBIAN/preinst
+
+debian/tmp/DEBIAN/postinst: debian/$(paket).postinst
+       cp debian/$(paket).postinst debian/tmp/DEBIAN/postinst
+
+debian/tmp/DEBIAN/prerm: debian/$(paket).prerm
+       cp debian/$(paket).prerm debian/tmp/DEBIAN/prerm
+
+debian/tmp/DEBIAN/postrm: debian/$(paket).postrm
+       cp debian/$(paket).postrm debian/tmp/DEBIAN/postrm
+
+debian/README.debian:
+       echo "developed under:" > debian/README.debian
+       cat /etc/issue >> debian/README.debian
+       echo "Architecture: $(arch)" >> debian/README.debian
+
+debian/copyright:
+       cp /usr/share/mbuild/copyright debian/copyright
 
 # Load project specification
 -include rules.post
 
-# if debian/control is missing, try old mbuild way
-#debian/control:
-#      if [ -e  debian/$(paket).control ]; then echo "trallala"; fi