From 95f7a7a769eb39b5141b68f4f8f142817a1d9873 Mon Sep 17 00:00:00 2001 From: vxclutch Date: Fri, 1 May 2026 23:28:57 -0400 Subject: [PATCH] TODO: implement tests --- .gitignore | 4 ++++ Makefile | 12 +++++++++++- include/tcpl/tcpl.h | 2 ++ lib/print.c | 2 ++ lib/print.h | 1 + src/main.c | 23 +++++++++++++++++++++-- t/lib.sh | 0 7 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 .gitignore create mode 100644 t/lib.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2343133 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.cache +compile_commands.json +.o +.gz diff --git a/Makefile b/Makefile index 36726b1..e7777ba 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ -include make.conf BIN = tcpl +DIST = $(BIN)-$(VERSION) SRC = $(wildcard src/*.c) SRC_OBJ = $(SRC:.c=.o) @@ -19,5 +20,14 @@ src/%.o: src/%.c lib/%.o: lib/%.c $(CC) $(CFLAGS) -I. -Iinclude -c $< -o $@ +dist: clean + mkdir -p $(DIST) + cp -R src make.conf Makefile man LICENSE README doc include lib package $(DIST) + tar -czf $(DIST).tar.gz $(DIST) + rm -rf $(DIST) + + clean: - rm -f $(SRC_OBJ) $(LIB_OBJ) $(BIN) + rm -f $(SRC_OBJ) $(LIB_OBJ) $(BIN) *.gz + +.PHONY: dist clean all diff --git a/include/tcpl/tcpl.h b/include/tcpl/tcpl.h index 26a8b75..f599c99 100644 --- a/include/tcpl/tcpl.h +++ b/include/tcpl/tcpl.h @@ -6,6 +6,8 @@ * Do #include */ +#define unused (void) + #include #endif diff --git a/lib/print.c b/lib/print.c index 9d6bf32..0ed141c 100644 --- a/lib/print.c +++ b/lib/print.c @@ -2,6 +2,8 @@ #include #include +char *arg0 = ""; + int tcpl_print(char* s) { return printf("%s: %s\n", arg0, s); diff --git a/lib/print.h b/lib/print.h index 3afb0b0..f5ca3bd 100644 --- a/lib/print.h +++ b/lib/print.h @@ -4,6 +4,7 @@ * Define the print functions for this project */ +extern char *arg0; int tcpl_print(char* s); #endif diff --git a/src/main.c b/src/main.c index 65f1a2e..7056db2 100644 --- a/src/main.c +++ b/src/main.c @@ -1,10 +1,29 @@ +/* main.c: defines the entry point for tcpl. + Copyright (C) vxclutch + +Written by vxclutch + +This file is part of tcpl + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. */ + #include #include -extern char* arg0; - int main(int argc, char** argv) { + unused argc; + arg0 = basename(argv[0]); tcpl_print("Hello, World!"); return 0; diff --git a/t/lib.sh b/t/lib.sh new file mode 100644 index 0000000..e69de29