{"id":18388195,"url":"https://github.com/ccnmtl/makefiles","last_synced_at":"2026-03-19T04:08:59.657Z","repository":{"id":9914921,"uuid":"57287168","full_name":"ccnmtl/makefiles","owner":"ccnmtl","description":"common library of standardized makefiles","archived":false,"fork":false,"pushed_at":"2025-11-21T16:36:47.000Z","size":132,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-11-21T18:22:19.490Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","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/ccnmtl.png","metadata":{"files":{"readme":"README.markdown","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-04-28T09:13:02.000Z","updated_at":"2025-11-21T16:36:50.000Z","dependencies_parsed_at":"2023-01-11T17:43:44.174Z","dependency_job_id":"7ed06b15-8af1-4724-aed8-e58cf15c08c6","html_url":"https://github.com/ccnmtl/makefiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ccnmtl/makefiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccnmtl%2Fmakefiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccnmtl%2Fmakefiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccnmtl%2Fmakefiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccnmtl%2Fmakefiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ccnmtl","download_url":"https://codeload.github.com/ccnmtl/makefiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccnmtl%2Fmakefiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28670381,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T19:36:09.361Z","status":"ssl_error","status_checked_at":"2026-01-22T19:36:05.567Z","response_time":144,"last_error":"SSL_read: 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":"2024-11-06T01:32:23.196Z","updated_at":"2026-03-19T04:08:59.649Z","avatar_url":"https://github.com/ccnmtl.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"CTL standard makefiles\n\nCollects them all in one place.\n\nTo use, copy the relevant files into your project and add a master\n`Makefile` that looks something like:\n\n\n    APP=myapp\n    \n    JS_FILES=media/js/src/ media/js/tests\n    MAX_COMPLEXITY=7\n    \n    all: jenkins\n    \n    include *.mk\n\nThe key aspects being:\n\n* define whatever required and optional global variables are\n  expected.\n* explicitly set the `all` target. Otherwise it will default to the\n  first target it finds, which will depend on the order of the file\n  includes which is not ideal.\n* include all the `.mk` files\n* if you want to override any targets from those makefiles, define\n  those new targets after the include line\n* if you want to add new targets that are project specific, consider\n  making a new `.mk` file for them\n* makefiles are explicitly versioned so we can keep track of them and\n  automatically update them across projects\n* if you've included the `make.mk` file, you can do `make\n  update_makefiles` and it will update every `.mk` file in your app to\n  the version that is current in this repo.\n\n## Guidelines for writing make targets\n\n* parameterize everything you can, make as few assumptions about the\n  code as you can get away with.\n* use the `?=` operator to define variables in the `.mk` that can be\n  overridden in the top-level `Makefile` or on the commandline\n* if you change something, bump the `VERSION` in the comment on the\n  first line as appropriate (semver rules)\n* update this README with documentation of variables required below\n* add a changelog comment to the file you've changed, especially if\n  something potentially is not backwards compatible\n\n## Expected variables\n\n### django.mk\n\nRequired:\n\n* `APP` to specify you django app\n\nOptional:\n\n* `VE`, virtualenv directory, defaults to `./ve`\n* `MANAGE`, manage.py command, defaults to `./manage.py`\n* `FLAKE8`, flake8 command, default `$(VE)/bin/flake8`\n* `REQUIREMENTS`, location of requirements.txt file, `requirements.txt`\n* `SYS_PYTHON`, system python, default `python`\n* `PIP`, pip command, default `$(VE)/bin/pip`\n* `PY_SENTINAL`, python sentinal location, default `$(VE)/sentinal`\n* `WHEEL_VERSION`, version of python wheel library to install, default `0.24.0`\n* `MAX_COMPLEXITY`, flake8 max complexity, default 10\n* `INTERFACE`, runserver interface, default `localhost`\n* `RUNSERVER_PORT`, runserver port, default `8000`\n* `PY_DIRS`, directories with python code (to flake8), default `$(APP)`\n\n### docker.mk\n\nRequired:\n\n* `APP` to specify you django app. same as with `django.mk`\n\nOptional:\n\n* `WHEELHOUSE`, directory to stash `.whl` files, default `wheelhouse`\n* `ORG`, docker hub organization, default `ccnmtl`\n* `BUILDER_IMAGE`, django builder image to use, default `ccnmtl/django.build`\n\n### hugo.mk\n\nOptional:\n\n* `HUGO`, path to hugo binary, default `/usr/local/bin/hugo`\n* `S3CMD`, s3cmd, default `s3cmd`\n* `PUBLIC`, location of hugo's publish directory, default `public`\n* `DRAFT_FLAGS`, commandline flags for draft building mode, default `--buildDrafts --verboseLog=true -v`\n* `PROD_FLAGS`, hugo flags to use for production publish step, default `-s .`\n* `S3_FLAGS`, flags to use for s3cmd publish step, default `--acl-public --delete-removed --no-progress --no-mime-magic --guess-mime-type`\n* `INTERMEDIATE_STEPS`, commands to run between hugo publish and s3\n  publish steps (eg, json/lunr.js tweaks), default `echo nothing`\n\n### js.mk\n\nOptional:\n\n* `JS_FILES`, where to look for eslint, defaults to `media/js`\n* `NODE_MODULES`, node_modules dir, default `./node_modules`\n* `JS_SENTINAL`, location of the js sentinal file, default `$(NODE_MODULES)/sentinal`\n* `ESLINT`, eslint command, default `$(NODE_MODULES)/eslint/bin/eslint`\n\n### make.mk\n\nOptional:\n\n* `GITHUB_BASE`, where to look for new versions, default https://raw.githubusercontent.com/ccnmtl/makefiles/master/\n* `WGET`, wget binary, default `wget`\n* `WGET_FLAGS`, flags for wget command, default `-O`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccnmtl%2Fmakefiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fccnmtl%2Fmakefiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccnmtl%2Fmakefiles/lists"}