TencentOS-tiny/components/ota/tools/diff/Makefile

56 lines
1.1 KiB
Makefile

TARGET ?= diff
CC := gcc
LD := ld
OUT_ROOT := out
OBJ_DIR := obj
LIB_DIR := lib
TARGET_DIR := target
OUT_DIR := $(OUT_ROOT)/$(OBJ_DIR) $(OUT_ROOT)/$(LIB_DIR) $(OUT_ROOT)/$(TARGET_DIR)
NOECHO := @
INCDIRS := \
../../common/image \
../../common/lzma/3rdparty \
../../common/lzma/wrapper \
../../common/crc \
../../common/diff
SRCDIRS := \
../../common/image \
../../common/lzma/3rdparty \
../../common/lzma/wrapper \
../../common/crc \
../../common/diff \
src
INCLUDE := $(patsubst %, -I %, $(INCDIRS))
CFILES := $(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.c))
CFILENDIR := $(notdir $(CFILES))
COBJS := $(patsubst %, $(OUT_ROOT)/$(OBJ_DIR)/%, $(CFILENDIR:.c=.o))
OBJS := $(COBJS)
VPATH := $(SRCDIRS)
.PHONY: clean $(OUT_DIR)
$(TARGET): $(OUT_DIR) $(OBJS)
@echo "LD $(TARGET)"
$(NOECHO)$(CC) -o $(OUT_ROOT)/$(TARGET_DIR)/$(TARGET) $(OBJS)
$(OUT_DIR) :
@mkdir -p $@
$(COBJS) : $(OUT_ROOT)/$(OBJ_DIR)/%.o : %.c
@echo "CC $(notdir $<)"
$(NOECHO)$(CC) -Wall -c -O2 $(INCLUDE) -o $@ $<
clean:
@rm -rf $(OUT_ROOT)