104 lines
2.7 KiB
Makefile
104 lines
2.7 KiB
Makefile
#
|
|
#Copyright (c) 2019 Amlogic, Inc. All rights reserved.
|
|
#
|
|
#This source code is subject to the terms and conditions defined in below
|
|
#which is part of this source code package.
|
|
#
|
|
#Description:
|
|
#
|
|
#
|
|
# Copyright (C) 2019 Amlogic, Inc. All rights reserved.
|
|
#
|
|
# All information contained herein is Amlogic confidential.
|
|
#
|
|
# This software is provided to you pursuant to Software License
|
|
# Agreement (SLA) with Amlogic Inc ("Amlogic"). This software may be
|
|
# used only in accordance with the terms of this agreement.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification is strictly prohibited without prior written permission
|
|
# from Amlogic.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
|
|
.PHONY: CREATE_DIR clean all
|
|
|
|
OUT_DIR ?= .
|
|
$(info "OUT_DIR : $(OUT_DIR)")
|
|
|
|
ifeq ($(ARM), 0)
|
|
CFLAGS += -O2 -std=c99
|
|
else
|
|
CFLAGS += -DARM
|
|
endif
|
|
|
|
CFLAGS+= -fPIC -g
|
|
|
|
LDFLAGS =
|
|
|
|
#CFLAGS += -static
|
|
#CLFAGS += -Wno-implicit-function-declaration -Wno-format -Wl,--fatal-warning
|
|
#CLFAGS += -Wall -Werror
|
|
|
|
INC = -I./include -I.
|
|
|
|
|
|
CFLAGS += $(INC) $(DEFINES) $(PLATFORM_FLAGS)
|
|
ARFLAGS += rcs
|
|
|
|
TARGET = libamvenc_api.so
|
|
LDLIBS += -lm -lrt
|
|
# pthread
|
|
LDLIBS += -lpthread
|
|
LDFLAGS += -shared
|
|
|
|
INC = -I. -I./include
|
|
|
|
OBJDIR=obj
|
|
ALLOBJS=*.o
|
|
ALLDEPS=*.dep
|
|
ALLLIBS=*.a
|
|
RM=rm -f
|
|
MKDIR=mkdir -p
|
|
|
|
SOURCES = product.c \
|
|
vdi.c \
|
|
vdi_osal.c \
|
|
vpuapifunc.c \
|
|
vpuapi.c \
|
|
enc_driver.c \
|
|
debug.c
|
|
|
|
VPATH = .:
|
|
|
|
OBJECTNAMES=$(patsubst %.c,%.o, $(SOURCES))
|
|
OBJECTPATHS=$(addprefix $(OUT_DIR)/$(OBJDIR)/,$(notdir $(OBJECTNAMES)))
|
|
|
|
|
|
all: $(OBJECTNAMES)
|
|
$(CC) -o $(OUT_DIR)/$(TARGET) $(LDFLAGS) -Wl,-soname,$(TARGET) -Wl,-gc-section -Wl,--start-group $(OBJECTPATHS) $(LDLIBS) -Wl,--end-group
|
|
|
|
-include $(OBJECTPATHS:.o=.dep)
|
|
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -Wall -c $< -o $(OUT_DIR)/$(OBJDIR)/$@ -MD -MF $(OUT_DIR)/$(OBJDIR)/$(@:.o=.dep)
|
|
|
|
clean:
|
|
$(RM) $(OUT_DIR)/$(TARGET)
|
|
$(RM) $(OUT_DIR)/$(OBJDIR)/$(ALLOBJS)
|
|
$(RM) $(OUT_DIR)/$(OBJDIR)/$(ALLDEPS)
|
|
|
|
$(shell mkdir -p $(OUT_DIR))
|
|
$(shell mkdir -p $(OUT_DIR)/$(OBJDIR))
|