Initial commit
This commit is contained in:
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) [year] [fullname]
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
56
Makefile
Normal file
56
Makefile
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
# Compiler settings
|
||||||
|
CC=gcc
|
||||||
|
CFLAGS=-std=c11 -Wall -Wextra -O2 -Iinclude
|
||||||
|
SHELL=/bin/sh
|
||||||
|
|
||||||
|
# Directories
|
||||||
|
SRCDIR=src
|
||||||
|
INCDIR=include
|
||||||
|
OBJDIR=build
|
||||||
|
DISTDIR=dist
|
||||||
|
TESTDIR=tests
|
||||||
|
|
||||||
|
# Platform-specific sources
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
PLATFORM_SRC=$(SRCDIR)/win32_platform.c
|
||||||
|
OBJEXT=obj
|
||||||
|
LIBEXT=dll
|
||||||
|
RM=del /Q
|
||||||
|
MKDIR=if not exist "$(1)" mkdir "$(1)"
|
||||||
|
else
|
||||||
|
PLATFORM_SRC=$(SRCDIR)/linux_platform.c
|
||||||
|
OBJEXT=o
|
||||||
|
LIBEXT=so
|
||||||
|
RM=rm -f
|
||||||
|
MKDIR=mkdir -p $(1)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Sources and objects
|
||||||
|
SRC=$(PLATFORM_SRC) $(TESTDIR)/main.c
|
||||||
|
OBJ=$(patsubst %.c,$(OBJDIR)/%.$(OBJEXT),$(SRC))
|
||||||
|
|
||||||
|
# Targets
|
||||||
|
.PHONY: all clean run
|
||||||
|
|
||||||
|
all: $(DISTDIR)/app
|
||||||
|
|
||||||
|
# Build main executable
|
||||||
|
$(DISTDIR)/app: $(OBJ)
|
||||||
|
@$(call MKDIR,$(DISTDIR))
|
||||||
|
$(CC) $(CFLAGS) $(OBJ) -o $@
|
||||||
|
|
||||||
|
# Compile object files
|
||||||
|
$(OBJDIR)/%.$(OBJEXT): %.c
|
||||||
|
@$(call MKDIR,$(dir $@))
|
||||||
|
$(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
# Run the app
|
||||||
|
run: $(DISTDIR)/app
|
||||||
|
$(DISTDIR)/app
|
||||||
|
|
||||||
|
# Clean
|
||||||
|
clean:
|
||||||
|
-$(RM) $(OBJ)
|
||||||
|
-$(RM) $(DISTDIR)/*
|
||||||
|
@echo "Cleaned build and dist directories"
|
||||||
|
|
||||||
34
README.md
Normal file
34
README.md
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# EG
|
||||||
|
|
||||||
|
## Description
|
||||||
|
This repository contains eg or "for example" files. That includes this README and LICENSE.
|
||||||
|
`~/eg`is a $HOME directory for me and is marked as an XDG template folder.
|
||||||
|
This allows you to easily create files from "templates" on a desktop.
|
||||||
|
It also serves as a filepath `~/eg` for scripts and automation.
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
- [Description](#description)
|
||||||
|
- [Features](#features)
|
||||||
|
- [Usage](#usage)
|
||||||
|
- [Credits / Resources](#credits--resources)
|
||||||
|
- [License](#license)
|
||||||
|
|
||||||
|
## Features
|
||||||
|
+ Easy to copy.
|
||||||
|
+ Defaults to revert to.
|
||||||
|
+ Templates for easy productivity.
|
||||||
|
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
Just copy and paste into your projects.<br>
|
||||||
|
/dev - Files used in development.<br>
|
||||||
|
/dot - Files used in configuration.<br>
|
||||||
|
|
||||||
|
## Credits / Resources
|
||||||
|
[Tom Preston-Werner README Driven Development](https://tom.preston-werner.com/2010/08/23/readme-driven-development)<br>
|
||||||
|
[Make a README](https://www.makeareadme.com/)<br>
|
||||||
|
[Choose a LICENSE](https://choosealicense.com/)<br>
|
||||||
|
|
||||||
|
## License
|
||||||
|
This project is licensed under MIT - see the [LICENSE](LICENSE) file for details.
|
||||||
7
include/platform.h
Normal file
7
include/platform.h
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#ifndef PLATFORM_H
|
||||||
|
#define PLATFORM_H
|
||||||
|
|
||||||
|
void platform_print(void);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
8
src/linux_platform.c
Normal file
8
src/linux_platform.c
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#include "../include/platform.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
void platform_print(void)
|
||||||
|
{
|
||||||
|
printf("Linux platform\n");
|
||||||
|
}
|
||||||
|
|
||||||
7
src/win32_platform.c
Normal file
7
src/win32_platform.c
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#include "../include/platform.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
void platform_print(void)
|
||||||
|
{
|
||||||
|
printf("Windows platform\n");
|
||||||
|
}
|
||||||
8
tests/main.c
Normal file
8
tests/main.c
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#include "../include/platform.h"
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
platform_print();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user