Git Product home page Git Product logo

Comments (5)

meyersbs avatar meyersbs commented on September 23, 2024 1

In a Linux file system, the standard conventions are:

  • /usr/bin is for executables installed by a package manager (apt, yum, etc.).
  • /usr/sbin is essentially the same as /usr/bin, except that executables in /usr/sbin generally require root privileges to run.
  • /usr/lib is for libraries (which aren't already installed) that executables depend on.
  • /bin and /sbin are for OS-specific core functions, such as chmod, fsck, iptables, etc.
  • Note: /sbin doesn't exist in many older distributions.

In this case, I was slightly wrong; the make install rule should put the Praat executables in /usr/local/bin and libraries that Praat depends on should go in /usr/local/lib, as package managers will not touch things in /usr/local.

When installing via sudo apt-get install praat executables should be put in /usr/bin and libraries should be put in /usr/lib.

Source: Linux Foundation Filesystem Hierarchy Standard


Here is my proposed make install rule:

prefix=/usr/local

    install: praat
        install -m 0755 praat $(prefix)/bin

   .PHONY: install

from praat.

PaulBoersma avatar PaulBoersma commented on September 23, 2024

What should make install do exactly? Move the executable somewhere else, I guess, but where? Into a place accessible to all users, e.g. installing it to /usr/sbin by using sudo?

from praat.

meyersbs avatar meyersbs commented on September 23, 2024

make install should put the executables into /usr/bin.

from praat.

PaulBoersma avatar PaulBoersma commented on September 23, 2024

So that would be simply sudo mv praat /usr/bin in your case, but perhaps something different in other people's cases, unless you can convince me that /usr/bin is the place where executables should generally go.

from praat.

PaulBoersma avatar PaulBoersma commented on September 23, 2024

OK, so done. In makefile.defs.linux.pulse:

INSTALL = install -p praat /usr/local/bin

and in the root makefile:

.PHONY: all clean install

from praat.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.