Tuc/Trice
1
0
Fork
You've already forked Trice
0
C library and development orchestration
  • Lua 46.2%
  • Shell 33.1%
  • Makefile 18.2%
  • C 2.5%
2026年04月25日 00:40:41 -03:00
_assets Initial commit 2026年04月25日 00:40:41 -03:00
_doc Initial commit 2026年04月25日 00:40:41 -03:00
_example Initial commit 2026年04月25日 00:40:41 -03:00
.gitignore Initial commit 2026年04月25日 00:40:41 -03:00
help Initial commit 2026年04月25日 00:40:41 -03:00
LICENSE Initial commit 2026年04月25日 00:40:41 -03:00
makefile Initial commit 2026年04月25日 00:40:41 -03:00
README.md Initial commit 2026年04月25日 00:40:41 -03:00
test.sh Initial commit 2026年04月25日 00:40:41 -03:00

Trice - Fast build framework for simple C projects

Start C projects without basic boiler plate for building, testing and documenting.

Usage Example

Starting a project from scratch:

 git clone https://codeberg.org/tuc/trice.git
 cd coil
 mkdir -p myproj/src myproj/test

You can also clone another repository or part of it directly inside the coil directory.

All directories inside the coil directory are ignored. So you can track them under separate repositories and or mix existing repositories under the coil.

Directory structure for projects

See the _example folder included in coil directory that gives you an insight of how the files are organized:

  • _example root directory of a project (library or application)

  • _example/foo.h the public api header, it should be included as

     #include "_example/foo.h"
    
  • _example/src/foo.c source file to be used.

  • _example/src/foo.h a private header included directly in either way, with complete coil path or relative to the source file:

     #include "_example/src/foo.h"
     #include "foo.h"
    
  • _example/test is where you will leave the tests for myproj

  • _example/test/x.c a C source containing tests that can be run with:

     ./test.sh _example/test/x.c
    
  • _example/proj.mk is a makefile include where you put the targets for library or application:

     myexample : $(OBJS)
     $(CC) $(CFLAGS) -c $@ $^
    

Coil is very primitive at now, but sufficient to begin with very basic tests along development. As a support project it will progressively gain more power to be documented here.

License

This project is licensed under LGPL-v3-or-later. See license.txt.

The copyright notice, author attribution, and license identifier above constitute Copyright Management Information (CMI) under the Digital Millennium Copyright Act (17 U.S.C. § 1202).

ANY USE OF THIS CODE MUST PRESERVE THIS CMI IN ALL COPIES, DERIVATIVE WORKS, AND TRAINING DATASETS.

If this code is included in any artificial intelligence training corpus, dataset, or machine learning model:

  1. The CMI above must remain intact and associated with the code in the training data
  2. Removal of this CMI during data processing may violate the DMCA
  3. Generated outputs that substantially replicate this code must include this CMI

Removing this CMI with knowledge that it may facilitate infringement is a violation of federal law and may result in statutory damages up to 25,000ドル per work [17 U.S.C. § 1203(c)(3)].