Log of /branches/common-nfo/mk/build.mk
Parent Directory
|
Revision Log
Revision
3265 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 18 12:45:43 2007 UTC
(6 years, 7 months ago)
by
tg
File length: 4416 byte(s)
Diff to
previous 3234
copy trunk/freewrt r3264 into a new branch for making the nfo system
because upgrading the old adk branch would be a hell more work
Revision
3234 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon Jul 16 14:47:44 2007 UTC
(6 years, 7 months ago)
by
tg
Original Path:
trunk/freewrt/mk/build.mk
File length: 4416 byte(s)
Diff to
previous 3210
part Ⅱ – simplify busybox config, ok wbx@
from now on, you can select a smaller and a fuller busybox, like mksh;
if you want fewer applets, hand-edit the config, we won't prevent you,
but shan't support it in the ADK any more; if you want more applets,
please talk to me and I'll see if they can be included in the list
we still have a problem regarding duplicate binaries (ip, free, tar, …)
which could be solved with dpkg diversions if ipkg supports them;
for now just consider busybox a non-upgradable package if you have any
of these installed
Revision
2928 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 26 15:05:41 2007 UTC
(6 years, 8 months ago)
by
tg
Original Path:
trunk/freewrt/mk/build.mk
File length: 4424 byte(s)
Diff to
previous 2798
I like to fix things I have no ideas of… (sarcasm included)
this should fix wbx' allmodconfig target, retaining the choice
which target to use (maybe it keeps more from old .config tho)
Revision
2795 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Thu Jun 14 12:55:49 2007 UTC
(6 years, 8 months ago)
by
tg
Original Path:
trunk/freewrt/mk/build.mk
File length: 4255 byte(s)
Diff to
previous 2715
add experimental support for nokernel targets (mips and i386 for now)
requested by wbx@
if something doesn't work right or you want to build packages for other
arches (say, arm) just tell me and I'll add them.
Revision
2715 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 5 14:52:44 2007 UTC
(6 years, 8 months ago)
by
tg
Original Path:
trunk/freewrt/mk/build.mk
File length: 4122 byte(s)
Diff to
previous 2678
• 1.0 -> scripts/param.h, paxmirabilis: MFC the new version from trunk
• both 1.0 and trunk: implement “make targz”, “make tarbz2”
(I like the gzip(1)d versions better though)
• 1.0 -> package/config/Makefile: quieten the “clean” target to be consistent
Revision
2678 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue May 29 14:04:00 2007 UTC
(6 years, 8 months ago)
by
tg
Original Path:
trunk/freewrt/mk/build.mk
File length: 3886 byte(s)
Diff to
previous 2658
the treebreaker ☺
overhaul the fetch'n'checksum system to be more bsd-like
• make fetch, make checksum supported
• future expansion possibilities already prepared:
– more distfiles than just one
– check sizes of downloaded files (size matters!!!!!111)
– more hashes than just MD5
– recursive fetch/checksum targets
– PERMIT_{SOURCES,DISTFILES}=Yes/«reason» – licence issues
• download.pl dies
quirks:
• GNU make only has a poor excuse for a .for loop
• some things (esp. toolchain and target/linux) now have
a ${WRKDIR} where they didn't have it before
• ${WRKDIR}/.checksum_done – no comment… it was necessary
because otherwise everything will get rebuilt every time
(did I mention that GNU make sucks?)
• I had troubles tracking the dependency problems down
because GNU make, unlike BSD make, doesn't have good debugging
• DISTFILES -> FULLDISTFILES
• DL_DIR -> DISTDIR
• PKG_SOURCE -> DISTFILES
• PKG_SOURCE_URL -> MASTER_SITES
• no @SF and @GNU any more, use BSD network.template syntax
(feel free to add more master sites)
• GNU make doesn't really strip whitespaces from variables…
(did I mention how much better BSD make is?)
• echo 'LOCAL_DISTFILES=/path/to/distfiles' >>${TOPDIR}/prefs.mk
will save the need to download 'em, Closes: #102
• MASTER_SITES now *must* have the trailing slashes (there may be
a few that don't and a few with double ones, please fix them)
I've tested that a normal build (unchanged .config from the default) works
on GNU/Linux. There's definitively room for improvement, but most of that
will come with the NFO system only. Fixes appreciated.
This work sponsored by AurISP, part of the NFO conversion project ☻
Revision
2591 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon May 21 14:28:15 2007 UTC
(6 years, 9 months ago)
by
tg
Original Path:
trunk/freewrt/mk/build.mk
File length: 3922 byte(s)
Diff to
previous 2504
by request of wbx@:
sort out the mess we had in ${TOPDIR}/staging_dir_${ARCH} and introduce
some new variables:
• ${STAGING_DIR} stays the same, but has a different location now
• ${STAGING_TOOLS} is where executables for the host system go
• ${STAGING_PARENT} is ${TOPDIR}/cross_${ARCH} and has three (at
the moment) subdirectories: host (i.e. STAGING_TOOLS), target
(i.e. STAGING_DIR) and pkg (used by package.mk, pkg-bottom.mk)
but is an internal-use-only variable - please don't use it.
this builds through with a non-default config; more testing will follow
Revision
2504 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon May 14 11:55:48 2007 UTC
(6 years, 9 months ago)
by
wbx
Original Path:
trunk/freewrt/mk/build.mk
File length: 3916 byte(s)
Diff to
previous 2497
*tada*
complete rework of the kernel and kernel module build process.
more modular, very fast and simple (perl free implementation TM)
* only choosen drivers are compiled in the ADK, significant faster
compiles (just 10 minutes for a basic image on my X40 notebook for
a WL500gp)
* if the user changes something in the ADK, thats not a problem, new
drivers are automatically compiled on next make run
* only one simple "kernelconfig" for every board-kernel combination
* two kind of configuration symbols:
- FWRT_KERNEL prefix, for kernel features without packages
- FWRT_KPACKAGE_KMOD prefix for kernel features or drivers with packages
* very simple to add new drivers to the ADK, just add stuff to
target/linux/config/Config.in.* and mk/modules.mk
* rebuild of firmware images without make clean if you change model/board
(nearly, one bug with base-files still exist)
* autogenerated ipkg control files
* first cleanup of special netfilter/iptables scripts (netfilter.mk is
obsolete)
* New menuconfig point ADK (for ccache, toolchain stuff, prefix,...)
* package collection is disabled for now, it seems unmaintained. it is better
to only have this in WIB, in my point of view
What is missing:
* pcmcia support and tests on Linksys WRT54G3G
* ip6tables 2.4/2.6
* ebtables for 2.6
* iptables package
* dependencies for shorewall/fwfirewall/iptables package
* documentation for the developer handbook
Please test and report bugs!
Revision
2322 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon Apr 2 22:17:37 2007 UTC
(6 years, 10 months ago)
by
wbx
Original Path:
trunk/freewrt/mk/build.mk
File length: 3873 byte(s)
Diff to
previous 2287
time to break trunk.
* update to OpenWrt brcm-2.4 patch, wl driver and diag driver
* fix failsafe mode to use new hotplug method
* rework of mk/kernel-build.mk to use .config instead of stampfiles
* simplify mk/kernel*.mk to use $(FS) instead ifeq/else crap
a lot of small stuff.
tested and verified to boot at least on
- Netgear WG634u
- Linksys WRT54GS v1.0
- Asus WL500gP
Only basic lan and wlan stuff (none encryption, wep) are tested.
PLEASE update only on NON-PRODUCTIVE routers with serial access.
HELP to test the new backend code for BRCM-2.4!
Revision
2287 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Mar 27 12:18:25 2007 UTC
(6 years, 11 months ago)
by
tg
Original Path:
trunk/freewrt/mk/build.mk
File length: 3815 byte(s)
Diff to
previous 2286
why were we still using the python ipkg-make-index even if we
already had a shell one and weren't scan-tools.sh'ing for python
existence any more? right, because it had bugs…
while here, remove the executable bit from the script and call
it with the proper shell, convert to bash, fix output to be
about the same as from the python script
Revision
2203 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Mar 20 11:23:20 2007 UTC
(6 years, 11 months ago)
by
tg
Original Path:
trunk/freewrt/mk/build.mk
File length: 3795 byte(s)
Diff to
previous 2184
for allmodconfig and snapshotconfig:
* reset runtime options and ccache to defaults, too
* run "oldconfig" after the restore script
note: Config.defaults is out of date, please regenerate!
Revision
1754 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Thu Jan 25 20:58:06 2007 UTC
(7 years, 1 month ago)
by
tg
Original Path:
trunk/freewrt/mk/build.mk
File length: 3395 byte(s)
Diff to
previous 1686
toolchain and tools do, ironically, not depend on the .cfg/ dir
to prevent e.g. make prereq to invoke it (unsure about make cleandir);
if we should ever build different toolchain (e.g. compiler)
depending on config options, user *must* do make cleandir
(no change to current behaviour!)
Revision
1686 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Jan 20 21:21:59 2007 UTC
(7 years, 1 month ago)
by
n0-1
Original Path:
trunk/freewrt/mk/build.mk
File length: 3467 byte(s)
Diff to
previous 1345
merged from branches/common-adk 1310:1685
the following packages are not converted yet:
* alsa
* asterisk
* pmacct
* zaptel
* elinks
* libgd
* lua
* mypackage
* openser
* php*
* snort*
* tmsnc
additionally, freeradius doesn't compile.
happy fixing :P
Revision
1232 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Thu Nov 30 17:23:01 2006 UTC
(7 years, 2 months ago)
by
n0-1
Original Path:
trunk/freewrt/mk/build.mk
File length: 3297 byte(s)
Diff to
previous 1204
Introduced a new make target `snapshotconfig'.
This target is quite equal to the well-known `allmodconfig',
with the extension that all possible target devices are selected
at the same time. This leads to also enabling packages which depend
on certain target devices, what is useful for snapshot builds.
Revision
1204 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Nov 25 02:02:45 2006 UTC
(7 years, 3 months ago)
by
n0-1
Original Path:
trunk/freewrt/mk/build.mk
File length: 3226 byte(s)
Diff to
previous 1198
Finished the "allmodconfig" target. As `conf' is quite stupid, with flag
"-m" it selects just everything, also every Busybox feature. This leads
to at least one broken package, so I wrote a little script replacing
config symbols by pattern, taking the default from .defconfig (which I
updated using `rm .config; make menuconfig (just save); mv .config
.defconfig`).
Also corrected a mistake regarding Fuse (sneaked back in with the last
update).
Revision
1198 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Thu Nov 23 23:54:09 2006 UTC
(7 years, 3 months ago)
by
n0-1
Original Path:
trunk/freewrt/mk/build.mk
File length: 3093 byte(s)
Diff to
previous 1155
Enabled the well-known "allmodconfig" target.
The idea is merely to build something that fits everywhere,
but rather for testing builds including everything. (This
way one can deselect senseless packages, like e.g. busybox
which is totally useless with everything enabled.)
Also synced Config.in.collections with the one from 1.0.
Revision
588 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Sep 12 18:11:35 2006 UTC
(7 years, 5 months ago)
by
wbx
Original Path:
trunk/freewrt/mk/build.mk
File length: 3327 byte(s)
Copied from:
branches/wbx-target-cleanup/build.mk revision 552
Diff to
previous 553
merge wbx-target-cleanup to trunk.
- mk directory for some top level makefiles (build.mk,vars.mk)
- add a separate configfs partition to all models, 128 kb big
- add model and platform specific startup files and kernel configs
- delete target/linux/package, add all addon kernel packages to packages
- simplify target/linux/brcm-2.4/Makefile, abstraction to mk/ comes later
- add target/image directory, place where the different images are created
- default off for all extra packages, be sure that you enable all packages
you need to get a dsl-capable router. snapshots will be created by a specific config which contains all needed stuff (iptables, pppoe, pptp, haserl, webif)
Revision
472 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Aug 1 21:38:13 2006 UTC
(7 years, 6 months ago)
by
tg
Original Path:
trunk/freewrt/build.mk
File length: 3407 byte(s)
Diff to
previous 423
by request of wbx@ add a "licence boilerplate" which can (or should,
or ought to) be added to (almost) any file in the repository, to pre-
vent companies who only check out part of the sources from thinking
it's unlicenced, public domain or whatever.
Please use the template as shown in build.mk or here:
----- cutting here may damage your screen surface -----
# $FreeWRT$
#-
# This file is part of the FreeWRT project. FreeWRT is copyrighted
# material, please see the LICENCE file in the top-level directory
# or at http://www.freewrt.org/license for details.
----- cutting here may damage your screen surface -----
at the top of the file (after a shebang line, if required).
Both this "boilerplate" and the according change to the website
have been okay'd by wbx@ as well as this textual change itself.
Revision
360 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Jul 22 15:48:30 2006 UTC
(7 years, 7 months ago)
by
tg
Original Path:
trunk/freewrt/build.mk
File length: 3444 byte(s)
Diff to
previous 232
as discussed with wbx@ some 2-3 weeks ago, change
the BR2_ prefix to FWRT_
tested with a standard build (only the squashfs
image since the jffs2 didn't get built)
Revision
194 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 12 20:09:11 2006 UTC
(7 years, 7 months ago)
by
wbx
Original Path:
trunk/freewrt/build.mk
File length: 3401 byte(s)
Diff to
previous 183
move tools like sed, trx, lzma, which does not belong to the toolchain (gcc,binutils,gdb,libc) to a separate directory, all stuff is compiled with the host compiler
Revision
73 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 16 20:53:08 2006 UTC
(7 years, 8 months ago)
by
tg
Original Path:
trunk/freewrt/build.mk
File length: 4115 byte(s)
Diff to
previous 62
* instead of using a $(VARS_TO_PASS) write the variables into a
*.mk include file, so that people can cd to some package direc-
tory and invoke gmake directly
* fake OpenBSD as uname for MirBSD, so that we get a little further
in the build process there (stops at linux requiring bash now)
Tested with a full build (standard config) on Linux.
Invoking gmake in a subdirectory *not* tested, but
that didn't work before at all, so it's not a problem.
Revision
62 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 13 12:36:59 2006 UTC
(7 years, 8 months ago)
by
tg
Original Path:
trunk/freewrt/build.mk
File length: 4081 byte(s)
Diff to
previous 55
uClibc is not part of the toolchain, even if it's
contained in the toolchain/ directory, so it doesn't
build with CC=$(HOSTCC), change that and don't pass
it the variables (even if CC=$(TARGET_CC) is passed,
it doesn't build - but then, uClibc's build system
is so broken in other regards...)
Full build (make v) succeeded on GNU/Linux:
-rw-r--r-- 1 tg freewrt 4706440 Jun 13 14:32 make.log
Didn't attach the build log because of its sheer size ;)
Bug catched by wbx@
Revision
55 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Jun 11 23:18:55 2006 UTC
(7 years, 8 months ago)
by
tg
Original Path:
trunk/freewrt/build.mk
File length: 4126 byte(s)
Diff to
previous 54
provide sensible defaults (-O2) for systems with no default CFLAGS
tested on lunox
note: this also, as a not unwelcome side effect, changes the
default flags used for builds from "-g -O2" to "-O2" on the
standard GNU installation (and "-O2 -pipe" on OpenBSD, I
think). More flags (e.g. debugging) can and will be added
later.
Revision
54 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Jun 11 23:09:53 2006 UTC
(7 years, 8 months ago)
by
tg
Original Path:
trunk/freewrt/build.mk
File length: 4125 byte(s)
Diff to
previous 48
Correctly determine HOSTCC and HOSTCFLAGS (from host make)
and pass them as CC/CFLAGS to the toolchain as well.
Now this at least goes as far as I suspected the first
breakage would be (on MirBSD) - autotools.
Detecting works by invoking $(MAKE) with a BSD-specific
makefile and just using $(HOSTCFLAGS) if that fails.
This works better on OpenBSD too, FWIW.
Revision
46 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Jun 11 17:22:50 2006 UTC
(7 years, 8 months ago)
by
tg
Original Path:
trunk/freewrt/build.mk
File length: 4546 byte(s)
Diff to
previous 41
change target distclean to also remove the download area
(distclean = "as clean as if we were making a distfile")
new target cleandir removes everything removed by distclean
except the configuration and downloaded distfiles
(cleandir = clean + toolchain directories)
removed target dirclean, replaced by ordinary clean target
(clean = clean packages, bindir, builddir)
ok wbx@
Revision
41 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Jun 11 15:28:26 2006 UTC
(7 years, 8 months ago)
by
tg
Original Path:
trunk/freewrt/build.mk
File length: 4320 byte(s)
Copied from:
trunk/freewrt/Makefile revision 40
Diff to
previous 40
Initial cut at supporting FreeWRT builds under other operating
systems (MirOS BSD, OpenBSD, probably the other BSDs as well;
Mac OSX and Cygwin to come)
The basic idea is:
* the old GNU make "Makefile" is renamed to "build.mk"
* a wrapper Makefile which uses neither GNU nor BSD make
features calls GNU make with -f build.mk
* the wrapper Makefile also checks for prerequisite
tools (as of now: existence of gmake and md5sum)
and their versions (not yet, but that's why it's
being used on GNU/Linux as well)
* scripts/md5sum.bsd uses BSD cksum(1) to generate
GNU md5sum compatible output (only when the arguments
are files; no options are supported)
* GNU make is symlinked into ./lbin/; md5sum.bsd is
copied there if needed; ./lbin/ is prepended to
$PATH for gmake -f build.mk invocations
* make distclean removes prerequisites (and lbin)
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.