%global _empty_manifest_terminate_build 0 Name: python-make-var Version: 0.4.0 Release: 1 Summary: Retrieve all variables defined by make command License: LICENSE.txt URL: http://github.com/karnigen/make_var Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d1/09/fa8b35cdc8229d742d6b585274844400860fd3b51464de3da778b317ebd0/make_var-0.4.0.tar.gz BuildArch: noarch %description # make_var - Retrieve all variables defined by make command by **python** - Expand make type variables `$(VAR)` in string Package allow you to access any symbol defined in *make*. It might be helpful to transfer your *Makefile* based project to different one. ## Installation `pip install make_var` ## Tutorial How to use package: - just create simple Makefile containing variables H and W ``` H = hello W = world ``` - next create python file `read_makefile.py` ``` #!/usr/bin/env python3 from make_var import * M=make_vars(origin=['makefile']) # retrieve only data defined in makefiles print(M['makefile']['H'], M['makefile']['W']) ``` execute it and you get `hello world` - to get all variables that `make` uses just write ``` M=make_vars(origin=None) # all variables print(M.keys()) # print all origins ``` output is `['environment', "'override'", 'automatic', 'makefile', 'default']` ## String expansion Example to replace $(var) by definition from Makefile - use same Makefile as before - edit python file ``` print(make_expand(M,"$(H) $(W)")) # replaces $(H) with "hello" and $(W) with "word" ``` you get `hello world` ## Internals package is based on GNU make command `make -pnB` %package -n python3-make-var Summary: Retrieve all variables defined by make command Provides: python-make-var BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-make-var # make_var - Retrieve all variables defined by make command by **python** - Expand make type variables `$(VAR)` in string Package allow you to access any symbol defined in *make*. It might be helpful to transfer your *Makefile* based project to different one. ## Installation `pip install make_var` ## Tutorial How to use package: - just create simple Makefile containing variables H and W ``` H = hello W = world ``` - next create python file `read_makefile.py` ``` #!/usr/bin/env python3 from make_var import * M=make_vars(origin=['makefile']) # retrieve only data defined in makefiles print(M['makefile']['H'], M['makefile']['W']) ``` execute it and you get `hello world` - to get all variables that `make` uses just write ``` M=make_vars(origin=None) # all variables print(M.keys()) # print all origins ``` output is `['environment', "'override'", 'automatic', 'makefile', 'default']` ## String expansion Example to replace $(var) by definition from Makefile - use same Makefile as before - edit python file ``` print(make_expand(M,"$(H) $(W)")) # replaces $(H) with "hello" and $(W) with "word" ``` you get `hello world` ## Internals package is based on GNU make command `make -pnB` %package help Summary: Development documents and examples for make-var Provides: python3-make-var-doc %description help # make_var - Retrieve all variables defined by make command by **python** - Expand make type variables `$(VAR)` in string Package allow you to access any symbol defined in *make*. It might be helpful to transfer your *Makefile* based project to different one. ## Installation `pip install make_var` ## Tutorial How to use package: - just create simple Makefile containing variables H and W ``` H = hello W = world ``` - next create python file `read_makefile.py` ``` #!/usr/bin/env python3 from make_var import * M=make_vars(origin=['makefile']) # retrieve only data defined in makefiles print(M['makefile']['H'], M['makefile']['W']) ``` execute it and you get `hello world` - to get all variables that `make` uses just write ``` M=make_vars(origin=None) # all variables print(M.keys()) # print all origins ``` output is `['environment', "'override'", 'automatic', 'makefile', 'default']` ## String expansion Example to replace $(var) by definition from Makefile - use same Makefile as before - edit python file ``` print(make_expand(M,"$(H) $(W)")) # replaces $(H) with "hello" and $(W) with "word" ``` you get `hello world` ## Internals package is based on GNU make command `make -pnB` %prep %autosetup -n make_var-0.4.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-make-var -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu Jun 08 2023 Python_Bot - 0.4.0-1 - Package Spec generated