From 2f89ec03c07b8f44d0b6ac3bc90151f80aee5ace Mon Sep 17 00:00:00 2001 From: Timothy Gu Date: Tue, 26 Nov 2013 16:29:58 -0800 Subject: [PATCH] Updated How MXE builds its package (markdown) --- How-MXE-builds-its-package.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/How-MXE-builds-its-package.md b/How-MXE-builds-its-package.md index 0dd668e..bb88271 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. -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 + 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