Multi-environ Manager(PyMake v7.5.5)
-
PyMake
- If you'd like to make cross-platform project, but cmake can't build, it need to config running environment ?
- If you have issued want to depend some projects generated by cmake qmake autotools e.g but they all need to change not alike variable about environment across third platforms at least?
- Now pymake make beautiful, config once by use it any platforms.
Install
PyMake: goto source directory.
Windows:
install.bat %*Unix:
install.shon console, use mm cc cmd-name to execute command stream.
Version 6
You need install python3 (python2 is alse support, but suggest 3)
You should use link to make a link mm to pymake.sh.
in windows, create mm.bat in windows dir call pymake.batFirstly, you need set source root to store all of your source config file
Secondly, config the source file, prepare to auto shell all your commandEnvironment .Json file
"path-assemblage": { "root": "/Users/abel/Develop", "root.src": "${root}/a0-develop", "root.prod": "${root}/b1-product", "root.tool": "${root}/b0-toolskits", "root.build": "${root}/c0-buildstation", "root.test": "${root}/c2-test", "root.webrc": "${root}/c1-webrc", "cc": "${root.tool}/compiler", "cmake.bin": "${cc}/CMake.app/Contents/bin", "qt": "${root.tool}/macLibraries/Qt", "qt5.9.clang": "${qt}/5.9.1/clang_64", "qt5.8.android_x86": "${qt}/5.8/android_x86", "qt5.8.android_arm": "${qt}/5.8/android_armv7", "qt5.8.clang": "${qt}/5.8/clang_64", "qt5.8.ios": "${qt}/5.8/ios", "qt4.8.clang": "${qt}/4.8.7/clang_64", "qt5.9.clang.bin": "${qt}/5.9.1/clang_64/bin", "qt5.8.android_x86.bin": "${qt}/5.8/android_x86/bin", "qt5.8.android_arm.bin": "${qt}/5.8/android_armv7/bin", "qt5.8.clang.bin": "${qt}/5.8/clang_64/bin", "qt5.8.ios.bin": "${qt}/5.8/ios/bin", "qt4.8.clang.bin": "${qt}/4.8.7/clang_64/bin", "android": "${root.tool}/macAndroidLibraries", "android.sdk": "${android}/android-sdk-macosx", "android.ndk": "${android}/android-ndk-r13b", "android.ant": "${android}/apache-ant-1.10.1", "android.java": "${android}/java-macosx/Java/JavaVirtualMachines", "sdk.plat.tool": "${android.sdk}/platform-tools", "sdk.build.tool": "${android.sdk}/build-tools", "sdk.tool": "${android.sdk}/tools", "java1.7.home": "${android.java}/jdk1.7.0_79.jdk/Contents/Home", "java1.8.home": "${android.java}/jdk1.8.0_111.jdk/Contents/Home", "java1.9.home": "${android.java}/jdk9.jdk/Contents/Home", "java1.7.bin": "${java1.7.home}/bin", "java1.8.bin": "${java1.8.home}/bin", "java1.9.bin": "${java1.9.home}/bin", "ant.bin": "${android.ant}/bin", "ndk.arm": "${android.ndk}/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64", "ndk.x86": "${android.ndk}/toolchains/x86-4.9/prebuilt/darwin-x86_64", "ndk.x86_64": "${android.ndk}/toolchains/x86_64-4.9/prebuilt/darwin-x86_64", "ndk.arm.bin": "${ndk.arm}/bin", "ndk.x86.bin": "${ndk.x86}/bin", "ndk.x86_64.bin": "${ndk.x86_64}/bin", "mac.sdk": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" }, "environ": { "android.mobile": { "path+": [ "${cmake.bin}", "${qt5.8.android_arm.bin}", "${java1.8.bin}", "${android.sdk}", "${sdk.plat.tool}", "${sdk.build.tool}", "${sdk.tool}", "${ant.bin}", "${ndk.arm.bin}" ], "ANDROID_API_VERSION": "android-23", "ANDROID_SDK_ROOT": "${android.sdk}", "ANDROID_NDK_ROOT": "${android.ndk}", "ANDROID_NDK_HOST": "darwin-x86_64", "ANDROID_NDK_TOOLCHAIN_PREFIX": "arm-linux-androideabi", "ANDROID_NDK_TOOLCHAIN_VERSION": "4.9", "ANDROID_NDK_PLATFORM": "android-23", "NDK_TOOLCHAIN_PATH": "${ndk.arm.bin}", "NDK_TOOLS_PREFIX": "arm-linux-androideabi", "PYMAKE_MYNAME": "T.D.R", "a_special_var_const": "hello world", "QKIT": "Android", "QTDIR": "${qt5.8.android_arm}", "QTSPEC": "android-g++", "QTCONFIG": "arm", "JAVA_HOME": "${java1.8.home}", "CLASSPATH": ".:${JAVA_HOME}/lib/dt/jar:${JAVA_HOME}/lib/tools.jar" }, "android.x86": { "path+": [ "${cmake.bin}", "${qt5.8.android_x86.bin}", "${java1.8.bin}", "${android.sdk}", "${sdk.plat.tool}", "${sdk.build.tool}", "${sdk.tool}", "${ant.bin}", "${ndk.x86.bin}" ], "CLICOLOR": "1", "ANDROID_API_VERSION": "android-23", "ANDROID_SDK_ROOT": "${android.sdk}", "ANDROID_NDK_ROOT": "${android.ndk}", "ANDROID_NDK_HOST": "darwin-x86_64", "ANDROID_NDK_TOOLCHAIN_PREFIX": "x86", "ANDROID_NDK_TOOLCHAIN_VERSION": "4.9", "ANDROID_NDK_PLATFORM": "android-23", "NDK_TOOLCHAIN_PATH": "${ndk.x86.bin}", "NDK_TOOLS_PREFIX": "i686-linux-android", "QKIT": "Android", "QTDIR": "${qt5.8.android_x86}", "QTSPEC": "android-g++", "QTCONFIG": "arm", "JAVA_HOME": "${java1.8.home}", "CLASSPATH": ".:${JAVA_HOME}/lib/dt/jar:${JAVA_HOME}/lib/tools.jar" }, "qt.android": { "path+": [ "${cmake.bin}", "${qt5.9.clang.bin}", "${java1.8.bin}", "${android.sdk}", "${sdk.plat.tool}", "${sdk.build.tool}", "${sdk.tool}", "${ant.bin}", "${ndk.arm.bin}" ], "ANDROID_API_VERSION": "android-23", "ANDROID_SDK_ROOT": "${android.sdk}", "ANDROID_NDK_ROOT": "${android.ndk}", "ANDROID_NDK_HOST": "darwin-x86_64", "ANDROID_NDK_TOOLCHAIN_PREFIX": "i686-linux-android", "ANDROID_NDK_TOOLCHAIN_VERSION": "4.9", "ANDROID_NDK_PLATFORM": "android-23", "NDK_TOOLCHAIN_PATH": "${ndk.arm.bin}", "NDK_TOOLS_PREFIX": "i686-linux-android", "QKIT": "macOS", "QTDIR": "${qt5.9.clang}", "QTSPEC": "macx-clang", "QTCONFIG": "x86_64", "JAVA_HOME": "${java1.8.home}", "CLASSPATH": ".:${JAVA_HOME}/lib/dt/jar:${JAVA_HOME}/lib/tools.jar" }, "qt": { "path+": [ "${cmake.bin}", "${qt5.9.clang.bin}" ], "QKIT": "macOS", "QTDIR": "${qt5.9.clang}", "QTSPEC": "macx-clang", "QTCONFIG": "x86_64" }, "current": "qt.android" }, "variable-assemblage": [ "QQt", "a0-qqtfoundation", "${root.build}/${qqt.proj.name}/${qt.sys.mac}/${build.release}", "${root.src}/${qqt.proj.name}", "${qqt.proj.name}.pro", "${qqt.build.path}/src/bin", "${root.prod}/QQt", "qqtframe", "${qqt.build.path}/examples/${qqtframe.prod.name}/bin", "${qqt.build.path}/src/bin/QQt.framework", "QQt.framework/Versions/1/QQt", "${root.tool}/Source/qt5", "${root.build}/qt5", "androiddeployqt", "macdeployqt", "DownloadQueue", "/Users/abel/Develop/c1-webrc/DownloadQueue/DownloadQueue.pro", "${root.build}/${app.name}", "macdeployqt ${app.path.build}/${app.name}.app", "${prod.name}.app", "${mac.app}/Contents", "${mac.app.content}/MacOS", "${mac.app.content}/Frameworks", "${mac.app.content}/Resources", "${mac.app.content}/PlugIns", "${prod.name}.framework", "${prod.name}.framework/Versions", "${prod.name}.framework/Resources", "macdeployqt ${}" ], "command-assemblage": [ "I'm not similar to these command, so list them here, rather than forgotten them", "cl-command, sys-command", "replace? no, append? easy!", "help you to remeber these command.", "mkdir -p ${qqt.build.path}", "cd ${build-path}", "cmake -G\"Unix Makefiles\" -DCMAKE_INSTALL_PREFIX=${prod-root} ${source-path}", "cmake -GXCode -DCMAKE_INSTALL_PREFIX=${prod-root} ${source-path}", "rm -f CMakeCache.txt", "qmake ${source-path}/${qmake-file} -spec ${QTSPEC} CONFIG+=${QTCONFIG} && make qmake_all", "make -j4", "make clean in ${build-path}", "make install", "${deployqt} ${bin-path}/${app-bundle} -verbose=1", "${deployqt} -dmg", "${deployqt} --help", "cp -fr ${lib-dep} ${lib-native}", "install_name_tool -change ${lib-dep-name} @rpath/${lib-dep-name} ${app-native}/${prod-name} ", "install_name_tool -change $LibDep @rpath/$LibDep ${app-native}/${prod-name} ", "${source-path}/configure -prefix ${install-path} -hostprefix ${install-path} -xplatform android-g++ -release -nomake tests -nomake examples -android-ndk $ANDROID_NDK_ROOT -android-sdk $ANDROID_SDK_ROOT -android-ndk-host $ANDROID_NDK_HOST -android-toolchain-version $ANDROID_NDK_TOOLCHAIN_VERSION -skip qtwebkit-examples -no-warnings-are-errors", "${qt5.path.source}/configure -prefix ${qt5.path.install} -hostprefix ${qt5.path.install} -xplatform android-g++ -release -nomake tests -nomake examples -android-ndk $ANDROID_NDK_ROOT -android-sdk $ANDROID_SDK_ROOT -android-ndk-host $ANDROID_NDK_HOST -android-toolchain-version $ANDROID_NDK_TOOLCHAIN_VERSION -skip qtwebkit-examples -no-warnings-are-errors" ], "command": { "qqt.build": [ "src=/Users/abel/Develop/a0-develop/a0-qqtfoundation/a0-qqtfoundation.pro", "build=/Users/abel/Develop/c0-buildstation/a0-qqtfoundation/MacOS/Release", "mkdir -p $build", "cd $build", "qmake $src -spec ${QTSPEC} CONFIG+=${QTCONFIG} && make qmake_all", "make -j4" ], "qt": [ "cd ${root.build}", "open \"/Applications/Qt Creator.app\"" ], "android": [ "/Users/abel/Develop/b0-toolskits/macAndroidLibraries/android-sdk-macosx/tools/android" ] }
You should config path-esseblage, and environ, command. Others are stored for memeory
Version 7.2
Update the command-line.
- add lots of abb-command, about hh command.
- update use command to use custom env to do everything.
- add see command.
- add have/has command.
- add program command.
- add get command.
- add port and translate command.
- add initialize command.
- add port/translate command.
- add user support shell.
Version 7.4
- custom path and env variable, common to use.
- spread all over pc script.
- any work root.
- high-quality executing ability.
- appoint environ.
- abundant command in environ .json stored.
- all are in user environment source root.
Version 7.5
- add powershell command.
- all .json environ can be used in powershell environment.
- add custom environment.
- user can store temporary or common path and variable in custom.path+.ini or custom.var+.ini.
- these environment can be used in powershell environment.
- you can open custom mobule or close it.
Command-line
Microsoft Windows [版本 10.0.17134.706] (c) 2018 Microsoft Corporation。保留所有权利。 R:\Develop\b0-toolkits\a0-compiler\PyMake>pymake -h PyMake 7.5.5. Usage: pymake7.py source pymake7.py source file [ <source-path-file> ] pymake7.py source root [ <source-root-path> ] pymake7.py source config [ --add ] [ <config-file-name> ] pymake7.py source config [ --del ] [ <config-file-name> ] pymake7.py source config [ --mod ] [ <config-file-name> ] [<new-config-file-name>] pymake7.py source config [ --switch ] [ <config-file-name> ] pymake7.py source config [ --edit ] [ <config-file-name> ] pymake7.py source config [ --restore ] pymake7.py source config [ --show ] pymake7.py ------------------------------------------------------------- pymake7.py set path ( --add | --del | --mod ) <name> [ <value> ] pymake7.py set env [ path ] ( --add | --del | --mod ) <group> <name> [ <value> ] pymake7.py set cmd (--add | --del | --mod ) <name> [ <values> ... ] pymake7.py set cur env <name> pymake7.py list [ path | env | cmd ] [<name>] [-r | --raw] [-a | --all] pymake7.py env [<name>] [-p | --path] [-v | --var] [-r | --raw] [-a | --all] pymake7.py ------------------------------------------------------------- pymake7.py here clean pymake7.py here export [ <env-name> ] [ to <file-name> ] pymake7.py here type [ <cmd-name> ] [ to <file-name> ] pymake7.py here use <env-name> exec [ <command-names> ... ] pymake7.py here exec [ <command-names> ... ] pymake7.py here use <env-name> cc [ <command-names> ... ] pymake7.py here cc [ <command-names> ... ] pymake7.py ------------------------------------------------------------- pymake7.py clean [ here | hh ] pymake7.py export [ here | hh ] [ <env-name> ] [ to <file-name> ] pymake7.py type [ here | hh ] [ <cmd-name> ] [ to <file-name> ] pymake7.py exec [ here | hh ] [ <command-names> ... ] pymake7.py cc [ here | hh ] [ <command-names> ... ] pymake7.py use <env-name> type [ here | hh ] [ <cmd-name> ] [ to <file-name> ] pymake7.py use <env-name> exec [ here | hh ] [ <command-names> ... ] pymake7.py use <env-name> cc [ here | hh ] [ <command-names> ... ] pymake7.py ------------------------------------------------------------- pymake7.py set current env <name> pymake7.py set default env <name> pymake7.py show [ path | env | cmd ] [<name>] [-r | --raw] [-a | --all] pymake7.py environ [<name>] [-p | --path] [-v | --var] [-r | --raw] [-a | --all] pymake7.py see [ <cmd-name> ] [ use <env-name> ] [-r | --raw] [-a | --all] [ -l | --linenumber ] pymake7.py ss [ <cmd-name> ] [ use <env-name> ] [-r | --raw] [-a | --all] [ -l | --linenumber ] pymake7.py cmd [ <cmd-name> ] [ use <env-name> ] [-r | --raw] [-a | --all] [ -l | --linenumber ] pymake7.py use <env-name> see [ <cmd-name> ] [-r | --raw] [-a | --all] [ -l | --linenumber ] pymake7.py use <env-name> ss [ <cmd-name> ] [-r | --raw] [-a | --all] [ -l | --linenumber ] pymake7.py use <env-name> cmd [ <cmd-name> ] [-r | --raw] [-a | --all] [ -l | --linenumber ] pymake7.py ------------------------------------------------------------- pymake7.py hh clean pymake7.py hh export [ <env-name> ] [ to <file-name> ] pymake7.py hh type [ <cmd-name> ] [ to <file-name> ] pymake7.py hh use <env-name> exec [ <command-names> ... ] pymake7.py hh exec [ <command-names> ... ] pymake7.py hh use <env-name> cc [ <command-names> ... ] pymake7.py hh cc [ <command-names> ... ] pymake7.py ------------------------------------------------------------- pymake7.py have path <name> [-r | --raw] pymake7.py have env [ path ] [ <group> ] [ <name> ] [-r | --raw] pymake7.py have cmd <name> [-r | --raw] pymake7.py has path <name> [-r | --raw] pymake7.py has env [ path ] [ <group> ] [ <name> ] [-r | --raw] pymake7.py has cmd <name> [-r | --raw] pymake7.py ------------------------------------------------------------- pymake7.py get cur env pymake7.py get current env pymake7.py get default env pymake7.py get env pymake7.py get env ( cur | current | default ) pymake7.py ------------------------------------------------------------- pymake7.py program pymake7.py program root pymake7.py program file pymake7.py program configure pymake7.py program configure root pymake7.py program configure file pymake7.py get all pymake7.py get all ( info | information ) pymake7.py get all ( stat | status ) pymake7.py get all settings [ path | env | cmd ] [<name>] [-r | --raw] [-a | --all] pymake7.py get default exec root pymake7.py get exec root [ default | here ] pymake7.py initialize pymake7.py ------------------------------------------------------------- pymake7.py port pymake7.py port root [ <source-config-root> ] [ to <target-config-root> ] pymake7.py port config [ <source-config-file> ] [ to <target-config-file> ] pymake7.py port file [ <source-path-file> ] [ to <target-path-file> ] pymake7.py port root ( --source | --target ) <config-root> pymake7.py port config ( --source | --target ) <config-file> pymake7.py port file ( --source | --target ) <path-file> pymake7.py port reset pymake7.py translate pymake7.py translate ( path | env | cmd ) pymake7.py translate ( path | env | cmd ) <key-name> [ to <target-key-name> ] [ -f | --force ] pymake7.py translate ( path | env | cmd ) [ -a | --all ] [ -f | --force ] pymake7.py translate path-env-cmd [ -a | --all ] [ -f | --force ] pymake7.py translate all [ -a | --all ] [ -f | --force ] pymake7.py translate section pymake7.py translate section <section-name> [ to <target-section-name> ] [ -f | --force ] pymake7.py translate section [ -a | --all ] [ -f | --force ] pymake7.py ------------------------------------------------------------- pymake7.py exec-with-params [ here | hh ] [ <command-name> ] [ --params=<command-params> ... ] [ --workroot=<work-root-path> ] pymake7.py use <env-name> exec-with-params [ here | hh ] [ <command-name> ] [ --params=<command-params> ... ] [ --workroot=<work-root-path> ] pymake7.py here exec-with-params [ <command-name> ] [ --params=<command-params> ... ] [ --workroot=<work-root-path> ] pymake7.py here use <env-name> exec-with-params [ <command-name> ] [ --params=<command-params> ... ] [ --workroot=<work-root-path> ] pymake7.py hh exec-with-params [ <command-name> ] [ --params=<command-params> ... ] [ --workroot=<work-root-path> ] pymake7.py hh use <env-name> exec-with-params [ <command-name> ] [ --params=<command-params> ... ] [ --workroot=<work-root-path> ] pymake7.py ------------------------------------------------------------- pymake7.py execvp [ here | hh ] [ <command-name> ] [ <command-params> ... ] pymake7.py use <env-name> execvp [ here | hh ] [ <command-name> ] [ <command-params> ... ] pymake7.py here execvp [ <command-name> ] [ <command-params> ... ] pymake7.py here use <env-name> ccvp [ <command-name> ] [ <command-params> ... ] pymake7.py hh ccvp [ <command-name> ] [ <command-params> ... ] pymake7.py hh use <env-name> ccvp [ <command-name> ] [ <command-params> ... ] pymake7.py ------------------------------------------------------------- pymake7.py ccvp [ here | hh ] [ <command-name> ] [ <command-params> ... ] pymake7.py use <env-name> ccvp [ here | hh ] [ <command-name> ] [ <command-params> ... ] pymake7.py here ccvp [ <command-name> ] [ <command-params> ... ] pymake7.py here use <env-name> execvp [ <command-name> ] [ <command-params> ... ] pymake7.py hh execvp [ <command-name> ] [ <command-params> ... ] pymake7.py hh use <env-name> execvp [ <command-name> ] [ <command-params> ... ] pymake7.py ------------------------------------------------------------- pymake7.py import cmd [ hh | here ] [ <script-file> ] [ -a | --all ] [ -f | --force ] [ --recursive ] [ --encoding=<encoding-name> ] [ --filter=<name-filter> ... ] pymake7.py here import cmd [ <script-file> ] [ -a | --all ] [ -f | --force ] [ --recursive ] [ --encoding=<encoding-name> ] [ --filter=<name-filter> ... ] pymake7.py hh import cmd [ <script-file> ] [ -a | --all ] [ -f | --force ] [ --recursive ] [ --encoding=<encoding-name> ] [ --filter=<name-filter> ... ] pymake7.py ------------------------------------------------------------- pymake7.py backup [ here | hh ] [ <zip-file-name> ] pymake7.py here backup [ <zip-file-name> ] pymake7.py hh backup [ <zip-file-name> ] pymake7.py recovery [ here | hh ] [ <zip-file-name> ] pymake7.py here recovery [ <zip-file-name> ] pymake7.py hh recovery [ <zip-file-name> ] pymake7.py ------------------------------------------------------------- pymake7.py system pymake7.py system [ stat | status ] pymake7.py system [ info | information ] pymake7.py system path [ --add | --del ] [ <value> ] pymake7.py system var [ --add | --del ] [ <key> ] [ <value> ] pymake7.py system env [ -r | --raw ] pymake7.py ------------------------------------------------------------- pymeke7.py custom pymake7.py custom [ open | close ] pymake7.py custom [ stat | status ] pymake7.py custom [ info | information ] pymake7.py custom path [ --add | --del ] [ <value> ] pymake7.py custom var [ --add | --del ] [ <key> ] [ <value> ] pymake7.py custom env [ -r | --raw ] pymake7.py custom export [ here | hh ] [ to <file-name> ] pymake7.py custom exec-with-params [ here | hh ] [ <command-name> ] [ --params=<command-params> ... ] [ --workroot=<work-root-path> ] pymake7.py custom use <env-name> exec-with-params [ here | hh ] [ <command-name> ] [ --params=<command-params> ... ] [ --workroot=<work-root-path> ] pymake7.py export2 [ powershell ] [ here | hh ] [ <env-name> ] [ to <file-name> ] [ -c | --custom ] [ -s | --system ] pymake7.py ------------------------------------------------------------- pymake7.py powershell pymake7.py powershell [ info | information ] pymake7.py powershell [ stat | status ] pymake7.py powershell clean [ here | hh ] pymake7.py powershell export [ here | hh ] [ <env-name> ] [ to <file-name> ] pymake7.py powershell type [ here | hh ] [ <cmd-name> ] [ to <file-name> ] pymake7.py powershell use <env-name> type [ here | hh ] [ <cmd-name> ] [ to <file-name> ] pymake7.py powershell exec-with-params [ here | hh ] [ <command-name> ] [ --params=<command-params> ... ] [ --workroot=<work-root-path> ] pymake7.py powershell use <env-name> exec-with-params [ here | hh ] [ <command-name> ] [ --params=<command-params> ... ] [ --workroot=<work-root-path> ] pymake7.py ------------------------------------------------------------- pymake7.py python pymake7.py python [ info | information ] pymake7.py python [ stat | status ] pymake7.py python clean [ here | hh ] pymake7.py python type [ here | hh ] [ <cmd-name> ] [ to <file-name> ] pymake7.py python use <env-name> type [ here | hh ] [ <cmd-name> ] [ to <file-name> ] pymake7.py python exec-with-params [ here | hh ] [ <command-name> ] [ --params=<command-params> ... ] [ --workroot=<work-root-path> ] pymake7.py python use <env-name> exec-with-params [ here | hh ] [ <command-name> ] [ --params=<command-params> ... ] [ --workroot=<work-root-path> ] pymake7.py ------------------------------------------------------------- pymake7.py (-h | --help) pymake7.py --version Command: source switch to another source file source root config root directory source config config source conf file set path path assemblage set env set env variable set cmd set cmd stream export output private env variable and paths to a bat file or sh file [default:current, env] type output command to a bat file or sh file [default:cmd] see check command stream ss check command stream cmd check command stream list list config values, show command also too. set cur env set default env, set current env. use use selected env exec commands here at here do exec commands e.g. hh at here do exec commands e.g. exec exec commands list. cc exec commands list. have check env or path or cmd item whether user has configured. has check env or path or cmd item whether user has configured. clean clean *_effect.sh *_unset.sh *_exec.sh, or .bat. program pymake.py program information. get lots of important information about pymake.py. initialize if program crashed, user can use this command to reset. port port from source to target .json file, configure source root and config file. translate translate section from source to target, and other section. exec-with-params exec a command with params, it is also execvp and ccvp. backup backup all env .json to a zip file. recovery recovery all env .json from a zip file. import import user path or env or cmd to env .json file. example, import cmd [ <script-file>: x.bat x.cmd x.sh x.ps1 ... ] custom custom environment is helpping for calling large dimentions of scripts in computer, manually in console. defined in sourceroot. [ default: close ] export2 output private environ and custom environ to a bat file or sh file, a powerfull function from export, support powershell also. [default:current, env] powershell environ for powershell, and to execute in powershell. [cross] python list python information, and execute python script. Options: -h --help Show this screen. --version Show version. --add --del --mod add or delete or modify a config or path --switch switch to another source --show display source config files --restore reset to source config file pymake.json. -r, --raw expand editing config values --encoding=<encoding-name> script file encoding, support utf8, gbk, ansi, ... and so on. [default:utf8] --filter=<name-filter> ... filter file name postfix, separated by |. example: .bat | .sh | .ps1. R:\Develop\b0-toolkits\a0-compiler\PyMake>
Environment
Microsoft Windows [版本 10.0.17134.706] (c) 2018 Microsoft Corporation。保留所有权利。 R:\Develop\b0-toolkits\a0-compiler\PyMake>pymake system system env path+: C:\WINDOWS\system32 C:\WINDOWS C:\WINDOWS\System32\Wbem C:\WINDOWS\System32\WindowsPowerShell\v1.0\ C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common C:\Program Files\TortoiseGit\bin C:\WINDOWS\system32 C:\WINDOWS C:\WINDOWS\System32\Wbem C:\WINDOWS\System32\WindowsPowerShell\v1.0\ C:\WINDOWS\System32\OpenSSH\ C:\Program Files\Microsoft Network Monitor 3\ D:\HsuHelper\TZWebPdf D:\HsuHelper\TZKey C:\Program Files\Git\cmd C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps variable: ALLUSERSPROFILE C:\ProgramData APPDATA C:\Users\Administrator\AppData\Roaming COMMONPROGRAMFILES C:\Program Files\Common Files COMMONPROGRAMFILES(X86) C:\Program Files (x86)\Common Files COMMONPROGRAMW6432 C:\Program Files\Common Files COMPUTERNAME SC-201803271727 COMSPEC C:\WINDOWS\system32\cmd.exe DRIVERDATA C:\Windows\System32\Drivers\DriverData FILEPATH R:\Develop\b0-toolkits\a0-compiler\PyMake\ FPS_BROWSER_APP_PROFILE_STRING Internet Explorer FPS_BROWSER_USER_PROFILE_STRING Default HOMEDRIVE C: HOMEPATH \Users\Administrator LOCALAPPDATA C:\Users\Administrator\AppData\Local LOGONSERVER \\SC-201803271727 NUMBER_OF_PROCESSORS 20 ONEDRIVE C:\Users\Administrator\OneDrive OS Windows_NT PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC PROCESSOR_ARCHITECTURE AMD64 PROCESSOR_IDENTIFIER Intel64 Family 6 Model 62 Stepping 4, GenuineIntel PROCESSOR_LEVEL 6 PROCESSOR_REVISION 3e04 PROGRAMDATA C:\ProgramData PROGRAMFILES C:\Program Files PROGRAMFILES(X86) C:\Program Files (x86) PROGRAMW6432 C:\Program Files PROMPT $P$G PSMODULEPATH C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules PUBLIC C:\Users\Public SESSIONNAME Console SYSTEMDRIVE C: SYSTEMROOT C:\WINDOWS TEMP C:\Users\ADMINI~1\AppData\Local\Temp TMP C:\Users\ADMINI~1\AppData\Local\Temp USERDOMAIN SC-201803271727 USERDOMAIN_ROAMINGPROFILE SC-201803271727 USERNAME Administrator USERPROFILE C:\Users\Administrator WINDIR C:\WINDOWS R:\Develop\b0-toolkits\a0-compiler\PyMake>pymake custom custom env: opened. path+: R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\UserShell R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource C:\Users\Administrator\Desktop\ENVCONFIG\UserShell C:\Users\Administrator\Desktop\ENVCONFIG R:/Develop/a0-develop R:/Develop/e0-tools/doxygen/bin R:/Develop/e0-tools/doxygen/graphviz-2.38/bin R:/Develop/b0-toolkits/winCompilers/cmake3.9.1_64/bin R:/Develop/b0-toolkits/winCompilers/perl_5.26.0.1_64/perl/bin R:/Develop/b0-toolkits/winCompilers/xmake R:/Develop/b0-toolkits/winCompilers/watcom1.9/binw;R:/Develop/b0-toolkits/winCompilers/watcom1.9/binnt R:/Develop/b0-toolkits/a0-compiler/PyMake R:/Develop/b0-toolkits/a0-compiler/PyMake/demo R:/Develop/b0-toolkits/a0-compiler/PyMake/test R:/Develop/b0-toolkits/a0-compiler/PyMake/test/带 空格路径 R:/Develop/b0-toolkits/a0-compiler/PyMake/UserSource/带 空格 R:\一个中文路径 R:/Develop/b0-toolkits/winCompilers/ninja variable: PYMAKEAUTHOR T.D.R. PYMMXXX 一个中文变量 WATCOM R:/Develop/b0-toolkits/winCompilers/watcom1.9 EDPATH R:/Develop/b0-toolkits/winCompilers/watcom1.9/eddat WHTMLHELP R:/Develop/b0-toolkits/winCompilers/watcom1.9/binnt/help WIPFC R:/Develop/b0-toolkits/winCompilers/watcom1.9/wipfc INCLUDE R:/Develop/b0-toolkits/winCompilers/watcom1.9/h;R:/Develop/b0-toolkits/winCompilers/watcom1.9/h/nt;R:/Develop/b0-toolkits/winCompilers/watcom1.9/h/nt/directx;R:/Develop/b0-toolkits/winCompilers/watcom1.9/h/nt/ddk R:\Develop\b0-toolkits\a0-compiler\PyMake>pymake env current -r env qt5 path+: R:/Develop/b0-toolkits/winCompilers/cmake3.9.1_64/bin R:/Develop/b0-toolkits/winLibraries/Qt/Tools/mingw530_32/bin R:/Develop/b0-toolkits/winLibraries/Qt/5.9.2/mingw53_32/bin R:/一个中文路径 variable: make0 mingw32-make -j10 QTVERSION 5.9.2 QTDIR R:/Develop/b0-toolkits/winLibraries/Qt/5.9.2/mingw53_32 QTSPEC -spec win32-g++ QTCONFIG QKIT WIN32 QSYS Windows QBBE 一个中文变量 R:\Develop\b0-toolkits\a0-compiler\PyMake>
User Support
User support shell module, user can install them to share their functions.
Program Shortcut Shortcut(Level 2) pymake.py pymake mm, pymm pymake.py pyenv pyvc pymake.py pycmd, pyexecvp pyccvp pymake.py pypowershell.bat pymake.py pyenv.ps1 pyinfo.py pyinfo pypaths.py pypaths pycodec.py ... install,uninstall Dependencies
This program edited by python, support python 2.7 -> 3.6 (tested).You need install python, only python in path, configured.
PyMake v7 uses file encoding params in open(), then it support python3 only, I suggest you install python 3.7.
At last, it will work itself, I wish you would like it.I have been updating this project regularly recently.
Gitee Link
Github Link