Added Makefile.
This commit is contained in:
+2
-1
@@ -1,2 +1,3 @@
|
||||
.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