1799401db5
Branch Policy Check / Verify merge target (pull_request) Successful in 1s
- Add Copyright + FILE INFORMATION headers to 11 PHP enterprise classes - Add FILE INFORMATION blocks to 9 PHP files with incomplete headers - Add headers to 2 test files - Add markdown comment headers to 27 index/README files - Add headers to 5 root markdown files - Add FILE INFORMATION to 4 files with existing but incomplete headers All files now conform to moko-platform file header standard. Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
104 lines
3.1 KiB
Markdown
104 lines
3.1 KiB
Markdown
<!--
|
|
Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
|
|
SPDX-License-Identifier: GPL-3.0-or-later
|
|
FILE INFORMATION
|
|
DEFGROUP: MokoStandards.Index
|
|
INGROUP: MokoStandards.Templates.Makefiles
|
|
REPO: https://git.mokoconsulting.tech/MokoConsulting/moko-platform
|
|
PATH: /templates/makefiles/README.md
|
|
BRIEF: Makefile templates README
|
|
-->
|
|
|
|
# Makefile Templates
|
|
|
|
This directory contains Makefile templates for different repository types.
|
|
|
|
## Template Files
|
|
|
|
### Makefile.generic.template
|
|
Generic Makefile for standard repositories. Includes common targets for:
|
|
- Building and compiling
|
|
- Testing and linting
|
|
- Cleaning and maintenance
|
|
- Development workflow automation
|
|
|
|
**Usage:**
|
|
```bash
|
|
cp templates/makefiles/Makefile.generic.template ./Makefile
|
|
```
|
|
|
|
### Makefile.joomla.template
|
|
Joomla-specific Makefile for extensions (components, modules, plugins, etc.). Includes targets for:
|
|
- Joomla manifest validation
|
|
- Extension packaging
|
|
- Installation and deployment
|
|
- Testing with Joomla framework
|
|
- Build artifact creation
|
|
|
|
**Usage:**
|
|
```bash
|
|
cp templates/makefiles/Makefile.joomla.template ./Makefile
|
|
```
|
|
|
|
### Makefile.dolibarr.template
|
|
Dolibarr-specific Makefile for modules. Includes targets for:
|
|
- Module descriptor validation
|
|
- SQL migration management
|
|
- Module packaging
|
|
- Installation and deployment
|
|
- Testing with Dolibarr framework
|
|
- Build artifact creation
|
|
|
|
**Usage:**
|
|
```bash
|
|
cp templates/makefiles/Makefile.dolibarr.template ./Makefile
|
|
```
|
|
|
|
## Template Naming Convention
|
|
|
|
All Makefile templates use the `.template` extension to clearly distinguish them from active Makefile files. When copying to your repository:
|
|
|
|
1. **Remove the .template extension**: `Makefile.generic.template` → `Makefile`
|
|
2. **Customize for your project**: Update variables and targets as needed
|
|
3. **Test the targets**: Run `make help` to see available targets
|
|
|
|
## Customization
|
|
|
|
After copying a template:
|
|
|
|
1. Update project-specific variables at the top of the Makefile
|
|
2. Modify paths to match your repository structure
|
|
3. Add or remove targets based on your needs
|
|
4. Update dependencies between targets if necessary
|
|
|
|
## Schema Integration
|
|
|
|
These Makefile templates are referenced in the repository structure schemas:
|
|
|
|
- **default-repository.xml**: Uses `Makefile.generic.template` (suggested)
|
|
- **waas-component.xml**: Uses `Makefile.joomla.template` (required)
|
|
- **crm-module.xml**: Uses `Makefile.dolibarr.template` (required)
|
|
|
|
The schemas define source/destination mappings that automatically convert `.template` extensions to the final `Makefile` name.
|
|
|
|
## Common Targets
|
|
|
|
Most templates include these standard targets:
|
|
|
|
- `make help` - Display available targets
|
|
- `make build` - Build the project
|
|
- `make test` - Run tests
|
|
- `make lint` - Run linters
|
|
- `make clean` - Clean build artifacts
|
|
- `make install` - Install dependencies
|
|
- `make package` - Create distribution package
|
|
|
|
Platform-specific templates may include additional targets relevant to their ecosystem.
|
|
|
|
## Support
|
|
|
|
For questions or issues with Makefile templates:
|
|
- See main MokoStandards documentation
|
|
- Check the platform-specific guides (Joomla, Dolibarr)
|
|
- Review the schema documentation for source/destination details
|