Added Makefile.
This commit is contained in:
+2
-1
@@ -1,2 +1,3 @@
|
|||||||
.vscode/
|
.vscode/
|
||||||
utf8
|
bin/
|
||||||
|
obj/
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
CC = gcc
|
||||||
|
CFLAGS=-g -Wall -DDEBUG -Wpedantic
|
||||||
|
SRCDIR=src
|
||||||
|
OBJDIR=obj
|
||||||
|
SRCS=$(wildcard $(SRCDIR)/*.c)
|
||||||
|
# Substitute all .c with .o from SRCS
|
||||||
|
OBJS=$(patsubst $(SRCDIR)/%.c, $(OBJDIR)/%.o, $(SRCS))
|
||||||
|
BINDIR=bin
|
||||||
|
BIN=$(BINDIR)/string-test
|
||||||
|
all: $(BIN)
|
||||||
|
release: CFLAGS=-Wall -Wpedantic -O2
|
||||||
|
release: clean
|
||||||
|
release: $(BIN)
|
||||||
|
$(BIN): $(OBJS) $(BINDIR)
|
||||||
|
$(CC) $(CFLAGS) $(OBJS) -o $@
|
||||||
|
$(OBJDIR)/%.o: $(SRCDIR)/%.c $(OBJDIR)
|
||||||
|
$(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
$(BINDIR):
|
||||||
|
mkdir $@
|
||||||
|
$(OBJDIR):
|
||||||
|
mkdir $@
|
||||||
|
.PHONY: clean
|
||||||
|
.PHONY: test
|
||||||
|
.PHONY: disass
|
||||||
|
clean:
|
||||||
|
rm -rf $(BINDIR)/* $(OBJDIR)/*
|
||||||
|
test:
|
||||||
|
$(BIN)
|
||||||
|
disass:
|
||||||
|
objdump -S --disassemble $(OBJDIR)/$(FILE).o > $(OBJDIR)/$(FILE).s
|
||||||
Reference in New Issue
Block a user