diff options
| author | Ben Marsh <[email protected]> | 2019-10-22 09:07:59 -0400 |
|---|---|---|
| committer | Ben Marsh <[email protected]> | 2019-10-22 09:07:59 -0400 |
| commit | bd0027e737c6512397f841c22786274ed74b927f (patch) | |
| tree | f7ffbdb8f3741bb7f24635616cc189cba5cb865c /Makefile.linux | |
| download | shave-and-a-haircut-bd0027e737c6512397f841c22786274ed74b927f.tar.xz shave-and-a-haircut-bd0027e737c6512397f841c22786274ed74b927f.zip | |
Adding Shave-and-a-Haircut 9.6
Diffstat (limited to 'Makefile.linux')
| -rw-r--r-- | Makefile.linux | 557 |
1 files changed, 557 insertions, 0 deletions
diff --git a/Makefile.linux b/Makefile.linux new file mode 100644 index 0000000..10c5084 --- /dev/null +++ b/Makefile.linux @@ -0,0 +1,557 @@ +# Shave and a Haircut +# (c) 2019 Epic Games +# US Patent 6720962 + +#################################################################### +# +# Maya Version & Location +# +#################################################################### + +ifndef MAYA_LOCATION +$(error "MAYA_LOCATION is not defined") +endif + +ifeq ($(wildcard $(MAYA_LOCATION)),) +$(error "MAYA_LOCATION contains '$(MAYA_LOCATION)', which does not exist.") +endif + +# Get the Maya version number. (Actually, just the API version, but that's +# all we care about.) +# +apiVersion := $(shell grep '^[ \t]*\#define[ \t]*MAYA_API_VERSION' $(MAYA_LOCATION)/include/maya/MTypes.h | sed 's/^[^0-9]*//') + +# From Maya 2018 onward the API version number is 8 digits long +# +ifeq ($(shell echo '$(apiVersion) >= 20180000' | bc),1) + mayaMajorVersion := $(shell echo $(apiVersion) | sed 's/\(.*\)[0-9][0-9][0-9][0-9]$$/\1/') +else + mayaMajorVersion := $(shell echo $(apiVersion) | sed 's/\(.*\)[0-9][0-9]$$/\1/') +endif + +mayaMinorVersion := 0 +mayaVersion := $(mayaMajorVersion) +mayaCompressedVersion2 := $(mayaMajorVersion) +mayaCompressedVersion1 := $(mayaMajorVersion)$(mayaMinorVersion) + +ifeq ($(filter-out 1 2 3 4 5,$(mayaMajorVersion)),) +$(error "Version $(mayaVersion) of Maya is not supported.") +endif + + +#################################################################### +# +# Plugin Version +# +#################################################################### + +# +# Get the plugin version and release from the shaveVersion.mel file. +# +pluginVersion := $(shell grep "return" scripts/shaveVersion.mel | sed 's/^[^"]*"\([^v"]*\)[v"].*$$/\1/') + +release := $(shell grep "return" scripts/shaveVersion.mel | sed 's/^[^v]*v\([^"]*\)".*$$/\1/') + + +################################################################### +# +# Package Name +# +#################################################################### + +package:= shaveHaircut +packageFull := $(package)_Maya$(mayaMajorVersion)_$(mayaMinorVersion) + + +#################################################################### +# +# Build Variables +# +#################################################################### + +# +# Get the target architecture for which we are building the package. +# +targetArch := x86_64 +libShaveEngine := libShaveEngine-x64.so +packageFull := $(packageFull)_64 + +mayaRPMVersionRequired := Maya$(mayaMajorVersion)_$(mayaMinorVersion)_64 +versionedPackageName := $(packageFull)-$(pluginVersion) + +# +# Set up some variables used in the rest of the file. +# +melScripts := $(wildcard scripts/*.mel) + +# +# Any sample files which require renaming when building the rpm, cannot +# appear in the following variable and must instead be dealt with +# individually. +# +sampleFiles := mayaPlug/shaveAPITestCmd.cpp mayaPlug/shaveAPITestApp.cpp \ + libexe/$(libShaveEngine) libexe/shaveEngine.h libexe/shaveSDKTYPES.h + +INSTALL_ROOT ?= + + +#################################################################### +# +# Arnold Location +# +#################################################################### + +arnoldLocation := /opt/solidangle/mtoa/$(mayaCompressedVersion2) +arnoldVersionDB := $(shell arnold/getMayaConfig.sh $(mayaVersion) versionDB) +arnoldVersions := $(shell grep "^$(mayaVersion):" $(arnoldVersionDB) | sed -e 's/^.*[ \t]\([^ \t]\)/\1/' -e 's/[ \t]*$$//') + +$(info maya $(mayaVersion) mtoa/arnold $(arnoldVersions)) + +#################################################################### +# +# RenderMan Studio Versions +# +#################################################################### + +rmanVersionDB := prman/supportedRManVersions.txt +rmsVersions := $(subst RMS,,$(notdir $(wildcard prman/plugins/RMS*))) + +#################################################################### +# +# V-Ray Location +# +#################################################################### + +vrayLocation := $(MAYA_LOCATION)/vray +vrayPluginsLocation := $(vrayLocation)/vrayplugins +vrayVersionDB := $(shell vrayPlug/getMayaConfig.sh $(mayaVersion) versionDB) +vrayTags := $(shell vrayPlug/getMayaConfig.sh $(mayaVersion) versionTags) + + +#################################################################### +# +# Maya Module File +# +#################################################################### + +moduleFile := $(package).mod +moduleBase := $(MAYA_LOCATION)/modules +moduleLocation := $(moduleBase)/Epic Games/$(package) + +.PHONY: module-file + +module-file: + @echo "+ "$(package)" "$(pluginVersion)" "$(moduleLocation) \ + >$(moduleFile) + + +#################################################################### +# +# Cleanup +# +#################################################################### + +clean: + -rm -f *.o + +Clean: + -rm -f *.o *.so *.bak + + +#################################################################### +# +# Install +# +#################################################################### + +.PHONY: install + +install: + install -d "$(INSTALL_ROOT)$(moduleBase)" + install -m 644 $(moduleFile) "$(INSTALL_ROOT)$(moduleBase)" + install -d "$(INSTALL_ROOT)$(moduleLocation)" + install -m 644 Install.html "$(INSTALL_ROOT)$(moduleLocation)" + install -m 644 arnold/supportedMtoAVersions.txt "$(INSTALL_ROOT)$(moduleLocation)" + install -m 644 prman/supportedRManVersions.txt "$(INSTALL_ROOT)$(moduleLocation)" + install -m 644 vrayPlug/supportedVrayVersions.txt "$(INSTALL_ROOT)$(moduleLocation)" + @# Shave plugin + install -d "$(INSTALL_ROOT)$(moduleLocation)/plug-ins" + install -m 644 mayaPlug/shaveNode.so "$(INSTALL_ROOT)$(moduleLocation)/plug-ins" + install -d "$(INSTALL_ROOT)$(MAYA_LOCATION)/lib" + install -m 644 mayaPlug/libShave.so "$(INSTALL_ROOT)$(MAYA_LOCATION)/lib" + install -m 644 mayaPlug/$(libShaveEngine) "$(INSTALL_ROOT)$(MAYA_LOCATION)/lib" + install -m 644 mayaPlug/libShaveAPI.so "$(INSTALL_ROOT)$(MAYA_LOCATION)/lib" + @# MEL Scripts + install -d "$(INSTALL_ROOT)$(moduleLocation)/scripts" + install -m 644 $(melScripts) "$(INSTALL_ROOT)$(moduleLocation)/scripts" + @# Maya shaders + install -d "$(INSTALL_ROOT)$(MAYA_LOCATION)/bin/Cg" + install -m 644 CgFx/shaveHair.cgfx "$(INSTALL_ROOT)$(MAYA_LOCATION)/bin/Cg" + @# Shave standalone SDK + install -d "$(INSTALL_ROOT)$(MAYA_LOCATION)/include/maya" + install -m 644 mayaPlug/shaveAPI.h "$(INSTALL_ROOT)$(MAYA_LOCATION)/include/maya" + install -m 644 mayaPlug/shaveItHair.h "$(INSTALL_ROOT)$(MAYA_LOCATION)/include/maya" + install -d "$(INSTALL_ROOT)$(moduleLocation)/samples" + for f in $(notdir $(sampleFiles)); do \ + install -m 644 mayaPlug/$$f "$(INSTALL_ROOT)$(moduleLocation)/samples"; \ + done + install -m 644 mayaPlug/README-samples.linux "$(INSTALL_ROOT)$(moduleLocation)/samples/README" + @# Icons + install -d "$(INSTALL_ROOT)$(moduleLocation)/icons" + install -m 644 mayaPlug/icons/shaveDefaultSwatch.xpm "$(INSTALL_ROOT)$(moduleLocation)/icons" + install -m 644 mayaPlug/icons/shaveDefaultSwatch.png "$(INSTALL_ROOT)$(moduleLocation)/icons" + @# Presets + install -d "$(INSTALL_ROOT)$(MAYA_LOCATION)/presets/attrPresets/shaveHair" + install -m 644 $(wildcard presets/*.mel) "$(INSTALL_ROOT)$(MAYA_LOCATION)/presets/attrPresets/shaveHair" + install -m 644 $(wildcard presets/*.xpm) "$(INSTALL_ROOT)$(MAYA_LOCATION)/presets/attrPresets/shaveHair" + install -m 644 $(wildcard presets/*.png) "$(INSTALL_ROOT)$(MAYA_LOCATION)/presets/attrPresets/shaveHair" + @# More icons + install -d "$(INSTALL_ROOT)$(MAYA_LOCATION)/icons" + install -m 444 mayaPlug/icons/*.xpm \ + "$(INSTALL_ROOT)$(MAYA_LOCATION)/icons" + install -m 444 mayaPlug/icons/*.png \ + "$(INSTALL_ROOT)$(MAYA_LOCATION)/icons" + @# Arnold extensions and shaders + install -d "$(INSTALL_ROOT)$(arnoldLocation)/extensions" + install -m 644 $(wildcard arnold/shave-*.so) "$(INSTALL_ROOT)$(arnoldLocation)/extensions" + install -m 644 $(wildcard arnold/shave-*.py) "$(INSTALL_ROOT)$(arnoldLocation)/extensions" + install -d "$(INSTALL_ROOT)$(arnoldLocation)/shaders" + install -m 644 $(wildcard arnold/shave_shaders-*.so) "$(INSTALL_ROOT)$(arnoldLocation)/shaders" + @# RenderMan plugins and shaders + install -d "$(INSTALL_ROOT)$(moduleLocation)/plug-ins/prman/shaders" + install -m 644 prman/Shave.slo "$(INSTALL_ROOT)$(moduleLocation)/plug-ins/prman/shaders" + install -d "$(INSTALL_ROOT)$(moduleLocation)/plug-ins/prman/shaders/src" + install -m 644 prman/Shave.sl "$(INSTALL_ROOT)$(moduleLocation)/plug-ins/prman/shaders/src" + install -d "$(INSTALL_ROOT)$(moduleLocation)/plug-ins/prman/RMS19" + for v in $(rmsVersions); do \ + install -d "$(INSTALL_ROOT)$(moduleLocation)/plug-ins/prman/RMS$$v"; \ + for f in prman/plugins/RMS$$v/*; do \ + if `test -f $$f`; then \ + install -m 644 $$f "$(INSTALL_ROOT)$(moduleLocation)/plug-ins/prman/RMS$$v"; \ + fi; \ + done; \ + done + @# V-Ray exporter lib + install -d "$(INSTALL_ROOT)$(moduleLocation)/plug-ins/vray" + for f in mayaPlug/vray/libShaveVray*Exporter.so; do \ + install -m 644 $$f "$(INSTALL_ROOT)$(moduleLocation)/plug-ins/vray"; \ + done + @# V-Ray plugins and shaders + install -d "$(INSTALL_ROOT)$(vrayLocation)" + install -d "$(INSTALL_ROOT)$(vrayPluginsLocation)" + for f in vrayPlug/*.so; do \ + install -m 644 $$f "$(INSTALL_ROOT)$(vrayPluginsLocation)"; \ + done + + +#################################################################### +# +# RPM Distribution +# +#################################################################### + +# +# Create the RPM file. +# +# We do it in a subdirectory of the current directory, so that the user has +# access to it, as opposed to /usr/src/redhat, which only the superuser can +# access. +# +rpmTemp := `pwd`/rpm + +rpm: module-file spec-file build-archive + echo $(versionedPackageName).tgz + @# Create a temporary RPM build tree. + @rm -rf $(rpmTemp) + @install -d $(rpmTemp)/BUILD + @install -d $(rpmTemp)/RPMS + @install -d $(rpmTemp)/RPMS/$(targetArch) + @install -d $(rpmTemp)/SOURCES + @install -d $(rpmTemp)/SPECS + @install -d $(rpmTemp)/SRPMS + @# Copy the source archive and spec file into the temp build tree. + @mv $(versionedPackageName).tgz $(rpmTemp)/SOURCES + @cp $(package).spec $(rpmTemp)/SPECS + @# Build a binary RPM + @rpmbuild -bb --target $(targetArch)-who-Linux \ + --define "_topdir "$(rpmTemp) \ + --buildroot $(rpmTemp)/install $(rpmTemp)/SPECS/$(package).spec + @# Move the binary RPM out of the tree and into the current directory. + @mv $(rpmTemp)/RPMS/$(targetArch)/*.rpm . + @# Delete the temp build tree and other generated files. + @rm -rf $(rpmTemp) + @rm -f $(package).spec + @rm -f $(moduleFile) + +# +# Create a spec file for this release, using spec.in as a template. +# +.PHONY: spec-file + +spec-file: + @echo "# This file was automatically generated from spec.in" >$(package).spec + @m4 -P \ + -D_PACKAGE_="$(package)" \ + -D_PACKAGE_FULL_="$(packageFull)" \ + -D_VERSION_="$(pluginVersion)" \ + -D_RELEASE_="$(release)" \ + -D_MAYA_MAJOR_VERSION_="$(mayaMajorVersion)" \ + -D_MAYA_MINOR_VERSION_="$(mayaMinorVersion)" \ + -D_MAYA_SUB_VERSION_="$(mayaSubVersion)" \ + -D_MAYA_LOCATION_="$(MAYA_LOCATION)" \ + -D_MODULE_BASE_="$(moduleBase)" \ + -D_MODULE_LOCATION_="$(moduleLocation)" \ + -D_MAYA_VRAYPLUGINS_LOCATION_="$(vrayPluginsLocation)" \ + -D_MAYA_RPM_VERSION_REQUIRED_="$(mayaRPMVersionRequired)" \ + spec.in >> $(package).spec + @# Add the package's file specifications to the end of the spec file. + @echo "%attr(644, root, root) \"$(moduleBase)/$(moduleFile)\"" \ + >> $(package).spec + @echo "%attr(644, root, root) \"$(moduleLocation)/Install.html\"" \ + >> $(package).spec + @echo "%attr(644, root, root) \"$(moduleLocation)/$(notdir $(arnoldVersionDB))\"" \ + >> $(package).spec + @echo "%attr(644, root, root) \"$(moduleLocation)/$(notdir $(rmanVersionDB))\"" \ + >> $(package).spec + @echo "%attr(644, root, root) \"$(moduleLocation)/$(notdir $(vrayVersionDB))\"" \ + >> $(package).spec + @echo "%attr(644, root, root) \"$(moduleLocation)/plug-ins/shaveNode.so\"" \ + >> $(package).spec + @echo "%attr(644, root, root) \"$(MAYA_LOCATION)/bin/Cg/shaveHair.cgfx\"" \ + >> $(package).spec + @echo "%attr(644, root, root) \"$(MAYA_LOCATION)/lib/libShave.so\"" \ + >> $(package).spec + @echo "%attr(644, root, root) \"$(MAYA_LOCATION)/lib/$(libShaveEngine)\"" \ + >> $(package).spec + @for f in $(notdir $(sampleFiles)); do \ + echo "%attr(644, root, root) \"$(moduleLocation)/samples/$$f\"" \ + >> $(package).spec; \ + done + @echo "%attr(644, root, root) \"$(moduleLocation)/samples/README\"" \ + >> $(package).spec + @for f in $(notdir $(melScripts)); do \ + echo "%attr(644, root, root) \"$(moduleLocation)/scripts/$$f\"" \ + >> $(package).spec; \ + done + @echo "%attr(644, root, root) \"$(MAYA_LOCATION)/lib/libShaveAPI.so\"" \ + >> $(package).spec + @echo "%attr(644, root, root) \"$(MAYA_LOCATION)/include/maya/shaveAPI.h\"" \ + >> $(package).spec + @echo "%attr(644, root, root) \"$(MAYA_LOCATION)/include/maya/shaveItHair.h\"" \ + >> $(package).spec + + @# Icons + @echo "%attr(644, root, root) \"$(moduleLocation)/icons/shaveDefaultSwatch.xpm\"" \ + >> $(package).spec + @echo "%attr(644, root, root) \"$(moduleLocation)/icons/shaveDefaultSwatch.png\"" \ + >> $(package).spec + @for f in $(notdir $(wildcard libexe/icons/maya/selection/*.xpm)); do \ + echo "%attr(444, root, root) \"$(MAYA_LOCATION)/icons/$$f\"" \ + >> $(package).spec; \ + done + @for f in $(notdir $(wildcard libexe/icons/maya/selection/*.png)); do \ + echo "%attr(444, root, root) \"$(MAYA_LOCATION)/icons/$$f\"" \ + >> $(package).spec; \ + done + @for f in $(notdir $(wildcard libexe/icons/maya/selectUtils/*.xpm)); do \ + echo "%attr(444, root, root) \"$(MAYA_LOCATION)/icons/$$f\"" \ + >> $(package).spec; \ + done + @for f in $(notdir $(wildcard libexe/icons/maya/selectUtils/*.png)); do \ + echo "%attr(444, root, root) \"$(MAYA_LOCATION)/icons/$$f\"" \ + >> $(package).spec; \ + done + @for f in $(notdir $(wildcard libexe/icons/maya/tools/*.xpm)); do \ + echo "%attr(444, root, root) \"$(MAYA_LOCATION)/icons/$$f\"" \ + >> $(package).spec; \ + done + @for f in $(notdir $(wildcard libexe/icons/maya/tools/*.png)); do \ + echo "%attr(444, root, root) \"$(MAYA_LOCATION)/icons/$$f\"" \ + >> $(package).spec; \ + done + @for f in $(notdir $(wildcard libexe/icons/maya/transforms/*.xpm)); do \ + echo "%attr(444, root, root) \"$(MAYA_LOCATION)/icons/$$f\"" \ + >> $(package).spec; \ + done + @for f in $(notdir $(wildcard libexe/icons/maya/transforms/*.png)); do \ + echo "%attr(444, root, root) \"$(MAYA_LOCATION)/icons/$$f\"" \ + >> $(package).spec; \ + done + @for f in $(notdir $(wildcard libexe/icons/maya/utils/*.xpm)); do \ + echo "%attr(444, root, root) \"$(MAYA_LOCATION)/icons/$$f\"" \ + >> $(package).spec; \ + done + @for f in $(notdir $(wildcard libexe/icons/maya/utils/*.png)); do \ + echo "%attr(444, root, root) \"$(MAYA_LOCATION)/icons/$$f\"" \ + >> $(package).spec; \ + done + @for f in $(notdir $(wildcard mayaPlug/icons/*.xpm)); do \ + echo "%attr(444, root, root) \"$(MAYA_LOCATION)/icons/$$f\"" \ + >> $(package).spec; \ + done + @for f in $(notdir $(wildcard mayaPlug/icons/*.png)); do \ + echo "%attr(444, root, root) \"$(MAYA_LOCATION)/icons/$$f\"" \ + >> $(package).spec; \ + done + + @# Presets + @for f in $(notdir $(wildcard presets/*.mel)); do \ + echo "%attr(644, root, root) \"$(MAYA_LOCATION)/presets/attrPresets/shaveHair/$$f\"" \ + >> $(package).spec; \ + done + @for f in $(notdir $(wildcard presets/*.xpm)); do \ + echo "%attr(644, root, root) \"$(MAYA_LOCATION)/presets/attrPresets/shaveHair/$$f\"" \ + >> $(package).spec; \ + done + @for f in $(notdir $(wildcard presets/*.png)); do \ + echo "%attr(644, root, root) \"$(MAYA_LOCATION)/presets/attrPresets/shaveHair/$$f\"" \ + >> $(package).spec; \ + done + @# Arnold shaders and plugins + echo "for spec-file arnoldVersions is '$(arnoldVersions)'" + @for v in $(arnoldVersions); do \ + mtoaVersion=$${v/\/*/}; \ + arnoldVersion=$${v/*\//}; \ + echo "%attr(644, root, root) \"$(arnoldLocation)/extensions/shave-$${mtoaVersion//./_}.so\"" >> $(package).spec; \ + echo "%attr(644, root, root) \"$(arnoldLocation)/extensions/shave-$${mtoaVersion//./_}.py\"" >> $(package).spec; \ + echo "%attr(644, root, root) \"$(arnoldLocation)/shaders/shave_shaders-$${arnoldVersion//./_}.so\"" >> $(package).spec; \ + done + + @# RenderMan shaders and plugins + @echo "%attr(644, root, root) \"$(moduleLocation)/plug-ins/prman/shaders/Shave.slo\"" \ + >> $(package).spec + @echo "%attr(644, root, root) \"$(moduleLocation)/plug-ins/prman/shaders/src/Shave.sl\"" \ + >> $(package).spec + @for v in $(rmsVersions); do \ + for f in prman/plugins/RMS$$v/maya$(mayaMajorVersion)/linux/*; do \ + if `test -f $$f`; then \ + echo "%attr(644, root, root) \"$(moduleLocation)/plug-ins/prman/RMS$$v/`basename $$f`\"" \ + >> $(package).spec; \ + fi; \ + done; \ + done + + @# VRay shaders and plugins + for tag in $(vrayTags); do \ + echo "%attr(644, root, root) \"$(vrayPluginsLocation)/libvray_Shave$${tag}.so\"" \ + >> $(package).spec; \ + echo "%attr(644, root, root) \"$(vrayPluginsLocation)/ShaveSh$${tag}.so\"" \ + >> $(package).spec; \ + echo "%attr(644, root, root) \"$(moduleLocation)/plug-ins/vray/libShaveVray$${tag}Exporter.so\"" \ + >> $(package).spec; \ + done + +# +# Create an archive, in tgz format, of the files needed by rpmbuild to +# create the RPM file. +# +# Note that normally we would create a source archive and then let rpmbuild +# rebuild the binaries for us. However, when generating RPMs for several +# different versions of Maya, the libexe binaries only need to be built +# once while the others need to be rebuilt for each RPM. +# +# So we handle the building in a script outside of this Makefile and then +# just use this Makefile to put the finished binaries into an RPM. +# +.PHONY: build-archive + +build-archive: + @# If a subdirectory with the same name as the package already + @# exists, remove it. + @rm -rf $(versionedPackageName); + @# Create a subdirectory with the same name as the package. + @mkdir $(versionedPackageName) + @# Copy the module file, Makefile and spec file into the main directory + @cp $(moduleFile) Makefile.linux $(package).spec $(versionedPackageName) + @# Copy the installation documentation + @cp install/docs/Install.html $(versionedPackageName) + @cp $(arnoldVersionDB) $(versionedPackageName) + @cp $(rmanVersionDB) $(versionedPackageName) + @cp $(vrayVersionDB) $(versionedPackageName) + @# Copy any utils scripts that this Makefile will need during install + @mkdir $(versionedPackageName)/utils + @# Copy the plugins and executables into their appropriate directories + @mkdir $(versionedPackageName)/mayaPlug + @cp mayaPlug/shaveNode.so $(versionedPackageName)/mayaPlug + @cp mayaPlug/libShave.so $(versionedPackageName)/mayaPlug + @cp libexe/$(libShaveEngine) $(versionedPackageName)/mayaPlug + @cp mayaPlug/libShaveAPI.so $(versionedPackageName)/mayaPlug + @cp mayaPlug/shaveAPI.h $(versionedPackageName)/mayaPlug + @cp mayaPlug/shaveItHair.h $(versionedPackageName)/mayaPlug + @mkdir $(versionedPackageName)/CgFx + @cp CgFx/shaveHair.cgfx $(versionedPackageName)/CgFx + @mkdir $(versionedPackageName)/mayaPlug/icons + @cp libexe/icons/maya/selection/*.xpm \ + $(versionedPackageName)/mayaPlug/icons + @cp libexe/icons/maya/selection/*.png \ + $(versionedPackageName)/mayaPlug/icons + @cp libexe/icons/maya/selectUtils/*.xpm \ + $(versionedPackageName)/mayaPlug/icons + @cp libexe/icons/maya/selectUtils/*.png \ + $(versionedPackageName)/mayaPlug/icons + @cp libexe/icons/maya/tools/*.xpm \ + $(versionedPackageName)/mayaPlug/icons + @cp libexe/icons/maya/tools/*.png \ + $(versionedPackageName)/mayaPlug/icons + @cp libexe/icons/maya/transforms/*.xpm \ + $(versionedPackageName)/mayaPlug/icons + @cp libexe/icons/maya/transforms/*.png \ + $(versionedPackageName)/mayaPlug/icons + @cp libexe/icons/maya/utils/*.xpm \ + $(versionedPackageName)/mayaPlug/icons + @cp libexe/icons/maya/utils/*.png \ + $(versionedPackageName)/mayaPlug/icons + @cp mayaPlug/icons/*.xpm $(versionedPackageName)/mayaPlug/icons + @cp mayaPlug/icons/*.png $(versionedPackageName)/mayaPlug/icons + @for f in $(sampleFiles); do \ + cp $$f $(versionedPackageName)/mayaPlug/`basename $$f`; \ + done + @cp mayaPlug/README-samples.linux $(versionedPackageName)/mayaPlug + @mkdir $(versionedPackageName)/presets + @cp presets/*.mel $(versionedPackageName)/presets + @cp presets/*.xpm $(versionedPackageName)/presets + @cp presets/*.png $(versionedPackageName)/presets + + @mkdir $(versionedPackageName)/arnold + @cp arnold/getMayaConfig.sh $(versionedPackageName)/arnold + @cp arnold/supportedMtoAVersions.txt $(versionedPackageName)/arnold + echo "for build-archive arnoldVersions is '$(arnoldVersions)'" + @for v in $(arnoldVersions); do \ + mtoaVersion=$${v/\/*/}; \ + sdkVersion=$${v/*\//}; \ + cp arnold/Release/$(mayaVersion)/$${mtoaVersion}/shave.so $(versionedPackageName)/arnold/shave-$${mtoaVersion//./_}.so; \ + cp arnold/plugin/shave.py $(versionedPackageName)/arnold/shave-$${mtoaVersion//./_}.py; \ + cp arnold/Release/$(mayaVersion)/$${mtoaVersion}/shave_shaders-$${sdkVersion//./_}.so $(versionedPackageName)/arnold; \ + done + + @mkdir $(versionedPackageName)/prman + @cp prman/supportedRManVersions.txt $(versionedPackageName)/prman + @cp libexe/Shave.slo $(versionedPackageName)/prman + @cp libexe/Shave.sl $(versionedPackageName)/prman + @for v in $(rmsVersions); do \ + mkdir -p $(versionedPackageName)/prman/plugins/RMS$$v; \ + for f in prman/plugins/RMS$$v/maya$(mayaMajorVersion)/linux/*; do \ + if `test -f $$f`; then \ + cp $$f $(versionedPackageName)/prman/plugins/RMS$$v; \ + fi; \ + done; \ + done + + mkdir $(versionedPackageName)/vrayPlug + mkdir $(versionedPackageName)/mayaPlug/vray + @cp vrayPlug/getMayaConfig.sh $(versionedPackageName)/vrayPlug + @cp vrayPlug/supportedVrayVersions.txt $(versionedPackageName)/vrayPlug + for tag in $(vrayTags); do \ + cp vrayPlug/bin/linux_x64/libvray_Shave$${tag}.so $(versionedPackageName)/vrayPlug; \ + cp vrayPlug/bin/linux_x64/ShaveSh$${tag}.so $(versionedPackageName)/vrayPlug; \ + cp mayaPlug/vray/libShaveVray$${tag}Exporter.so $(versionedPackageName)/mayaPlug/vray; \ + done + @mkdir $(versionedPackageName)/libexe + @# Copy the scripts into the 'scripts' subdirectory. + @mkdir $(versionedPackageName)/scripts + @cp $(melScripts) $(versionedPackageName)/scripts + @# tar it all up + @rm -f $(versionedPackageName).tgz + @tar czf $(versionedPackageName).tgz $(versionedPackageName) + @rm -rf $(versionedPackageName) + |