Updated How MXE builds its package (markdown)

Timothy Gu 2013-11-26 16:29:23 -08:00
parent 0f56796e52
commit 327358ce29
1 changed files with 13 additions and 8 deletions

@ -5,13 +5,18 @@ When a person runs `make`, MXE does the following things:
1. It checks whether the requirements are met. If successful, it `touch`es a file in `usr/installed` to
prevent MXE from chacking that every time you run `make`.
2. When you run `make`, it automatically parses index.html to get a list of available packages.
3. It includes the Makefile for the specified package in `src/`.
4. It downloads the `$($(PKG)_FILE)` and checks it against `$($(PKG)_CHECKSUM)`.
5. It extracts the tarball or zip file using the appropriate command.
6. It applies any patch if necessary.
7. It calls macro specified in the package Makefile.
2. It parses `index.html` to get a list of available packages.
3. It solves dependency of packages to find the deepest depended package.
4. It includes the Makefile for the deepest dependency package in `src/`.
5. It downloads the `$($(PKG)_FILE)` and checks it against `$($(PKG)_CHECKSUM)`. The activities are logged
in `log/$(PKG)-download`.
6. From this point on, all activities are logged in `log/$(PKG)`.
7. It extracts the tarball or zip file using the appropriate command.
8. It applies any patch that matches `src/$(PKG)-*.patch`.
9. It calls macro specified in the package Makefile.
1. If `$(PKG)_BUILD_$(TARGET)` macro exists, then it will call that macro.
2. If it doesn't, then it calls `$(PKG)_BUILD` macro to build the package.
8. It adds an empty file in `usr/$(TARGET)/installed/` with the name of the package, signifying that the
package is built successfully.
3. Sometimes, it will also build a test program to make sure that the library works.
10.It `touch`es an empty file in `usr/$(TARGET)/installed/` with the name of the package, signifying that
the package is built successfully.
11.It continues to build the next package.