From 137e4ed9d74891349de1b0da1e0cf2653ea92c5e Mon Sep 17 00:00:00 2001 From: Max Mahn Date: Wed, 20 May 2026 09:23:50 -0400 Subject: initial commit --- def/skel/c/.setup.sh | 3 +++ def/skel/c/Makefile | 34 ++++++++++++++++++++++++++++++++++ def/skel/c/bin/.null | 0 def/skel/c/config.mk | 16 ++++++++++++++++ def/skel/c/inc/.null | 0 def/skel/c/obj/.null | 0 def/skel/c/res/.null | 0 def/skel/c/src/.null | 0 def/skel/c/src/main.c | 8 ++++++++ def/skel/sh/.null | 0 def/skel/sh/Makefile | 33 +++++++++++++++++++++++++++++++++ def/skel/sh/src/main.sh | 1 + 12 files changed, 95 insertions(+) create mode 100644 def/skel/c/.setup.sh create mode 100644 def/skel/c/Makefile create mode 100644 def/skel/c/bin/.null create mode 100644 def/skel/c/config.mk create mode 100644 def/skel/c/inc/.null create mode 100644 def/skel/c/obj/.null create mode 100644 def/skel/c/res/.null create mode 100644 def/skel/c/src/.null create mode 100644 def/skel/c/src/main.c create mode 100644 def/skel/sh/.null create mode 100644 def/skel/sh/Makefile create mode 100644 def/skel/sh/src/main.sh (limited to 'def/skel') diff --git a/def/skel/c/.setup.sh b/def/skel/c/.setup.sh new file mode 100644 index 0000000..5a3c82a --- /dev/null +++ b/def/skel/c/.setup.sh @@ -0,0 +1,3 @@ + +echo -n "\nNAME = $(basename $(pwd))\n" >> config.mk + diff --git a/def/skel/c/Makefile b/def/skel/c/Makefile new file mode 100644 index 0000000..42d9f6d --- /dev/null +++ b/def/skel/c/Makefile @@ -0,0 +1,34 @@ +# see LICENSE file for license information # + +.PHONY: default clean install uninstall + +include config.mk + +SRC ?= src +INC ?= inc +RES ?= res +OBJ ?= obj +BIN ?= bin + +NAME ?= out + +default : $(BIN)/$(NAME) + +clean : + @mkdir -p $(SRC) $(INC) $(OBJ) $(BIN) + rm -f $(OBJ)/*.o $(BIN)/* + +install : $(BIN)/$(NAME) + @cp $< $(INSTALL_DIR)/ + +uninstall : + @rm $(INSTALL_DIR)/$(NAME) + +$(BIN)/$(NAME) : $(COMPONENTS:%=$(OBJ)/%.o) + @mkdir -p $(BIN) + $(CC) $(LDFLAGS) $^ -o $@ + +$(OBJ)/%.o : $(SRC)/%.c + @mkdir -p $(OBJ) + $(CC) $(CFLAGS) $< -o $@ + diff --git a/def/skel/c/bin/.null b/def/skel/c/bin/.null new file mode 100644 index 0000000..e69de29 diff --git a/def/skel/c/config.mk b/def/skel/c/config.mk new file mode 100644 index 0000000..7a78dd6 --- /dev/null +++ b/def/skel/c/config.mk @@ -0,0 +1,16 @@ +# see LICENSE file for license information # + +COMPONENTS = main + +SRC := src +INC := inc +RES := res +OBJ := obj +BIN := bin + +INSTALL_DIR = /usr/bin + +CC = gcc +CFLAGS = -c -g -Wall -iquote ./$(INC) +LDFLAGS = + diff --git a/def/skel/c/inc/.null b/def/skel/c/inc/.null new file mode 100644 index 0000000..e69de29 diff --git a/def/skel/c/obj/.null b/def/skel/c/obj/.null new file mode 100644 index 0000000..e69de29 diff --git a/def/skel/c/res/.null b/def/skel/c/res/.null new file mode 100644 index 0000000..e69de29 diff --git a/def/skel/c/src/.null b/def/skel/c/src/.null new file mode 100644 index 0000000..e69de29 diff --git a/def/skel/c/src/main.c b/def/skel/c/src/main.c new file mode 100644 index 0000000..494e6d9 --- /dev/null +++ b/def/skel/c/src/main.c @@ -0,0 +1,8 @@ + +#include + +int main(int argc, char *argv[]) +{ + return 0; +} + diff --git a/def/skel/sh/.null b/def/skel/sh/.null new file mode 100644 index 0000000..e69de29 diff --git a/def/skel/sh/Makefile b/def/skel/sh/Makefile new file mode 100644 index 0000000..3f80df5 --- /dev/null +++ b/def/skel/sh/Makefile @@ -0,0 +1,33 @@ +## see LICENSE file for licensing information ## + + +INSTALL_DIR = /usr/bin +SYS_CFG_DIR = /etc + + + +.PHONY: main install clean uninstall + +NAME = mktree + +main : bin/$(NAME) bin/$(NAME).1 + +bin/mktree.1 : doc/mktree.1 + @awk -f make.awk $< > $@ + +bin/mktree : src/main.sh + @awk -f make.awk $< > $@ + @chmod +x $@ + +install : main + cp bin/$(NAME) $(INSTALL_DIR)/ + cp -r def/skel $(SYS_CFG_DIR)/mktree + +clean : + @rm -f bin/* + +uninstall : + rm -f $(INSTALL_DIR)/$(NAME) + rm -rf $(SYS_CFG_DIR)/mktree + + diff --git a/def/skel/sh/src/main.sh b/def/skel/sh/src/main.sh new file mode 100644 index 0000000..1a24852 --- /dev/null +++ b/def/skel/sh/src/main.sh @@ -0,0 +1 @@ +#!/bin/sh -- cgit v1.2.3