diff --git a/How-MXE-builds-its-package.md b/How-MXE-builds-its-package.md index bb88271..4c48c84 100644 --- a/How-MXE-builds-its-package.md +++ b/How-MXE-builds-its-package.md @@ -3,20 +3,20 @@ MXE is a set of Makefiles that is used to mimic a mini Linux distribution. ## Building packages 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. 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. - 3. Sometimes, it will also build a test program to make sure that the library works. +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. 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. + 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. \ No newline at end of file