add Makefile for cct lib
This commit is contained in:
parent
40002dfbb7
commit
193ad83e10
38
Makefile
Normal file
38
Makefile
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
CC=gcc
|
||||||
|
CFLAGS=-c -Wall -std=c99
|
||||||
|
SRCS = $(shell find . -maxdepth 1 -type f -name "*.c")
|
||||||
|
BUILD_DIR = $(shell git rev-parse --show-toplevel)/build
|
||||||
|
OBJS = $(patsubst ./%, $(BUILD_DIR)/%, $(SRCS:.c=.o))
|
||||||
|
AR=ar
|
||||||
|
ARFLAGS=rcs
|
||||||
|
INSTALL_DIR=/usr
|
||||||
|
LIB_DIR=$(INSTALL_DIR)/lib
|
||||||
|
INCLUDE_DIR=$(INSTALL_DIR)/include/cct
|
||||||
|
|
||||||
|
all: $(BUILD_DIR)/libcct.a
|
||||||
|
|
||||||
|
$(BUILD_DIR)/libcct.a: $(OBJS)
|
||||||
|
$(AR) $(ARFLAGS) $@ $^
|
||||||
|
|
||||||
|
$(BUILD_DIR)/%.o: ./%.c
|
||||||
|
@mkdir -p $(dir $@)
|
||||||
|
$(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
$(BUILD_DIR):
|
||||||
|
@mkdir -p $@
|
||||||
|
|
||||||
|
$(OBJS): | $(BUILD_DIR)
|
||||||
|
|
||||||
|
install: $(BUILD_DIR)/libcct.a
|
||||||
|
sudo mkdir -p $(INCLUDE_DIR)
|
||||||
|
sudo cp *.h $(INCLUDE_DIR)
|
||||||
|
sudo cp $(BUILD_DIR)/libcct.a $(LIB_DIR)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf $(BUILD_DIR)
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
sudo rm -f $(LIB_DIR)/libcct.a
|
||||||
|
sudo rm -f $(INCLUDE_DIR)/*.h
|
||||||
|
sudo rmdir $(INCLUDE_DIR)
|
||||||
|
rm -f $(BUILD_DIR)/libcct.a
|
||||||
Loading…
x
Reference in New Issue
Block a user