Skip to main content

make-install

Install github repositories by making and copying executable.

This is unreviewed AI-genreated code

Motivation

I do not like running make install and make uninstall. I like installed files and packages to be tracked and queriable. But not tall supports this

basher can copy or symlink binaries but does not run make. bpkg runs make and copies files but cannot symlink to make code editable. I want to to have syminks and a remake command.

Finding executables

After building, make-install will symlink everything in /bin and the top level. You can also make a make-install.json command:

{"bins": ["build/mytool", "scripts/helper"]}

Building

If the package has a Makefile, makefile or GNUmakefile, make-install runs make in it — the default target, not install. A package with no makefile is simply linked, which is basher's behaviour.

make-install does not install build dependencies and has no way to describe them. A C program needing GTK headers still needs you to install them.

Installation

pipx install make-install
eval "$(make-install init)"        # adds ~/.make-install/bin to PATH; put this in your shell rc

$MAKE_INSTALL_ROOT overrides the location, which defaults to ~/.make-install.

Usage

Install from a github repo

make-install install talwrii/x11-grab-dialog

Install from source

make-install install .

Link from source (uses symlinks so builds change binaries immediately)

make-install link .

Rebuild a package and relink it. For a linked checkout this rebuilds your working tree.

make-install remake x11-grab-dialog

Remove a package. A copy is deleted; a linked checkout is left alone and only the symlinks go.

make-install uninstall x11-grab-dialog

Show what is installed, and which of them are links.

make-install list

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

make_install-1.0.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

make_install-1.0.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file make_install-1.0.0.tar.gz.

File metadata

  • Download URL: make_install-1.0.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for make_install-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0ed39e43557d91a4b5978173719602bafd3c37aa9cf665065bf1f6e6f1b95c73
MD5 b697e1c10f017351678a959db667c4e6
BLAKE2b-256 db05c2b37122563c0acf7a88a20c59a5a688b306bb5cc4f383b8108b7bcbc753

See more details on using hashes here.

File details

Details for the file make_install-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: make_install-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for make_install-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c210436d385e1f528ea0c5babbad63e472a50e120fc327d2a2ea33d3fb055de4
MD5 cea96713a50f999918e8cdda1c50ff5a
BLAKE2b-256 ce3c4136003981ad08ba61dd0a58d2b69ce4dd3ac913d42eafb8f545fbdfd764

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page