makefile 條件判斷用法和 自定函式用法簡單記錄
.PHONY:all clean
common_src= ptp_raw.c
axi_bus_src= axi_bus.c
lib=libfpga.a
axi_obj=$(axi_bus_src:.c=.o)
ptp_src= $(common_src) ptpd.c ptp_timer.c
ptp_obj=$(ptp_src:.c=.o)
lib_src=fpga_axi.c
lib_obj=$(lib_src:.c=.o)
ptp=ptpd
axi_bus=fpga
ifeq ($(CC),cc)
CC := gcc
AR := ar
endif
# ifeq ($(SHELL),/bin/sh)
# SHELL:=/bin/bash
# endif
ifneq ($(SHELL),/bin/bash)
status=no
endif
define test
echo $(1)
endef
all: $(lib) $(ptp) $(axi_bus)
$(lib): $(lib_obj)
ifdef status
$(call test,$(status))
endif
$(AR) -cr $@ $(filter %.o,$^)
$(lib_obj):$(lib_src)
$(CC) -Wall -Werror $(filter %.c,$^) -c
$(ptp):$(ptp_obj)
$(CC) -Wall -Werror -L./ $(filter %.o,$^) -o $@ -lfpga
$(axi_bus):$(axi_obj)
$(CC) -Wall -Werror -L./ $(filter %.o,$^) -lfpga -o $@
.c.o:
$(CC) -Wall -Werror -L./ $(filter %.c,$^) -lfpga -c
tags:
ctags -R
cscope -Rbq
clean:
rm -rf $(axi_bus) $(ptp) $(axi_obj) $(ptp_obj) $(lib) $(lib_obj) tags cscope*
相關文章
- MySQL函式-條件判斷函式MySql函式
- C# Debug和release判斷用法C#
- makefile--if條件判斷語句的語法與使用
- PHP 自定義函式用法及常用函式集合PHP函式
- Python assert斷言函式及用法Python函式
- PbootCMS判斷有無子選單各種條件判斷和標籤boot
- Python-split()函式用法及簡單實現Python函式
- mybatis條件判斷及動態sql的簡單擴充MyBatisSQL
- Lua——load和loadstring函式用法函式
- js函式中的if判斷和a==b判斷JS函式
- Grovvy-條件判斷
- 六、Vue條件判斷Vue
- StretchBlt函式和BitBlt函式的區別和用法函式
- abs函式用法函式
- Laravel 條件陣列 in 的用法Laravel陣列
- 分散式系列七: zookeeper簡單用法分散式
- Sanic response stream() 函式用法和示例函式
- Sanic response redirect() 函式用法和示例函式
- Sanic response raw() 函式用法和示例函式
- Sanic response file() 函式用法和示例函式
- Sanic response json() 函式用法和示例JSON函式
- Sanic response html() 函式用法和示例HTML函式
- Sanic response text() 函式用法和示例函式
- Python函式用法和底層分析Python函式
- exercise001_條件判斷
- 條件判斷語句 if case
- sudo用法記錄
- CyclicBarrier簡單用法
- realloc簡單用法
- C語言中函式printf()和函式scanf()的用法C語言函式
- Python range() 函式用法Python函式
- SSD-函式用法函式
- GetModuleFileName函式的用法函式
- Instr函式的用法函式
- SQL LEN()函式用法SQL函式
- Python排序函式用法Python排序函式
- PbootCMS整理分頁判斷進階各種條件判斷和標籤boot
- PbootCMS奇偶數判斷(隔行變色)各種條件判斷和標籤boot