diff options
Diffstat (limited to 'packages/linux_make')
-rwxr-xr-x | packages/linux_make/Makefile | 46 | ||||
-rw-r--r-- | packages/linux_make/README | 30 |
2 files changed, 69 insertions, 7 deletions
diff --git a/packages/linux_make/Makefile b/packages/linux_make/Makefile index 8c81bb8a..c0136c49 100755 --- a/packages/linux_make/Makefile +++ b/packages/linux_make/Makefile @@ -10,6 +10,11 @@ cvs_root_dir = $(CWD)/../.. BUILDLAYOUT_DIR = $(CWD)/.. +# for command-line UNIX versions, you need to install Pd into the same +# directory as $(prefix) otherwise Pd won't be able to find extra, doc, etc. +prefix = /usr/local + + include $(BUILDLAYOUT_DIR)/Makefile.buildlayout @@ -30,21 +35,48 @@ install: #==============================================================================# # -## +## installer package # #==============================================================================# -PACKAGE_NAME = Pd-$(PD_VERSION)-$(PACKAGE_VERSION)-$(OS_NAME)-$(shell uname -m) -tarbz2: -# it is very hard to escape the $ in shell scripts so delete files - -rm -f -- $(helpdir)/iemabs/*\$$*.pd $(objectsdir)/iemabs/*\$$*.pd - -./generate_install_makefile.bash $(DESTDIR)$(prefix) > tarbz2Makefile - mv -i tarbz2Makefile $(DESTDIR)$(prefix)/Makefile +PACKAGE_NAME = Pd-$(PD_VERSION)-$(PACKAGE_VERSION)-$(OS_NAME)-$(shell uname -p) +tarbz2: installer_makefile installer_readme mv $(DESTDIR)$(prefix) $(DESTDIR)$(PACKAGE_NAME) cd $(DESTDIR) && \ tar cjf $(PACKAGE_NAME).tar.bz2 $(PACKAGE_NAME) mv $(DESTDIR)$(PACKAGE_NAME) $(DESTDIR)$(prefix) + +INSTALLER_README_FILE = $(DESTDIR)$(prefix)/README.txt +installer_readme: + install -d $(DESTDIR)$(prefix) + -rm $(INSTALLER_README_FILE) + touch $(INSTALLER_README_FILE) + echo -e "$(PACKAGE_NAME)" >> $(INSTALLER_README_FILE) + echo -e "\n\n" >> $(INSTALLER_README_FILE) + echo -e "To install:\n" >> $(INSTALLER_README_FILE) + echo -e "\tmake install\n" >> $(INSTALLER_README_FILE) + echo -e "To uninstall:\n" >> $(INSTALLER_README_FILE) + echo -e "\tmake uninstall\n" >> $(INSTALLER_README_FILE) + echo -e "\n\n" >> $(INSTALLER_README_FILE) + echo -e "You can install this package elsewhere, but its been compiled to run in $(prefix). If you install it somewhere other than $(prefix), you will only be able to run Pd like this:\n" >> $(INSTALLER_README_FILE) + echo -e "\tcd /path/to/bin/pd && ./pd\n" >> $(INSTALLER_README_FILE) + echo -e "Here's how to install it elsewhere:" >> $(INSTALLER_README_FILE) + echo -e "To install:\n" >> $(INSTALLER_README_FILE) + echo -e "\tmake install prefix=/path/to\n" >> $(INSTALLER_README_FILE) + echo -e "To uninstall:\n" >> $(INSTALLER_README_FILE) + echo -e "\tmake uninstall prefix=/path/to\n" >> $(INSTALLER_README_FILE) + + +installer_makefile: +# it is very hard to escape the $ in shell scripts so delete files + -rm -f -- $(helpdir)/iemabs/*\$$*.pd $(objectsdir)/iemabs/*\$$*.pd +# don't put the Makefile into the package yet, otherwise it'll get installed + -./generate_install_makefile.bash $(DESTDIR)$(prefix) > tarbz2Makefile + mv -i tarbz2Makefile $(DESTDIR)$(prefix)/Makefile + + + #==============================================================================# # ## CVS SOURCES diff --git a/packages/linux_make/README b/packages/linux_make/README new file mode 100644 index 00000000..c082b882 --- /dev/null +++ b/packages/linux_make/README @@ -0,0 +1,30 @@ + +To build everything and create an generic installer for linux, do this: + + +Download and run the script from CVS which will download all the sources from +anonymous CVS: + + scripts/checkout-developer-layout.sh + +Now you will have all of the sources in a directory called "pure-data". Next, +run these commands to build in the package: + + cd packages/linux_make + make install + +It will then compile and install everything into packages/linux_make/build. +The default installation prefix is "/usr/local". Pd will need to be installed +into that directory in order for it to find all its externals and docs. You +can compile everything to use a different prefix like this: + + make install prefix=/usr + +After you have everything built, you can make a tarball with a generated +Makefile which will install and uninstall everything: + + make tarbz2 + +You can generate just the Makefile used for installation using: + + make installer_makefile |