initial
This commit is contained in:
41
Makefile
Normal file
41
Makefile
Normal file
@@ -0,0 +1,41 @@
|
||||
STD=-std=c11
|
||||
override CFLAGS+=-Werror -Wall -g -fPIC -O2 -DNDEBUG -ftrapv -Wfloat-equal -Wundef -Wwrite-strings -Wconversion -Wuninitialized -pedantic
|
||||
PREFIX=/usr/bin/
|
||||
BUILDDIR=bin/
|
||||
|
||||
CC=cc
|
||||
|
||||
TARGET=cmm
|
||||
SOURCES=$(wildcard src/*.c)
|
||||
|
||||
#Makes everything
|
||||
all:
|
||||
mkdir $(BUILDDIR) 2> /dev/null || true
|
||||
$(CC) $(CFLAGS) $(SOURCES) -o $(BUILDDIR)$(TARGET)
|
||||
|
||||
#Uses picky extensions and makes everything(Extensions may break compiling)
|
||||
dev:
|
||||
make all CFLAGS+="-Wshadow -Wunreachable-code -Wswitch-enum -Wswitch-default -Wcast-align -Winit-self -Wpointer-arith -fsanitize=address $(STD)"
|
||||
|
||||
#Runs all tests
|
||||
runtests:
|
||||
./test.sh
|
||||
|
||||
#Cleans directory(no uninstall!)
|
||||
clean:
|
||||
rm -rf bin
|
||||
|
||||
#Installs into specified(or default) directory
|
||||
install:
|
||||
install -d $(PREFIX)$(TARGET)
|
||||
install $(BUILDDIR)$(TARGET) $(PREFIX)$(TARGET)
|
||||
|
||||
#Uninstalls from specified(or default)directory
|
||||
uninstall:
|
||||
rm -rf $(PREFIX)$(TARGET)
|
||||
|
||||
#Checks for bad functions
|
||||
BADFUNCS='[^_.>a-zA-Z0-9](str(n?cpy|n?cat|xfrm|n?dup|str|pbrk|tok|_)|stpn?cpy|a?sn?printf|byte_)'
|
||||
check:
|
||||
@echo Files with potentially dangerous functions:
|
||||
@grep $(BADFUNCS) $(SOURCES) || echo None
|
Reference in New Issue
Block a user