{"id":25740117,"url":"https://github.com/rocketsoftware/pickmultivalue_makefilebuilder","last_synced_at":"2026-03-04T10:03:21.182Z","repository":{"id":67280085,"uuid":"434691600","full_name":"RocketSoftware/pickmultivalue_MakefileBuilder","owner":"RocketSoftware","description":null,"archived":false,"fork":false,"pushed_at":"2021-12-03T18:12:23.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-26T08:39:08.587Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Limbo","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RocketSoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-03T18:12:15.000Z","updated_at":"2021-12-03T18:12:28.000Z","dependencies_parsed_at":"2023-06-10T13:31:04.555Z","dependency_job_id":null,"html_url":"https://github.com/RocketSoftware/pickmultivalue_MakefileBuilder","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RocketSoftware/pickmultivalue_MakefileBuilder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RocketSoftware%2Fpickmultivalue_MakefileBuilder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RocketSoftware%2Fpickmultivalue_MakefileBuilder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RocketSoftware%2Fpickmultivalue_MakefileBuilder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RocketSoftware%2Fpickmultivalue_MakefileBuilder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RocketSoftware","download_url":"https://codeload.github.com/RocketSoftware/pickmultivalue_MakefileBuilder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RocketSoftware%2Fpickmultivalue_MakefileBuilder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30078307,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T08:01:56.766Z","status":"ssl_error","status_checked_at":"2026-03-04T08:00:42.919Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-26T08:36:25.388Z","updated_at":"2026-03-04T10:03:21.167Z","avatar_url":"https://github.com/RocketSoftware.png","language":"Limbo","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jBASE Makefile Builder\n\n\u003e ZUMBLDMAKE is a utility that will build a Makefile\n\u003e for BASIC code including dependencies for INCLUDEs (recursive)\n\n\u003e Note: Makefiles are dependent on individual source file\n\u003e changes. As such, the \"BP\" and \"INCLUDE\" files must be\n\u003e directories. Such files will be converted to directories if\n\u003e not already.\n\n## Benefits of using a Makefile in your jBASE Application\nMost *PICK* applications use INCLUDE statements for storing common logic. \nOften these include definitions for record structures, COMMON blocks.\n\nIf any one of these includes change you would typically want to recompile all programs that use these includes.\n\nThis is where the Makefile Builder comes in. Using an existing application environment it *discovers* the INCLUDE statements used in the cataloged programs and subroutines and builds a Makefile with dependencies that recognise if an INCLUDE is changed the Makefile will *know* which programs need recompiling/cataloging.\n\n## Preparation\nThe Makefile Builder requires the a **,OBJECT** data level for all *BP* files.\n```\ne.g. BP]MOBJECT\n```\nand that both the *BP* file and *OBJECT* be directories.\nA utility is provided to do that for you:\n\n**CONVBP2DIR *BP_file***\n\nadditionally ZUMBLDMAKE has an option to automatically do this (see below).\n\n## Installation/Setup\n\u003eYou will need access to GNU make of non-Windows or nmake.exe for Windows.\n\nRun **make** to build the project.\n\nThis will generate bins and libs which you will need to add to your\nPATH and JBCOBJECTLIST respectively so that you can build your Makefiles.\n\n## Instructions/Usage\n\n1. Change directory to the top tree where \"BP\" source files are located.\n2. Create bin/lib directories if not already in existence.\n(You may need to clear these for a clean Makefile result...see step 3.)\n3. If you cleaned out your local bin/lib directories: BASIC/CATALOG all source to the local bin/lib\n4. Set PATH and JBCOBJECTLIST such that these local bin/lib will\ncorrectly detect the cataloged programs. (this may already be the case for an existing project)\n5. Run ZUMBLDMAKE (with appopriate options)\n\n```\nSyntax: ZUMBLDMAKE {-options}\n\nWhere options:\n\n-[?,h,H] help/syntax\n-v Verbose\n-f\u003cmakefilename\u003e (default: Makefile)\n-o Overwrite\n-m Ignore missing errors\n-C Convert BP files (convert to dir, create OBJECT directory if missing)\n```\n\n## Additional utilities\n| Program | Description |\n|---------|-------------|\n| ZUMGETCATS | Discovers cataloged programs/subroutines (called by ZUMBLDMAKE -s) |\n| ZUMBASIC | Compiles all code discovered by ZUMCATS |\n| ZUMCATALOG | Catalogs all code discovered by ZUMCATS |\n| ZUMCHECKBAS | Checks if the code is compiled (including checking if the object is newer than the source) |\n| CONVBP2DIR | Converts a BP hashed file to a DIR type and creates a BP,OBJECT director if applicable |\n\n### ZUMGETCATS\nThis utility generates **ZUMCATS** and **ZUMLIBS** and additionally writes out two files to the current directory:\n\n1. executes_found\n2. subroutines_found\n\nThese two files are not meant to be definitive discoveries of programs and subroutines EXECUTEd or CALLed but can be useful for getting an overview of what is *in use*. The only entries written out are those that are quoted (for EXECUTE) or not @subname (in the case of CALL).\n\n### ZUMBASIC\nAs well as compiling the source it populates a BASICFAILS file/directory with any failures.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocketsoftware%2Fpickmultivalue_makefilebuilder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frocketsoftware%2Fpickmultivalue_makefilebuilder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocketsoftware%2Fpickmultivalue_makefilebuilder/lists"}