Browse Source

build: add GluonSrcDiet define to package.mk

This call takes an input and an output argument and will copy all files
from the input to the output, while minifying the Lua files.

[Matthias Schiffer: simplified definition, added commit message.]
Jan-Tarek Butt 7 years ago
parent
commit
1a289341a4
1 changed files with 16 additions and 0 deletions
  1. 16 0
      include/package.mk

+ 16 - 0
include/package.mk

@@ -1,3 +1,6 @@
+# Dependencies for LuaSrcDiet
+PKG_BUILD_DEPENDS += luci-base/host lua/host
+
 include $(INCLUDE_DIR)/package.mk
 
 # Annoyingly, make's shell function replaces all newlines with spaces, so we have to do some escaping work. Yuck.
@@ -33,3 +36,16 @@ define GluonInstallI18N
 		fi; \
 	done
 endef
+
+define GluonSrcDiet
+	rm -rf $(2)
+	$(CP) $(1) $(2)
+	$(FIND) $(2) -type f | while read src; do \
+	if $(STAGING_DIR_HOST)/bin/lua $(STAGING_DIR_HOST)/bin/LuaSrcDiet \
+		--noopt-binequiv -o "$$$$src.o" "$$$$src"; \
+	then \
+		chmod $$$$(stat -c%a "$$$$src") "$$$$src.o"; \
+		mv "$$$$src.o" "$$$$src"; \
+	fi; \
+	done
+endef