Integrated the -ipk target into the system for building ipkg files
Added wshaper.mk oidentd.mk sched-modules.mk SVN-Revision: 67v19.07.3_mercusys_ac12_duma
parent
c34f5a2f89
commit
e1cdaaacf6
@ -0,0 +1,74 @@
|
||||
######################################################
|
||||
#
|
||||
# An example makefile to fetch a package from sources
|
||||
# then fetch the ipkg updates required to the base package
|
||||
# extract the archives into the build tree
|
||||
# and then build the source
|
||||
#
|
||||
######################################################
|
||||
|
||||
|
||||
# For this example we'll use a fairly simple package that compiles easily
|
||||
# and has sources available for download at sourceforge
|
||||
OIDENTD=oidentd-2.0.7
|
||||
OIDENTD_TARGET=oidentd
|
||||
OIDENTD_DIR=$(BUILD_DIR)/oidentd-2.0.7
|
||||
OIDENTD_IPKTARGET=oidentd-2.0.7_mipsel.ipk
|
||||
OIDENTD_SITE=http://easynews.dl.sourceforge.net/sourceforge/ojnk
|
||||
OIDENTD_SOURCE=oidentd-2.0.7.tar.gz
|
||||
OIDENTDIPK_SITE=http://openwrt.rozeware.bc.ca/ipkg-dev
|
||||
OIDENTDIPK_SRC=oidentd-2.0.7-pkg.tgz
|
||||
|
||||
|
||||
|
||||
|
||||
# define a target for the master makefile
|
||||
oidentd: $(OIDENTD_DIR)/$(OIDENTD_TARGET)
|
||||
|
||||
oidentd-ipk: $(BUILD_DIR)/$(OIDENTD_IPKTARGET)
|
||||
|
||||
# We need to download sources if we dont have them
|
||||
$(DL_DIR)/$(OIDENTD_SOURCE) :
|
||||
$(WGET) -P $(DL_DIR) $(OIDENTD_SITE)/$(OIDENTD_SOURCE)
|
||||
|
||||
# As well as the upstream package sources, we need the updates
|
||||
# for ipkg packaging
|
||||
$(DL_DIR)/$(OIDENTDIPK_SRC) :
|
||||
$(WGET) -P $(DL_DIR) $(OIDENTDIPK_SITE)/$(OIDENTDIPK_SRC)
|
||||
|
||||
# if we have the sources, they do no good unless they are unpacked
|
||||
$(OIDENTD_DIR)/.unpacked: $(DL_DIR)/$(OIDENTD_SOURCE)
|
||||
tar -C $(BUILD_DIR) -zxf $(DL_DIR)/$(OIDENTD_SOURCE)
|
||||
touch $(OIDENTD_DIR)/.unpacked
|
||||
|
||||
# if we have the sources unpacked, we need to configure them
|
||||
$(OIDENTD_DIR)/.configured: $(OIDENTD_DIR)/.unpacked
|
||||
(cd $(OIDENTD_DIR); rm -rf config.cache; \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
./configure \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
--prefix=/usr \
|
||||
--exec-prefix=/usr \
|
||||
--bindir=/usr/bin \
|
||||
--sbindir=/usr/sbin \
|
||||
);
|
||||
touch $(OIDENTD_DIR)/.configured
|
||||
|
||||
|
||||
# with the upstream sources unpacked, they still dont do much good without
|
||||
# the ipkg control and rule files
|
||||
$(OIDENTD_DIR)/ipkg/rules : $(DL_DIR)/$(OIDENTDIPK_SRC) $(OIDENTD_DIR)/.unpacked
|
||||
tar -C $(OIDENTD_DIR) -zxf $(DL_DIR)/$(OIDENTDIPK_SRC)
|
||||
|
||||
# now that we have it all in place, just build it
|
||||
$(OIDENTD_DIR)/$(OIDENTD_TARGET): $(OIDENTD_DIR)/.configured
|
||||
cd $(OIDENTD_DIR); make
|
||||
|
||||
|
||||
$(BUILD_DIR)/$(OIDENTD_IPKTARGET): $(OIDENTD_DIR)/ipkg/rules
|
||||
(cd $(OIDENTD_DIR); ipkg-buildpackage)
|
||||
|
||||
|
||||
|
@ -0,0 +1,44 @@
|
||||
######################################################
|
||||
#
|
||||
# A really simple example that doesn't actually build anything
|
||||
# It'll fetch a package from another repository for inclusion
|
||||
# into our final list
|
||||
# Using one from the openwrt home as an example
|
||||
#
|
||||
######################################################
|
||||
|
||||
|
||||
SCHEDM=sched-modules
|
||||
|
||||
SCHEDM_TARGET=sched-modules_2.4.20_mipsel.ipk
|
||||
SCHEDM_SITE=http://openwrt.rozeware.bc.ca/ipkg-dev
|
||||
SCHEDM_SOURCE=openwrt-kmodules.tar.bz2
|
||||
SCHEDMIPK_SRC=sched-modules-ipk.tgz
|
||||
|
||||
|
||||
sched-modules-ipk: $(BUILD_DIR)/$(SCHEDM_TARGET)
|
||||
|
||||
|
||||
# fetch the ipkg rules stuff
|
||||
$(DL_DIR)/$(SCHEDMIPK_SRC) :
|
||||
$(WGET) -P $(DL_DIR) $(SCHEDM_SITE)/$(SCHEDMIPK_SRC)
|
||||
|
||||
#make sure we have a directory to extract to
|
||||
$(BUILD_DIR)/$(SCHEDM) :
|
||||
mkdir $(BUILD_DIR)/$(SCHEDM)
|
||||
|
||||
#extract the archive
|
||||
$(BUILD_DIR)/$(SCHEDM)/modules/2.4.20/net/sched/cls_fw.o : $(BUILD_DIR)/$(SCHEDM) $(SCHEDM_SOURCE)
|
||||
tar -C $(BUILD_DIR)/$(SCHEDM) -jxf $(SCHEDM_SOURCE)
|
||||
|
||||
# extract the ipkg overlay
|
||||
$(BUILD_DIR)/$(SCHEDM)/ipkg/control : $(DL_DIR)/$(SCHEDMIPK_SRC) $(BUILD_DIR)/$(SCHEDM)/modules/2.4.20/net/sched/cls_fw.o
|
||||
tar -C $(BUILD_DIR)/$(SCHEDM) -zxf $(DL_DIR)/$(SCHEDMIPK_SRC)
|
||||
|
||||
# now that we have it all in place, just build it
|
||||
$(BUILD_DIR)/$(SCHEDM_TARGET): $(BUILD_DIR)/$(SCHEDM)/ipkg/control $(BUILD_DIR)/$(SCHEDM)/modules/2.4.20/net/sched/cls_fw.o
|
||||
cd $(BUILD_DIR)/$(SCHEDM); ipkg-buildpackage -c
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,50 @@
|
||||
######################################################
|
||||
#
|
||||
# An example makefile to fetch a package from sources
|
||||
# then fetch the ipkg updates required to the base package
|
||||
# extract the archives into the build tree
|
||||
# and then build the source
|
||||
#
|
||||
######################################################
|
||||
|
||||
|
||||
# For this example we'll use a fairly simple package that compiles easily
|
||||
# and has sources available for download at sourceforge
|
||||
WSHAPER=wondershaper-1.1a
|
||||
WSHAPER_TARGET=wondershaper-1.1a_mipsel.ipk
|
||||
WSHAPER_SITE=http://lartc.org/wondershaper
|
||||
WSHAPER_SOURCE=wondershaper-1.1a.tar.gz
|
||||
WSHAPERIPK_SITE=http://openwrt.rozeware.bc.ca/ipkg-dev
|
||||
WSHAPERIPK_SRC=wondershaper-1.1a-pkg.tgz
|
||||
|
||||
|
||||
|
||||
# define a target for the master makefile
|
||||
wshaper-ipk: $(BUILD_DIR)/$(WSHAPER_TARGET)
|
||||
|
||||
# We need to download sources if we dont have them
|
||||
$(DL_DIR)/$(WSHAPER_SOURCE) :
|
||||
$(WGET) -P $(DL_DIR) $(WSHAPER_SITE)/$(WSHAPER_SOURCE)
|
||||
|
||||
# As well as the upstream package sources, we need the updates
|
||||
# for ipkg packaging
|
||||
$(DL_DIR)/$(WSHAPERIPK_SRC) :
|
||||
$(WGET) -P $(DL_DIR) $(WSHAPERIPK_SITE)/$(WSHAPERIPK_SRC)
|
||||
|
||||
# if we have the sources, they do no good unless they are unpacked
|
||||
$(BUILD_DIR)/$(WSHAPER)/.unpacked: $(DL_DIR)/$(WSHAPER_SOURCE)
|
||||
tar -C $(BUILD_DIR) -zxf $(DL_DIR)/$(WSHAPER_SOURCE)
|
||||
touch $(BUILD_DIR)/$(WSHAPER)/.unpacked
|
||||
|
||||
# with the upstream sources unpacked, they still dont do much good without
|
||||
# the ipkg control and rule files
|
||||
$(BUILD_DIR)/$(WSHAPER)/ipkg/control : $(BUILD_DIR)/$(WSHAPER)/.unpacked $(DL_DIR)/$(WSHAPERIPK_SRC)
|
||||
tar -C $(BUILD_DIR)/$(WSHAPER) -zxf $(DL_DIR)/$(WSHAPERIPK_SRC)
|
||||
|
||||
# now that we have it all in place, just build it
|
||||
$(BUILD_DIR)/$(WSHAPER_TARGET): $(BUILD_DIR)/$(WSHAPER)/ipkg/control
|
||||
cd $(BUILD_DIR)/$(WSHAPER); ipkg-buildpackage -c
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue