diff --git a/How-MXE-builds-its-package.md b/How-MXE-builds-its-package.md index 1e0076e..0dd668e 100644 --- a/How-MXE-builds-its-package.md +++ b/How-MXE-builds-its-package.md @@ -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. \ No newline at end of file + 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