makefile: put all object files into build/ #7
This commit is contained in:
parent
e9c26bab8b
commit
90f3c537ee
8
Makefile
8
Makefile
@ -2,19 +2,19 @@ CC = gcc
|
|||||||
CFLAGS = -Wall -ggdb
|
CFLAGS = -Wall -ggdb
|
||||||
SRCS = $(shell find ./src -type f -name "*.c")
|
SRCS = $(shell find ./src -type f -name "*.c")
|
||||||
BUILD_DIR = $(shell git rev-parse --show-toplevel)/build
|
BUILD_DIR = $(shell git rev-parse --show-toplevel)/build
|
||||||
OBJS = $(SRCS:.c=.o)
|
OBJS = $(patsubst ./src/%, $(BUILD_DIR)/%, $(SRCS:.c=.o))
|
||||||
|
|
||||||
all: $(BUILD_DIR)/cdo
|
all: $(BUILD_DIR)/cdo
|
||||||
|
|
||||||
$(BUILD_DIR)/cdo: $(OBJS)
|
$(BUILD_DIR)/cdo: $(OBJS)
|
||||||
@mkdir -p $(BUILD_DIR)
|
|
||||||
$(CC) $(CFLAGS) -o $@ $^
|
$(CC) $(CFLAGS) -o $@ $^
|
||||||
|
|
||||||
%.o: %.c
|
$(BUILD_DIR)/%.o: ./src/%.c
|
||||||
|
@mkdir -p $(dir $@)
|
||||||
$(CC) $(CFLAGS) -c $< -o $@
|
$(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(BUILD_DIR) $(OBJS)
|
rm -rf $(BUILD_DIR)
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user