* Changed Makefile to honour COPTS
[project/luci.git] / contrib / package / luci / Makefile
index 997b9f9..d83adc4 100644 (file)
@@ -16,8 +16,8 @@ PKG_SOURCE_VERSION:=$(PKG_REV)
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
 
-# LUA_TARGET:=compile LUAC=$(BUILD_DIR_HOST)/lua/luac
 LUA_TARGET:=source
+PKG_SELECTED_MODULES:=
 
 
 include $(INCLUDE_DIR)/package.mk
@@ -25,12 +25,6 @@ include $(INCLUDE_DIR)/package.mk
 define Build/Configure
 endef
 
-define Package/luci/compiletpl
-       ifneq ($(CONFIG_PACKAGE_$(1)),)
-               $(MAKE) -C$(PKG_BUILD_DIR)/$(2) build LUA_TARGET=$(LUA_TARGET)
-       endif
-endef
-
 ### Templates ###
 
 define Package/luci/libtemplate
@@ -49,6 +43,18 @@ define Package/luci/fftemplate
   DEPENDS:=+luci-mod-freifunk
 endef
 
+define Package/luci/i18ntemplate
+  $(call Package/luci/libtemplate)
+  SUBMENU:=LuCI - Translations
+  DEPENDS:=+luci-web
+endef
+
+define Package/luci/thtemplate
+  $(call Package/luci/libtemplate)
+  SUBMENU:=LuCI - Themes
+  DEPENDS:=+luci-web
+endef
+
 define Package/luci/webtemplate
   $(call Package/luci/libtemplate)
   SUBMENU:=LuCI - Webinterface Components
@@ -73,6 +79,24 @@ define Package/luci-core/install
        $(call Package/luci/install/template,$(1),libs/core)
 endef
 
+define Package/luci-core/config
+       choice
+               prompt "Build Target"
+               default PACKAGE_luci-core_compile
+
+       config PACKAGE_luci-core_compile
+               bool "Production"
+
+       config PACKAGE_luci-core_source
+               bool "Debug"
+
+       endchoice
+endef
+
+ifneq ($(CONFIG_PACKAGE_luci-core_compile),)
+       LUA_TARGET:=compile
+endif
+
 
 ### Libraries ###
 define Package/luci-cbi
@@ -86,6 +110,16 @@ define Package/luci-cbi/install
 endef
 
 
+define Package/luci-fastindex
+  $(call Package/luci/libtemplate)
+  TITLE:=Fastindex indexing module
+endef
+
+define Package/luci-fastindex/install
+       $(call Package/luci/install/template,$(1),libs/fastindex)
+endef
+
+
 define Package/luci-web
   $(call Package/luci/libtemplate)
   DEPENDS+=+luci-addons
@@ -98,7 +132,6 @@ endef
 
 define Package/luci-web/install
        $(call Package/luci/install/template,$(1),libs/web)
-       $(call Package/luci/install/template,$(1),themes/fledermaus)
 endef
 
 
@@ -110,6 +143,8 @@ define Package/luci-ff-halle
   DEPENDS+= \
    +luci-sgi-haserl +luci-app-splash \
    +luci-app-ffwizard-leipzig \
+   +luci-theme-fledermaus \
+   +luci-i18n-german \
    +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice \
    +kmod-tun +ip
   TITLE:=Freifunk Halle Community Meta-Package
@@ -126,6 +161,8 @@ define Package/luci-ff-leipzig
   DEPENDS+= \
    +luci-sgi-haserl +luci-app-splash \
    +luci-app-ffwizard-leipzig \
+   +luci-theme-fledermaus \
+   +luci-i18n-german \
    +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice \
    +kmod-tun +ip
   TITLE:=Freifunk Leipzig Community Meta-Package
@@ -141,6 +178,8 @@ define Package/luci-ff-hannover
   $(call Package/luci/fftemplate)
   DEPENDS+= \
    +luci-sgi-haserl +luci-app-splash \
+   +luci-theme-fledermaus \
+   +luci-i18n-german \
    +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice
   TITLE:=Freifunk Hannover Community Meta-Package
   URL:=http://www.freifunk-hannover.de/
@@ -157,7 +196,7 @@ endef
 
 define Package/luci-mod-admin-core
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-web +luci-cbi
+  DEPENDS+=+luci-web +luci-cbi +luci-theme-openwrt +luci-i18n-english
   TITLE:=Administration module
 endef
 
@@ -272,31 +311,120 @@ define Package/luci-sgi-webuci/install
        $(call Package/luci/install/template,$(1),libs/sgi-webuci)
 endef
 
+### Themes ###
+define Package/luci-theme-fledermaus
+  $(call Package/luci/fftemplate)
+  DEPENDS:=+luci-web
+  TITLE:=Fledermaus Theme
+endef
+
+define Package/luci-theme-fledermaus/install
+       $(call Package/luci/install/template,$(1),themes/fledermaus)
+endef
+
+define Package/luci-theme-openwrt
+  $(call Package/luci/thtemplate)
+  TITLE:=OpenWRT.org (default)
+endef
+
+define Package/luci-theme-openwrt/install
+       $(call Package/luci/install/template,$(1),themes/openwrt.org)
+endef
 
-define Build/Compile 
-       $(call Package/luci/compiletpl,luci-core,libs/core)
-       $(call Package/luci/compiletpl,luci-cbi,libs/cbi)
-       $(call Package/luci/compiletpl,luci-web,libs/web)
+### Translations ###
+define Package/luci-i18n-german
+  $(call Package/luci/i18ntemplate)
+  TITLE:=German
+endef
 
-       $(call Package/luci/compiletpl,luci-ff-halle,applications/community-halle)
-       $(call Package/luci/compiletpl,luci-ff-leipzig,applications/community-leipzig)
-       $(call Package/luci/compiletpl,luci-ff-hannover,applications/community-hannover)
+define Package/luci-i18n-german/install
+       $(call Package/luci/install/template,$(1),i18n/german)
+endef
 
-       $(call Package/luci/compiletpl,luci-mod-admin-core,modules/admin-core)
-       $(call Package/luci/compiletpl,luci-mod-freifunk,modules/freifunk)
 
-       $(call Package/luci/compiletpl,luci-app-ffwizard-leipzig,applications/luci-ffwizard-leipzig)
-       $(call Package/luci/compiletpl,luci-app-firewall,applications/luci-fw)
-       $(call Package/luci/compiletpl,luci-app-splash,applications/luci-splash)
-       $(call Package/luci/compiletpl,luci-app-statistics,applications/luci-statistics)
+define Package/luci-i18n-english
+  $(call Package/luci/i18ntemplate)
+  TITLE:=English (incomplete)
+endef
 
-       $(call Package/luci/compiletpl,luci-sgi-haserl,libs/sgi-haserl)
-       $(call Package/luci/compiletpl,luci-sgi-webuci,libs/sgi-webuci)
+define Package/luci-i18n-english/install
+       $(call Package/luci/install/template,$(1),i18n/english)
 endef
 
 
+
+### Compile ###
+ifneq ($(CONFIG_PACKAGE_luci-core),)
+       PKG_SELECTED_MODULES+=libs/core
+endif
+ifneq ($(CONFIG_PACKAGE_luci-cbi),)
+       PKG_SELECTED_MODULES+=libs/cbi
+endif
+ifneq ($(CONFIG_PACKAGE_luci-fastindex),)
+       PKG_SELECTED_MODULES+=libs/fastindex
+endif
+ifneq ($(CONFIG_PACKAGE_luci-web),)
+       PKG_SELECTED_MODULES+=libs/web
+endif
+
+ifneq ($(CONFIG_PACKAGE_luci-ff-halle),)
+       PKG_SELECTED_MODULES+=applications/community-halle
+endif
+ifneq ($(CONFIG_PACKAGE_luci-ff-leipzig),)
+       PKG_SELECTED_MODULES+=applications/community-leipzig
+endif
+ifneq ($(CONFIG_PACKAGE_luci-ff-hannover),)
+       PKG_SELECTED_MODULES+=applications/community-hannover
+endif
+
+ifneq ($(CONFIG_PACKAGE_luci-mod-admin-core),)
+       PKG_SELECTED_MODULES+=modules/admin-core
+endif
+ifneq ($(CONFIG_PACKAGE_luci-mod-freifunk),)
+       PKG_SELECTED_MODULES+=modules/freifunk
+endif
+
+ifneq ($(CONFIG_PACKAGE_luci-app-ffwizard-leipzig),)
+       PKG_SELECTED_MODULES+=applications/luci-ffwizard-leipzig
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-firewall),)
+       PKG_SELECTED_MODULES+=applications/luci-fw
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-splash),)
+       PKG_SELECTED_MODULES+=applications/luci-splash
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-statistics),)
+       PKG_SELECTED_MODULES+=applications/luci-statistics
+endif
+
+ifneq ($(CONFIG_PACKAGE_luci-sgi-haserl),)
+       PKG_SELECTED_MODULES+=libs/sgi-haserl
+endif
+ifneq ($(CONFIG_PACKAGE_luci-sgi-webuci),)
+       PKG_SELECTED_MODULES+=libs/sgi-webuci
+endif
+
+ifneq ($(CONFIG_PACKAGE_luci-theme-fledermaus),)
+       PKG_SELECTED_MODULES+=themes/fledermaus
+endif
+ifneq ($(CONFIG_PACKAGE_luci-theme-openwrt),)
+       PKG_SELECTED_MODULES+=themes/openwrt.org
+endif
+
+ifneq ($(CONFIG_PACKAGE_luci-i18n-german),)
+       PKG_SELECTED_MODULES+=i18n/german
+endif
+ifneq ($(CONFIG_PACKAGE_luci-i18n-english),)
+       PKG_SELECTED_MODULES+=i18n/english
+endif
+
+
+MAKE_FLAGS += MODULES="$(PKG_SELECTED_MODULES)" LUA_TARGET="$(LUA_TARGET)" CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)"
+
+
 $(eval $(call BuildPackage,luci-core))
 $(eval $(call BuildPackage,luci-cbi))
+$(eval $(call BuildPackage,luci-fastindex))
 $(eval $(call BuildPackage,luci-web))
 
 $(eval $(call BuildPackage,luci-ff-halle))
@@ -313,3 +441,9 @@ $(eval $(call BuildPackage,luci-app-statistics))
 
 $(eval $(call BuildPackage,luci-sgi-haserl))
 $(eval $(call BuildPackage,luci-sgi-webuci))
+
+$(eval $(call BuildPackage,luci-theme-fledermaus))
+$(eval $(call BuildPackage,luci-theme-openwrt))
+
+$(eval $(call BuildPackage,luci-i18n-german))
+$(eval $(call BuildPackage,luci-i18n-english))