79 lines
2.6 KiB
Plaintext
79 lines
2.6 KiB
Plaintext
# ==============================================================================
|
||
# lib makefile
|
||
#FileName: makefile
|
||
#Author: xianfeng.du
|
||
#Data: 2022-08-10
|
||
#Description: extract libxxx.a to xxx.o
|
||
# ==============================================================================
|
||
VERSION = 1.00
|
||
|
||
# ==============================================================================
|
||
# include common makefile Rules
|
||
# ==============================================================================
|
||
#$(info "MAKE_DIR"=$(MAKE_DIR))
|
||
include $(MAKE_DIR)/makefile.config
|
||
include $(MAKE_DIR)/makefile.toolchain
|
||
|
||
# ==============================================================================
|
||
# files DIR definition
|
||
# ==============================================================================
|
||
#$(info DIR_LIB=$(DIR_LIB))
|
||
DIR_APE := $(DIR_LIB)/ape_spu
|
||
DIR_Common := $(DIR_LIB)/common
|
||
DIR_RFM := $(DIR_LIB)/rfm_spu
|
||
|
||
LIB_APE_DIRS := $(DIR_APE) $(DIR_Common)
|
||
LIB_RFM_DIRS := $(DIR_RFM) $(DIR_Common)
|
||
|
||
#Flatten files
|
||
LIB_ABS_APE_DIRS := $(foreach d,$(LIB_APE_DIRS),$(abspath $(d)))
|
||
LIB_APE_FILES := $(foreach d,$(LIB_ABS_APE_DIRS),$(wildcard $(d)/*.a))
|
||
LIB_ABS_RFM_DIRS := $(foreach d,$(LIB_RFM_DIRS),$(abspath $(d)))
|
||
LIB_RFM_FILES := $(foreach d,$(LIB_ABS_RFM_DIRS),$(wildcard $(d)/*.a))
|
||
|
||
# ==============================================================================
|
||
# Variables: Output Files
|
||
# ==============================================================================
|
||
APE_TARGET_DIR := $(DIR_LIB)/lib/ape_spu
|
||
RFM_TARGET_DIR := $(DIR_LIB)/lib/rfm_spu
|
||
|
||
# ==============================================================================
|
||
# Rules: extract
|
||
# ==============================================================================
|
||
$(APE_TARGET_DIR):
|
||
# @echo "# Creating directory $@"
|
||
mkdir -p $@
|
||
@for list in $(LIB_APE_FILES); \
|
||
do \
|
||
# echo $$list; \
|
||
ar -x $$list; \
|
||
mv *.o $@; \
|
||
done
|
||
|
||
$(RFM_TARGET_DIR):
|
||
# @echo "# Creating directory $@"
|
||
mkdir -p $@
|
||
@for list in $(LIB_RFM_FILES); \
|
||
do \
|
||
# echo $$list; \
|
||
ar -x $$list; \
|
||
mv *.o $@; \
|
||
done
|
||
|
||
# ==============================================================================
|
||
# Rules: Targets
|
||
# ==============================================================================
|
||
.DEFAULT_GOAL := all
|
||
.PHONY: build clean
|
||
all: build
|
||
|
||
build: $(APE_TARGET_DIR) $(RFM_TARGET_DIR)
|
||
# $(eval export APE_OBJ_LIB := $(wildcard $(APE_TARGET_DIR)/*.o))
|
||
# $(eval export RFM_OBJ_LIB := $(wildcard $(RFM_TARGET_DIR)/*.o))
|
||
# @echo "# APE_OBJ_LIB:$(APE_OBJ_LIB)"
|
||
# @echo "# RFM_OBJ_LIB:$(RFM_OBJ_LIB)"
|
||
|
||
clean:
|
||
@echo "deleted all files"
|
||
rm -rf $(BUILD_DIR)
|