diff --git a/How-MXE-builds-its-package.md b/How-MXE-builds-its-package.md index f96e99b..1e0076e 100644 --- a/How-MXE-builds-its-package.md +++ b/How-MXE-builds-its-package.md @@ -1,10 +1,17 @@ MXE is a set of Makefiles that is used to mimic a mini Linux distribution. ## Building packages -0. It checks whether the requirements are met. -1. When you run `make`, it automatically parses index.html to get a list of available packages. -2. It includes the Makefile for the specified package in `src/`. -3. It applies any patch if necessary. -4. It calls macro specified in the package Makefile. +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. 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. \ No newline at end of file + 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