Opennet Firmware
 Alle Dateien Funktionen Variablen Gruppen Seiten
makefile_include_opennet_packages.patch
gehe zur Dokumentation dieser Datei
1 die opennet-Pakete verwenden gemeinsame Makefile-Elemente
2 --- /dev/null
3 +++ b/openwrt/include/opennet.mk
4 @@ -0,0 +1,54 @@
5 +# wir lesen die Versionsnummer aus der config-Datei
6 +VERSION_NUMBER = $(shell cat "$(TOPDIR)/.config" | grep "^CONFIG_VERSION_NUMBER=" | cut -f 2- -d =)
7 +ifeq "$(VERSION_NUMBER)" ""
8 + # Wenn es noch keine CONFIG_VERSION_NUMBER in .config gibt,
9 + # setze einen default Wert, um Fehlermeldungen zu vermeiden
10 + VERSION_NUMBER="0.0.0-0"
11 +endif
12 +
13 +# Wir verwenden die Version des Gesamt-Builds
14 +# Wir teilen die VERSION_NUMBER (z.B. "0.5.0-694" oder "0.5.1-unstable-810") an der Stelle des letzten Bindestrichs
15 +PKG_VERSION = $(shell echo "$(VERSION_NUMBER)" | sed 's/-[0-9]\+$$//g')
16 +PKG_RELEASE = $(shell echo "$(VERSION_NUMBER)" | sed 's/^.*-\([0-9]\+\)$$/\1/g')
17 +PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
18 +PKG_BUILD_DEPENDS := $(if $(STAGING_DIR_ROOT),lua/host)
19 +
20 +# "package.mk" muss nach dem Setzen von PKG_VERSION und PKG_RELEASE geladen werden
21 +include $(INCLUDE_DIR)/package.mk
22 +
23 +
24 +PO_CONV = ../../../luci/modules/luci-base/src/po2lmo
25 +
26 +
27 +define Package/opennet/install/template
28 + $(INSTALL_DIR) "$(1)/"
29 + @# das on-goodies-Paket enthaelt keinerlei Dateien - also darf die Kopie fehlschlagen
30 + $(CP) "$(PKG_BUILD_DIR)/files/." "$(1)/" || true
31 + @# Zertifikate hashen, falls noetig (nur fuer on-certificates relevant; notwendig fuer csr-Upload via https)
32 + [ -d "$(1)/etc/ssl/certs/opennet-initiative.de" ] && c_rehash "$(1)/etc/ssl/certs/opennet-initiative.de" || true
33 + @# falls es keine ipkg-Dateien gibt, existiert das Quell-Verzeichnis in git nicht
34 + $(CP) -L "$(PKG_BUILD_DIR)/ipkg/." "$(1)/CONTROL" || true
35 + $(INSTALL_DIR) "$(1)/usr/lib/lua/luci/i18n"
36 + # leere po-Dateien fuehren zu fehlenden lmo-Dateien (z.B. on-core) - das koennen wir ignorieren
37 + $(CP) "$(PKG_BUILD_DIR)/lmo"/*.lmo "$(1)/usr/lib/lua/luci/i18n/" || true
38 +endef
39 +
40 +# falls Build/Compile nicht definiert wird, dann wird das Makefile aus dem build_dir geloescht
41 +# siehe https://forum.openwrt.org/viewtopic.php?pid=143534#p143534
42 +define Build/Compile
43 +endef
44 +
45 +define Build/Prepare
46 + mkdir -p $(PKG_BUILD_DIR)/lmo; $(TAR) c . \
47 + --exclude=.pc --exclude=.svn --exclude=.git \
48 + --exclude='boa-0*' --exclude='*.o' --exclude='*.so' \
49 + --exclude=dist | \
50 + $(TAR) x -C $(PKG_BUILD_DIR)/
51 + @# po2lmo bauen, falls nicht vorhanden
52 + [ -x "$(PO_CONV)" ] || make -C ../../../luci/modules/luci-base/src/ po2lmo
53 + @# "find" liefert leider keine Fehlermeldung, falls "-exec" fehlschlaegt - also loesen wir es manuell aus
54 + [ -x "$(PO_CONV)" ] || { echo >&2 "ERROR: po2lmo does not exist"; exit 1; }
55 + @# TODO: mehrere Sprachen?
56 + find ../../po/de -type f -name "$(PKG_NAME).po" -exec "$(PO_CONV)" '{}' "$(PKG_BUILD_DIR)/lmo/$(PKG_NAME).de.lmo" \;
57 +endef
58 +