forked from auxolotl/templates
Merge pull request #27 from Sigmanificient/c
This commit is contained in:
commit
fdbefeff2a
22
c/.editorconfig
Normal file
22
c/.editorconfig
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
indent_size = 4
|
||||||
|
indent_style = space
|
||||||
|
insert_final_newline = true
|
||||||
|
max_line_length = 80
|
||||||
|
tab_width = 4
|
||||||
|
|
||||||
|
[{Makefile,*.mk}]
|
||||||
|
indent_style = tab
|
||||||
|
|
||||||
|
[*.nix]
|
||||||
|
indent_style = space
|
||||||
|
tab_width = 2
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.lock]
|
||||||
|
indent_style = unset
|
||||||
|
insert_final_newline = unset
|
64
c/.gitignore
vendored
Normal file
64
c/.gitignore
vendored
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
# binaries
|
||||||
|
hello
|
||||||
|
|
||||||
|
# language support
|
||||||
|
compile_commands.json
|
||||||
|
.cache
|
||||||
|
|
||||||
|
# nix
|
||||||
|
.direnv
|
||||||
|
result*
|
||||||
|
repl-result-*
|
||||||
|
|
||||||
|
# Prerequisites
|
||||||
|
*.d
|
||||||
|
|
||||||
|
# Object files
|
||||||
|
*.o
|
||||||
|
*.ko
|
||||||
|
*.obj
|
||||||
|
*.elf
|
||||||
|
|
||||||
|
# Linker output
|
||||||
|
*.ilk
|
||||||
|
*.map
|
||||||
|
*.exp
|
||||||
|
|
||||||
|
# Precompiled Headers
|
||||||
|
*.gch
|
||||||
|
*.pch
|
||||||
|
|
||||||
|
# Libraries
|
||||||
|
*.lib
|
||||||
|
*.a
|
||||||
|
*.la
|
||||||
|
*.lo
|
||||||
|
|
||||||
|
# Shared objects (inc. Windows DLLs)
|
||||||
|
*.dll
|
||||||
|
*.so
|
||||||
|
*.so.*
|
||||||
|
*.dylib
|
||||||
|
|
||||||
|
# Executables
|
||||||
|
*.exe
|
||||||
|
*.out
|
||||||
|
*.app
|
||||||
|
*.i*86
|
||||||
|
*.x86_64
|
||||||
|
*.hex
|
||||||
|
|
||||||
|
# Debug files
|
||||||
|
*.dSYM/
|
||||||
|
*.su
|
||||||
|
*.idb
|
||||||
|
*.pdb
|
||||||
|
|
||||||
|
# Kernel Module Compile Results
|
||||||
|
*.mod*
|
||||||
|
*.cmd
|
||||||
|
.tmp_versions/
|
||||||
|
modules.order
|
||||||
|
Module.symvers
|
||||||
|
Mkfile.old
|
||||||
|
dkms.conf
|
30
c/Makefile
Normal file
30
c/Makefile
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
CC ?= gcc
|
||||||
|
CFLAGS += -pedantic -Wall -Wextra -O2
|
||||||
|
|
||||||
|
OUT := hello
|
||||||
|
BINDIR ?= /usr/bin
|
||||||
|
|
||||||
|
SRC += main.c
|
||||||
|
OBJ := $(SRC:.c=.o)
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
|
all: $(OUT)
|
||||||
|
|
||||||
|
$(OUT): $(OBJ)
|
||||||
|
$(CC) -o $@ $<
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
$(RM) $(OBJ)
|
||||||
|
|
||||||
|
.PHONY: fclean
|
||||||
|
fclean: clean
|
||||||
|
$(RM) -r $(OUT)
|
||||||
|
|
||||||
|
.PHONY: re
|
||||||
|
.NOTPARALLEL: re
|
||||||
|
re: fclean all
|
||||||
|
|
||||||
|
.PHONY: install
|
||||||
|
install:
|
||||||
|
install -D hello ${BINDIR}/hello --mode 0755
|
27
c/flake.nix
Normal file
27
c/flake.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
description = "Aux template for C project";
|
||||||
|
|
||||||
|
inputs.nixpkgs.url = "github:auxolotl/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
outputs =
|
||||||
|
{ self, nixpkgs }:
|
||||||
|
let
|
||||||
|
forAllSystems =
|
||||||
|
function:
|
||||||
|
nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed (
|
||||||
|
system: function nixpkgs.legacyPackages.${system}
|
||||||
|
);
|
||||||
|
in
|
||||||
|
rec {
|
||||||
|
devShells = forAllSystems (pkgs: {
|
||||||
|
default = pkgs.mkShell { inputsFrom = [ packages.${pkgs.system}.hello ]; };
|
||||||
|
});
|
||||||
|
|
||||||
|
packages = forAllSystems (pkgs: rec {
|
||||||
|
default = hello;
|
||||||
|
hello = pkgs.callPackage ./hello.nix { };
|
||||||
|
});
|
||||||
|
|
||||||
|
overlays.default = final: prev: { hello = prev.callPackage ./default.nix { }; };
|
||||||
|
};
|
||||||
|
}
|
7
c/hello.nix
Normal file
7
c/hello.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ stdenv }:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "hello";
|
||||||
|
src = ./.;
|
||||||
|
|
||||||
|
env.BINDIR = "${placeholder "out"}/bin";
|
||||||
|
}
|
Loading…
Reference in a new issue