# # Copyright (C) 2007-2008 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # ifneq ($(__target_inc),1) __target_inc=1 # default device type DEVICE_TYPE?=router # Default packages - the really basic set DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg # For router targets DEFAULT_PACKAGES.router:=dnsmasq iptables ppp ppp-mod-pppoe kmod-ipt-nathelper firewall DEFAULT_PACKAGES.bootloader:= # Additional packages for Linux 2.6 ifneq ($(KERNEL),2.4) DEFAULT_PACKAGES += udevtrigger hotplug2 endif # Add device specific packages DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE)) ifneq ($(DUMP),) all: dumpinfo endif target_conf=$(subst .,_,$(subst -,_,$(subst /,_,$(1)))) ifeq ($(DUMP),) PLATFORM_DIR:=$(TOPDIR)/target/linux/$(BOARD) SUBTARGET:=$(strip $(foreach subdir,$(patsubst $(PLATFORM_DIR)/%/target.mk,%,$(wildcard $(PLATFORM_DIR)/*/target.mk)),$(if $(CONFIG_TARGET_$(call target_conf,$(BOARD)_$(subdir))),$(subdir)))) else PLATFORM_DIR:=${CURDIR} endif TARGETID:=$(BOARD)$(if $(SUBTARGET),/$(SUBTARGET)) PLATFORM_SUBDIR:=$(PLATFORM_DIR)$(if $(SUBTARGET),/$(SUBTARGET)) ifneq ($(TARGET_BUILD),1) ifndef DUMP include $(PLATFORM_DIR)/Makefile ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) include $(PLATFORM_SUBDIR)/target.mk endif endif else ifneq ($(SUBTARGET),) -include ./$(SUBTARGET)/target.mk endif endif define Profile/Default NAME:= PACKAGES:= endef ifndef Profile define Profile $(eval $(call Profile/Default)) $(eval $(call Profile/$(1))) $(eval $(call shexport,Profile/$(1)/Config)) $(eval $(call shexport,Profile/$(1)/Description)) DUMPINFO += \ echo "Target-Profile: $(1)"; \ echo "Target-Profile-Name: $(NAME)"; \ echo "Target-Profile-Packages: $(PACKAGES)"; \ if [ -f ./config/profile-$(1) ]; then \ echo "Target-Profile-Kconfig: yes"; \ fi; \ echo "Target-Profile-Config: "; \ getvar "$(call shvar,Profile/$(1)/Config)"; \ echo "@@"; \ echo "Target-Profile-Description:"; \ getvar "$(call shvar,Profile/$(1)/Description)"; \ echo "@@"; \ echo; ifeq ($(CONFIG_TARGET_$(call target_conf,$(BOARD)_$(if $(SUBTARGET),$(SUBTARGET)_)$(1))),y) PROFILE=$(1) endif endef endif ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) define IncludeProfiles -include $(PLATFORM_DIR)/profiles/*.mk -include $(PLATFORM_SUBDIR)/profiles/*.mk endef else define IncludeProfiles -include $(PLATFORM_DIR)/profiles/*.mk endef endif ifeq ($(TARGET_BUILD),1) $(eval $(call IncludeProfiles)) else ifeq ($(DUMP),) $(eval $(call IncludeProfiles)) endif endif $(eval $(call shexport,Target/Description)) ifneq ($(TARGET_BUILD)$(if $(DUMP),,1),) include $(INCLUDE_DIR)/kernel-version.mk endif GENERIC_PLATFORM_DIR := $(TOPDIR)/target/linux/generic-$(KERNEL) GENERIC_PATCH_DIR := $(GENERIC_PLATFORM_DIR)/patches$(if $(wildcard $(GENERIC_PLATFORM_DIR)/patches-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER)) GENERIC_FILES_DIR := $(foreach dir,$(wildcard $(GENERIC_PLATFORM_DIR)/files $(GENERIC_PLATFORM_DIR)/files-$(KERNEL_PATCHVER)),"$(dir)") GENERIC_LINUX_CONFIG?=$(firstword $(wildcard $(GENERIC_PLATFORM_DIR)/config-$(KERNEL_PATCHVER) $(GENERIC_PLATFORM_DIR)/config-default)) LINUX_CONFIG?=$(firstword $(wildcard $(foreach subdir,$(PLATFORM_DIR) $(PLATFORM_SUBDIR),$(subdir)/config-$(KERNEL_PATCHVER) $(subdir)/config-default)) $(PLATFORM_DIR)/config-$(KERNEL_PATCHVER)) LINUX_SUBCONFIG?=$(firstword $(wildcard $(PLATFORM_SUBDIR)/config-$(KERNEL_PATCHVER) $(PLATFORM_SUBDIR)/config-default)) ifeq ($(LINUX_CONFIG),$(LINUX_SUBCONFIG)) LINUX_SUBCONFIG:= endif LINUX_CONFCMD=$(if $(LINUX_CONFIG), \ $(if $(GENERIC_LINUX_CONFIG),,$(error The generic kernel config for your kernel version is mising)) \ $(if $(LINUX_CONFIG),,$(error The target kernel config for your kernel version is mising)) \ $(SCRIPT_DIR)/kconfig.pl \ + $(GENERIC_LINUX_CONFIG) \ $(if $(LINUX_SUBCONFIG),+ $(LINUX_CONFIG) $(LINUX_SUBCONFIG),$(LINUX_CONFIG)), \ true) ifeq ($(DUMP),1) BuildTarget=$(BuildTargets/DumpCurrent) ifneq ($(BOARD),) TMP_CONFIG:=$(TMP_DIR)/.kconfig-$(call target_conf,$(TARGETID)) $(TMP_CONFIG): $(GENERIC_LINUX_CONFIG) $(LINUX_CONFIG) $(LINUX_SUBCONFIG) $(LINUX_CONFCMD) > $@ || rm -f $@ -include $(TMP_CONFIG) .SILENT: $(TMP_CONFIG) .PRECIOUS: $(TMP_CONFIG) ifneq ($(CONFIG_GENERIC_GPIO),) FEATURES += gpio endif ifneq ($(CONFIG_PCI),) FEATURES += pci endif ifneq ($(CONFIG_USB)$(CONFIG_USB_SUPPORT),) FEATURES += usb endif ifneq ($(CONFIG_PCMCIA)$(CONFIG_PCCARD),) FEATURES += pcmcia endif ifneq ($(CONFIG_VGA_CONSOLE)$(CONFIG_FB),) FEATURES += display endif # remove duplicates FEATURES:=$(sort $(FEATURES)) endif DEFAULT_CFLAGS_i386=-O2 -pipe -march=i486 -funit-at-a-time DEFAULT_CFLAGS_x86_64=-O2 -pipe -march=athlon64 -funit-at-a-time DEFAULT_CFLAGS_mips=-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time DEFAULT_CFLAGS_mipsel=$(DEFAULT_CFLAGS_mips) DEFAULT_CFLAGS_mips64=-Os -pipe -mips64 -mtune=mips64 -mabi=64 -funit-at-a-time DEFAULT_CFLAGS_mips64el=$(DEFAULT_CFLAGS_mips64) DEFAULT_CFLAGS_arm=-Os -pipe -march=armv5te -mtune=xscale -funit-at-a-time DEFAULT_CFLAGS_armeb=$(DEFAULT_CFLAGS_arm) DEFAULT_CFLAGS=$(if $(DEFAULT_C<style>pre { line-height: 125%; margin: 0; } td.linenos pre { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; } span.linenos { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; } td.linenos pre.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; } .highlight .hll { background-color: #ffffcc } .highlight { background: #ffffff; } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */</style><div class="highlight"><pre><span></span><span class="c"># </span> <span class="c"># Copyright (C) 2006 OpenWrt.org</span> <span class="c">#</span> <span class="c"># This is free software, licensed under the GNU General Public License v2.</span> <span class="c"># See /LICENSE for more information.</span> <span class="c">#</span> <span class="cp">include $(TOPDIR)/rules.mk</span> <span class="nv">PKG_NAME</span><span class="o">:=</span>swconfig <span class="nv">PKG_RELEASE</span><span class="o">:=</span><span class="m">1</span> <span class="cp">include $(INCLUDE_DIR)/package.mk</span> <span class="cp">include $(INCLUDE_DIR)/kernel.mk</span> <span class="cp">define Package/swconfig</span> SECTION:<span class="o">=</span>base CATEGORY:<span class="o">=</span>Base system DEPENDS:<span class="o">=</span>@LINUX_2_6_26<span class="o">||</span>LINUX_2_6_27<span class="o">||</span>LINUX_2_6_28<span class="o">||</span>LINUX_2_6_29 +libuci +libnl-tiny TITLE:<span class="o">=</span>Switch configuration utility <span class="cp">endef</span> <span class="nv">TARGET_CPPFLAGS</span> <span class="o">:=</span> <span class="se">\</span> -I<span class="k">$(</span>STAGING_DIR<span class="k">)</span>/usr/include/libnl-tiny <span class="se">\</span> -I<span class="k">$(</span>LINUX_DIR<span class="k">)</span>/include <span class="se">\</span> -I<span class="k">$(</span>PKG_BUILD_DIR<span class="k">)</span> <span class="se">\</span> <span class="k">$(</span>TARGET_CPPFLAGS<span class="k">)</span> <span class="cp">define Build/Prepare</span> mkdir -p <span class="k">$(</span>PKG_BUILD_DIR<span class="k">)</span> <span class="k">$(</span>CP<span class="k">)</span> ./src/* <span class="k">$(</span>PKG_BUILD_DIR<span class="k">)</span>/ <span class="cp">endef</span> <span class="cp">define Build/Compile</span> <span class="nv">CFLAGS</span><span class="o">=</span><span class="s2">"</span><span class="k">$(</span>TARGET_CPPFLAGS<span class="k">)</span><span class="s2"> </span><span class="k">$(</span>TARGET_CFLAGS<span class="k">)</span><span class="s2">"</span> <span class="se">\</span> <span class="k">$(</span>MAKE<span class="k">)</span> -C <span class="k">$(</span>PKG_BUILD_DIR<span class="k">)</span> <span class="se">\</span> <span class="k">$(</span>TARGET_CONFIGURE_OPTS<span class="k">)</span> <span class="se">\</span> <span class="nv">LIBS</span><span class="o">=</span><span class="s2">"</span><span class="k">$(</span>TARGET_LDFLAGS<span class="k">)</span><span class="s2"> -lnl-tiny -lm -luci"</span> <span class="cp">endef</span> <span class="cp">define Package/swconfig/install</span> <span class="k">$(</span>INSTALL_DIR<span class="k">)</span> <span class="k">$(</span><span class="m">1</span><span class="k">)</span>/bin <span class="k">$(</span><span class="m">1</span><span class="k">)</span>/lib/network <span class="k">$(</span>INSTALL_BIN<span class="k">)</span> <span class="k">$(</span>PKG_BUILD_DIR<span class="k">)</span>/swconfig <span class="k">$(</span><span class="m">1</span><span class="k">)</span>/bin/swconfig <span class="k">$(</span>INSTALL_DATA<span class="k">)</span> ./files/switch.sh <span class="k">$(</span><span class="m">1</span><span class="k">)</span>/lib/network/ <span class="cp">endef</span> <span class="k">$(</span><span class="nv">eval</span> <span class="k">$(</span><span class="nv">call</span> <span class="nv">BuildPackage</span>,<span class="nv">swconfig</span><span class="k">))</span> </pre></div> </code></pre></td></tr></table> </div> <!-- class=content --> <div class='footer'>generated by <a href='https://git.zx2c4.com/cgit/about/'>cgit v1.2.3</a> (<a href='https://git-scm.com/'>git 2.25.1</a>) at 2025-03-09 02:44:26 +0000</div> </div> <!-- id=cgit --> </body> </html>