67 lines
1.5 KiB
Makefile
67 lines
1.5 KiB
Makefile
OUT_DIR ?= .
|
|||
|
|
$(info "OUT_DIR : $(OUT_DIR)")
|
||
|
|
|
||
|
|
ifneq ($(buildroot), )
|
||
|
|
export CC=$(shell find $(buildroot)/host/bin -name '*gnu-gcc' )
|
||
|
|
export CXX=$(shell find $(buildroot)/host/bin -name '*gnu-g++' )
|
||
|
|
export AR=$(shell find $(buildroot)/host/bin -name '*gnu-ar' )
|
||
|
|
export SYSROOT=$(shell find $(buildroot) -name sysroot )
|
||
|
|
CFLAGS+= --sysroot=$(SYSROOT)
|
||
|
|
|
||
|
|
$(warning CC=$(CC))
|
||
|
|
endif
|
||
|
|
|
||
|
|
|
||
|
|
CFLAGS +=-fPIC
|
||
|
|
CFLAGS += -g
|
||
|
|
LDFLAGS += -lm -lrt -shared
|
||
|
|
|
||
|
|
SUFFIXES += .d
|
||
|
|
NODEPS := clean distclean
|
||
|
|
|
||
|
|
C_SRCS := $(wildcard *.c) $(wildcard **/*.c)
|
||
|
|
C_OBJS := $(C_SRCS:%.c=%.o)
|
||
|
|
|
||
|
|
CXX_SRCS := $(wildcard *.cpp) $(wildcard **/*.cpp)
|
||
|
|
CXX_OBJS := $(CXX_SRCS:%.cpp=%.o)
|
||
|
|
|
||
|
|
#DEPFILES := $(patsubst %c,%d,$(C_SRCS))
|
||
|
|
#DEPFILES += $(patsubst %cpp,%d,$(CXX_SRCS))
|
||
|
|
|
||
|
|
INC = -I./include -I.
|
||
|
|
TARGET = libjpegenc_api.so
|
||
|
|
|
||
|
|
all: $(TARGET)
|
||
|
|
|
||
|
|
#ifeq "$(findstring $(MAKECMDGOALS),$(NODEPS))" ""
|
||
|
|
# -include $(DEPFILES)
|
||
|
|
#endif
|
||
|
|
|
||
|
|
|
||
|
|
$(TARGET): $(C_OBJS) $(CXX_OBJS)
|
||
|
|
@echo " [LINK] $(OUT_DIR)/$@"
|
||
|
|
$(CXX) $(LDFLAGS) -Wl,-soname,$(TARGET) -o $(OUT_DIR)/$@ $(patsubst %, $(OUT_DIR)/%, $^)
|
||
|
|
|
||
|
|
%.o: %.c
|
||
|
|
@echo " [CXX] $<"
|
||
|
|
@$(CC) -c $(CFLAGS) $(INC) $< -o $(OUT_DIR)/$@
|
||
|
|
|
||
|
|
%.o: %.cpp
|
||
|
|
@echo " [CXX] $<"
|
||
|
|
@$(CXX) -c $(CFLAGS) $(INC) $< -o $(OUT_DIR)/$@
|
||
|
|
|
||
|
|
%.d: %.cpp
|
||
|
|
@echo " [DEP] $<"
|
||
|
|
@$(CXX) $(CFLAGS) -MM -MT "$(patsubst %.cpp,%.o,$<)" $< -MF $(OUT_DIR)/$@
|
||
|
|
|
||
|
|
%.d: %.c
|
||
|
|
@echo " [DEP] $<"
|
||
|
|
@$(CC) $(CFLAGS) -MM -MT "$(patsubst %.c,%.o,$<)" $< -MF $(OUT_DIR)/$@
|
||
|
|
|
||
|
|
clean:
|
||
|
|
# @rm -f $(DEPFILES)
|
||
|
|
@rm -f $(patsubst %, $(OUT_DIR)/%, $(C_OBJS))
|
||
|
|
@rm -f $(patsubst %, $(OUT_DIR)/%, $(CXX_OBJS))
|
||
|
|
@rm -f $(OUT_DIR)/$(TARGET)
|
||
|
|
|
||
|
|
$(shell mkdir -p $(OUT_DIR))
|