Skip to content

This is a generic makefile project for compiling C and C++ programs that implement shared libraries. It also includes various examples for compiling C and C++ programs in Unix like operating systems.

License

ondergormez/SharedObjectBuildingMakefiles

Repository files navigation

Shared Object Building Makefiles

Shared Object Building Makefile project is a makefile that is used for compiling different libraries to shared object with the same makefile.

Contents

  1. Prerequisite Programs to be Installed
  2. Install/Uninstall Shared Object Building Makefiles
  3. Makefiles
    1. Shared Object Library Building Makefile
    2. Executable Project Building Makefile
  4. Key Notes
  5. Release Notes
  6. Contributing
  7. License

1. Prerequisite Programs to be Installed

# Debian / Ubuntu
apt-get install gcc g++ make git dos2unix

# Fedora
dnf install gcc g++ make git dos2unix

# CentOS / Red Hat Enterprise Linux
yum install gcc g++ make git dos2unix

# openSUSE
zypper install gcc g++ make git dos2unix

2. Install/Uninstall Shared Object Building Makefiles

Do this to install and run Shared Object Building Makefiles:

# download it - the directory 'sharedobjectbuildingmakefiles' will be created
git clone https://github.com/ondergormez/SharedObjectBuildingMakefiles.git --depth=100
cd SharedObjectBuildingMakefiles

# run script with root privileges to build, install, start sharedobjectbuildingmakefiles
chmod +x sharedobjectbuildingmakefiles-installer.sh
./sharedobjectbuildingmakefiles-installer.sh

Do this to uninstall Shared Object Building Makefiles:

# run script with root privileges to uninstall sharedobjectbuildingmakefiles
chmod +x sharedobjectbuildingmakefiles-uninstaller.sh
./sharedobjectbuildingmakefiles-uninstaller.sh

3. Makefiles

3.1. Shared Object Library Building Makefile

See detailed description at shared object library building makefile page.

3.2. Executable Project Building Makefile

See detailed description at executable project building makefile page.

4. Key Notes

Created shared object libraries (.so files) and their interfaces (.h files) copied in to "$HOME/SharedObjectBuildingMakefiles" path.

5. Release Notes

Click here to see release notes.

6. Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

7. License

GNU GPLv3