Tricks for partial builds

Discuss the technical details of Gargoyle and ongoing development

Moderator: Moderators

Post Reply
joequant
Posts: 16
Joined: Thu Mar 05, 2015 12:57 am

Tricks for partial builds

Post by joequant »

Question:

I've been doing some gargoyle development, and because I'm on the bleeding edge, I'm always breaking my local build, and I'd like to see if there are some tricks to speed up development time.

One trick that I found is simple to delete the files in targets that you don't need. Also I found out that gargoyle will build all of the targets for a particular architecture in ar71xxx-src and modifying the makefile in *-src/target/linux/*/image will prevent some unneeded images from getting built.

Here are some questions:

1) I noticed that whenever I run "make" after a partial build, that the build will always try to rebuild the gargoyle packages under package, even they they have already been built. I suspect there is some copy that overwrites timestamps

2) What's the easiest way of rebuilding a single package. The use case is that I'm upgrading a package, and would like to build a single package without doing a full rebuild.

3) any other handy tricks?

Lantis
Moderator
Posts: 6920
Joined: Mon Jan 05, 2015 5:33 am
Location: Australia

Re: Tricks for partial builds

Post by Lantis »

1. Like I mentioned, I’ve never seen this behaviour when running “make” against a single target or profile that had already been built. Is this the scenario you are running?
2.

Code: Select all

cd *-src
make package/example/{clean,compile} V=s
The result will be in the *-src/build_dir/*arch*/* folders
3. Don’t do a distclean or you’ll need to redownload everything which adds considerable time to builds.
https://lantisproject.com/downloads/gargoylebuilds for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.

joequant
Posts: 16
Joined: Thu Mar 05, 2015 12:57 am

Re: Tricks for partial builds

Post by joequant »

The scenario that I'm running into is as follows.

I build gargoyle. OpenWRT is already built, but the build gets interrupted during the build of the gargoyle packages. I fix the build. When I restart the build, there is a rebuild of the gargoyle packages and all of the previous binaries that got built are ignored.

Post Reply