SlideShare a Scribd company logo
1 of 106
Download to read offline
GNU Make, Autotools, 
CMake ⡆௓ 
Wen Liao
Disclaimer 
ᢞᙳ∦㈨ᩱⅭస⪅ᩚ⌮㈨ᩱཬಶேពぢ䠈ἄ᭷⥂ 
㐣ᄫㅽ☜ㄆ䠈ㄳㆫ⪅⮬⾜᩵㓃
┠ᶆ 
● ⡆௓GNU Make, Autotools, ࿴CMake 
○ Autotools࿴CMake㒊௷ᴟᗘ⡆௓
 ヨ⎔ቃ
Outline 
● GNU Make 
● Autotools 
● CMake 
● ཨ⪃㈨ᩱ 
● Q & A
஦ඛ‽ഛ 
● Ⅽ஢ᝍⓗ⏕άᖾ⚟⨾⁹䠈ㄳ☜ㄆ⦅㍴ჾᨭ᥼㢷 
♧✵ⓑᏐඖ࿴<tab>Ꮠඖ! 
geany: 
<tab> trailing space 
vim:
㜝᪊GNU Make 
● man make 
○ GNU make utility to maintain groups of programs 
○ ???
┤᥋┳౛Ꮚ 
ᛠ㯟⦅㆞?
⡆ႝ䠈gcc hello.c
ຍ☞䠈㏺ಶᛠ㯟⦅㆞?
GG! 㑏せຍinclude Path
㑣㯟ୖⓒಶ᷐᱌ᛠ㯟㎨䠛ᡴ฿Ṛ䠛
ᑙ᱌᷐᱌㔞኱⦅㆞ⓗၥ㢟 
● ᡃ⬟୙⬟ᡴ୍⾜ᣦ௧ᑵᖳᡃ⮬ື⦅㆞? 
● ᡃ⬟୙⬟ྈ⦅㆞᭦ື㐣ⓗ᷐᱌? 
○ ໟྵᨵ஢*.h᷐᱌ᑞ᠕*.c㒔ྍ௨⮬ື㔜⦅ 
● ྍ୙ྍ௨᭷ἄ᭷㟰άⓗ⦅㆞⤌ែ? 
○ タᐃdebug mode㑏᫝release mode 
○ タᐃ⦅㆞ჾ㑅㡯 
○ Compile timeᣦᐃᕧ㞟 
■ -DMY_VAR=1 
○ ...
Yes You Can!
㜝᪊GNU Make 
● man make 
○ The purpose of the make utility is to 
determine automatically which pieces of a 
large program need to be recompiled, 
and issue the commands to recompile 
them. 
○ ⓑヰ: ༠ຓ⦅㆞ⓗ᫬ೃỴᐃ 
■ 㑣㒊௷せ㔜⦅ 
■ ᣦᐃ㔜᪂⦅㆞ⓗືస
Hello Makefile 
target prerequisites 
recipe ୍ᐃせ<tab>㛤㢌! 
௨ୗ᝟ἣ᭳ᇳ⾜recipe 
● ᪂ቔ䠖target᷐᱌୙Ꮡᅾ 
○ ㏻ᖖtarget᫝୍ಶ᷐᱌䠈ణ᫝㏺୙᫝ᚲせᲄ௳ 
● ᭦᪂䠖prerequisites᷐᱌᭦ື᫬㛫ẚtarget᷐ 
᱌㑏せ᪂
ㄡ說Makefile୍ᐃせ⦅㆞᷐᱌? 
target prerequisites 
୍㛤ጞྈ᭷Makefile䠈ୗmakeฟ⌧㘒ㄗ說↓ἲ產⏕dep_file 
產⏕dep_fileᚋ᭳ᇳ⾜@echo Test 
產⏕test_fileᑵ୙ᇳ⾜@echo Test 
᭦᪂dep_file ᭦ື᫬㛫ᚋ᭳ᇳ⾜@echo Test 
recipe
ᶞ≪target 
● ➨୍ಶtarget✃Ⅽdefault target䠈ஓ᫝makeⓗ㐍ධ㯶䚹 
● @⾲♧୙せᢕᣦ௧༳ฟ䠈ྍ௨⦎⩦ᢕ௚ᣡᤶ┳┳䚹 
● $@ᒎ㛤ᚋ᫝targetⓗྡ✃
ㄳẚᑞୖ㡫䠈やᐹ㡰ᗎ䟿
ㆰᩝ 
● タᐃ 
○ VAR = VAL 
○ VAR := VAL 
○ VAL ?= VAL 
○ VAR += VAL 
○ ඼௚ᡃ୙᠐ⓗ 
● タᐃ᫬ᶵ 
○ ᷐᱌䠈㏻ᖖᑵ᫝Makefile內 
○ make ࿨௧ⓗཨᩝ 
○ ⎔ቃㆰᩝ 
● ྲྀ值 
○ $(VAR)
VAR = VAL 
VAR := VAL 
VAL ?= VAL 
VAR += VAL
୕ᑠ䠛
ㆰᩝタᐃ: 㐃ືᆺ = 
VAR1 ➨୍ḟタᐃ 
VAR2 ⓗ值࿴VAR1┦ྠ 
༳ฟVAR2ⓗ內ᐜ 
VAR1 ➨஧ḟタᐃ 
෌༳ฟVAR2ⓗ內ᐜ
ඳḟVAR2ⓗ內ᐜ䠈᭳㞉VAR1ᨵㆰ
ㆰᩝタᐃ䠖❧้⏕ᩀᆺ := 
ྈᨵ㏺⾜䠈ᢕ = ᨵᡂ :=
ㆰᩝタᐃ: 㡸タᆺ ?=
ㆰᩝタᐃ䠖ຍ☞ᆺ +=
ᑠ⤖ 
タᐃ ⌮ゎ᪉ᘧ 
VAR = VAL 㐃ືᙧ 
VAR := VAL ❧༶⏕ᩀᙧ 
VAL ?= VAL 㡸タᙧ 
VAR += VAL ຍ☞ᙧ 
඼௚ᡃ୙᠐ⓗ ୙᠐ⓗ୙▱㐨ᛠ㯟ゎ㔚
內ᘓㆰᩝ (⠇㗴) 
ྡ✃ ព⩏ 
$@ targetྡ✃ 
$^ ᡤ᭷ⓗprerequisitesྡ✃ 
$< ➨୍ಶprerequisiteྡ✃ 
⏝㏵அ୍䠖 
target: dep1.c inc.h test.h 
<tab> gcc -o $@ $< 
$? ẚtarget㑏᪂ⓗprerequisitesྡ✃
⠊౛ 
タᐃせ產⏕ⓗᇳ⾜᷐ 
タᐃせ⦅㆞ⓗ⛬ᘧ᷐ 
⦅㆞ཨᩝ 
ᒎ㛤ㆰᩝ䠈౫ᒎ㛤ⓗ 
ㆰᩝ⦅㆞᷐᱌ 
Ύ㝖產⏕ⓗ᷐᱌つ๎
┠㗴ୗ᭷ཎጞ᷐࿴Makefile 
⦅㆞᭷ᒎ㛤ㆰᩝ୪ᣦᐃᑞ 
᠕᷐᱌┠㗴ୗ᭷ཎጞ᷐࿴ 
Makefile 
ᇳ⾜᷐ᕬ⥂產⏕ 
Ύ㝖ᇳ⾜᷐୪㔜᪂⦅㆞
ᲄ௳ุ᪇⠊౛ 
LOGNAME᫝⎔ቃㆰᩝ!
LOGNAME᫝⎔ቃㆰᩝ! 
ே⫗タᐃLOGNAME內ᐜ
function⠇㗴 
● ㄒἲ 
○ $(ภᩝྡ✃ ཨᩝ) 
ศ㢮 ภᩝྡ✃ 說᫂ ⠊౛ (ㄳ㈞฿Makefileᐿ !) 
イᜥ 
$(waring イᜥ) 㢷♧㆙࿌イᜥ௨ཬᑞ᠕ⓗ⾜⹰ $(warning Your gcc version is too old) 
$(error イᜥ) 㢷♧㘒ㄗイᜥ䚸ᑞ᠕ⓗ⾜⹰ᚋ⤖᮰ 
make 
conf=my_file 
$(error file $(conf) not found) 
Ꮠ୵ 
⹦⌮ 
$(subst from,to,⹦⌮ᩥᏐ) Ꮠ୵᭰᥮,ᚋ㠃✵ⓑⅭཨᩝⓗ୍㒊௷ $(warning $(subst .c,.o,test.c hello.c)) 
$(patsubst pattern,᭰᥮ᩥᏐ,⹦⌮ᩥᏐ) patternᏐ୵᭰᥮,ᚋ㠃✵ⓑⅭཨᩝⓗ୍ 
㒊௷䚹%௦⾲௵ព㛗ᗘⓗ௵ពᏐඖ䚹 
$(warning $(patsubst t%.c,a%.o,test.c 
hello.c)) 
඼௚ $(shell ࿨௧) ᇳ⾜࿨௧䠈ᅇബᩥᏐ⤖ᯝ $(warning $(shell ls /))
㐃⧰ᢏ 
● OBJS=$(patsubst %.c,%.o,$(shell ls *.c))
ᖖぢ㘒ㄗ䠖ẗಶrecipe ᇳ⾜≪ែ୙ᘏ⧰ 
㐀ᡂⓗᝒ๻ 
⠊౛䠖ᘓ❧୍ಶ┠㗴䠈㐍ධヱ┠㗴๓ᚋ 
༳ฟ┠๓ᕤస┠㗴☜ㄆษ᥮┠㗴ᡂຌ
㛤⊼䠈ἄ᭷ษ᥮฿test┠㗴
✽Ꮿ┳ⓗ䠈ྍ௨┳฿make⹦⌮recipeⓗ 
᪉ᘧ᫝產⏕᪂ⓗprocess䠈ᇳ⾜recipe䠈 
↛ᚋ⤖᮰ヱprocess 
$ strace -f make 
vfork(Process 8949 attached (waiting for parent) 
Process 8949 resumed (parent 8947 ready) 
) = 8949 
[pid 8949] execve("/bin/mkdir", ["mkdir", "-p", "test"], 
[/* 42 vars */]) = 0 
<... wait4 resumed> [{WIFEXITED(s) && 
WEXITSTATUS(s) == 0}], 0, NULL) = 8949 
--- SIGCHLD (Child exited) @ 0 (0) ---
ᑠ⤖ 
● GNU make: ༠ຓ⦅㆞ⓗ᫬ೃỴᐃ 
○ 㑣㒊௷せ㔜⦅ 
○ ᣦᐃ㔜᪂⦅㆞ⓗືస 
● ᡤ௨ᑃMakefile䠈୺せᥥ㏙ 
○ 產⏕᷐᱌࿴ཎጞ᷐ⓗ㜝⫃ᛶ 
○ ␜㏺ல᷐᱌᭦ື᫬㛫㜝ಀ᭷ㆰ໬ⓗ᫬ೃ䠈ヱ 
೴ொ㯟஦?
⿵඘1: ἄ᭷Makefileⓗmake 
┠๓┠㗴ἄ᭷Makefile 
↷ᶏmakeქქ 
↷ᶏmake++
Implicit Rules 
୕ᑠ䠛
make -p 
CPP㏺㑔ྍ୙᫝C++䠈᭷ 
⯆㊃man cpp 
㑏グᚓㆰᩝႫ䠛
make -p (᥋㜝䠅 
make᭷內ᘓ㡸タⓗ⹦⌮つ๎䠈ㄳ࿴ୖ㡫ㆰᩝ௨ཬ๓㠃ⓗㄒ 
ἲᑞ↷
⿵඘2: .PHONY 
⠊౛Makefile䠈ໟྵ產⏕binary࿴Ύ㝖binary
⋵┳┳ 
Ύ㝖binary 
產⏕᪂᷐䠈ྡ✃Ⅽclean 
᷐᱌cleanᏑᅾ䠈↓ἲΎ㝖binary 
ᚲ㡲฽㝖᷐᱌cleanᡯ⬟ᇳ⾜target
ศᯒ 
● recipe ⓗᇳ⾜࿴target௨ཬprerequisites᷐᱌ 
᫬㛫㈨イ᭷㜝 
● cleanⓗ┠ⓗ୪୙᫝せ產⏕clean᷐᱌䠈ஓᑵ᫝ 
說targetᇳ⾜recipe࿴target᫝ྰⅭ᷐᱌↓㜝
.PHONY 
● ࿴᷐᱌↓㜝ⓗtarget 
● ⏝ἲ 
.PHONY: ௨✵ⓑ㝸㛤ⓗTARGETྡ✃ 
● ⠊౛ 
.PHONY: clean install
ಟṇ 
.PHONYᅾ㏺㑔
┳┳ᩀᯝ
ᘏఙ㢟ᮦ/ᅇᐙຌㄢ 
● ዴఱ⮬ື㐍ධ୙ྠ┠㗴Make? 
● ዴఱ⮬ື產⏕C source᷐࿴Header᷐᱌rule? 
○ hello.c includes f1.h, f2.h䠈ඳኳᚋཪຍධf3.h䚹ᡭືᨵ 
ᚇ⣼䚹 
● ᭷ἄ᭷㎨ἲᢕᡤ᭷ⓗタᐃᨺᅾ᷐᱌內⤥ 
Makefile include?
๦ୗᑵ᫝⣽⠇䠈ㄳ⮬⾜ 
┳᭩䠈つ๸タィ⮬ᕫⓗ 
ᐿ⩦ㄢ䚹
Outline 
● GNU Make 
● Autotools 
● CMake 
● ཨ⪃㈨ᩱ 
● Q & A
」⩦䠖GNU Makeᑠ⤖ 
● GNU make: ༠ຓ⦅㆞ⓗ᫬ೃỴᐃ 
○ 㑣㒊௷せ㔜⦅ 
○ ᣦᐃ㔜᪂⦅㆞ⓗືస 
● ᡤ௨ᑃMakefile䠈୺せᥥ㏙ 
○ 產⏕᷐᱌࿴ཎጞ᷐ⓗ㜝⫃ᛶ 
○ ␜㏺ல᷐᱌᭦ື᫬㛫㜝ಀ᭷ㆰ໬ⓗ᫬ೃ䠈ヱ 
೴ொ㯟஦?
㑣㯟᭳ொ㯟㑏せ᭷autotools 
● ㊬ᖹྎⓗၥ㢟 
○ memset v.s. bzero 
○ ㊰ᚏ䚸᷐᱌୙ྠ 
○ system call୙ྠ 
● ྠᖹྎ 
○ ภᘧᗜ∧ᮏ୙ྠ䠈prototypeྍ⬟୙ྠ 
● ┦౫ᛶၥ㢟
autotools 
● autotoolⓗ┠ⓗᑵ᫝產⏕ᖹྎୖྍ௨⦅㆞ⓗ⎔ 
ቃ 
● Ⅽ஢㐩฿㏺ᶏⓗ┠ⓗ䠈⣔⤫㟂せ೴฿ୗ㠃ⓗຌ 
⬟ 
○ ᷙ查ᖹྎ⎔ቃ 
○ 產⏕Makefile
ὶ⛬ 
http://en.wikipedia.org/wiki/GNU_build_system#mediaviewer/File:Autoconf-automake-process.svg
http://en.wikipedia.org/wiki/GNU_build_system#mediaviewer/File:Autoconf-automake-process.svg
http://en.wikipedia.org/wiki/GNU_build_system#mediaviewer/File:Autoconf-automake-process.svg
ᚇ」㞯䠛ཱྀ㢌ㅮᑵ᫝ 
1. ⮬ᖿᡈ㊝ᕤලᚋ產⏕᭦ືconfigure. 
ac䠈࿴ᑃMakefile.am 
2. ㊝ᕤල產⏕configure, Makefile.in࿴ 
config.in 
3. ㊝configure䠈產⏕Makefile࿴config.h 
4. make; make install
㑏୙᠐䠛౗┳⠊౛ 
఼せᑃⓗᮾす
autoreconfᖳ఼࿧ྉ┦㜝ᕤ 
ලዴaclocal, autoconf, 
automake➼
產⏕ฟ౗ⓗ᷐᱌
產⏕ฟ౗ⓗ᷐᱌
configure.ac 
# せồ∧ᮏ 
AC_PREREQ([2.68]) 
# ዓ௳㈨イ 
AC_INIT([Test_Autotools], [0], [test]) 
# ⤥Automake㈨イ䠈foreign⾲♧୙⏝GNUᶆ‽ 
# ஓᑵ᫝୙㟂せchangelog, AUTHORS➼᷐᱌ 
AM_INIT_AUTOMAKE([foreign -Wall -Werror])
configure.ac 
# config᷐᱌ 
AC_CONFIG_HEADERS([config.h]) 
# ᮏḟdemo౑⏝ static library 
AC_PROG_RANLIB 
# Makefile ㊰ᚏ 
AC_CONFIG_FILES([Makefile src/Makefile 
libs/Makefile])
configure.ac 
# ᦏᑜCC ⦅㆞ჾ 
AC_PROG_CC 
# ⤖᮰config䠈㛤ጞ產⏕┦㜝᷐᱌ 
AC_OUTPUT
Makfile.am 
SUBDIRS = libs src
libs/Makefile.am 
# ᣦᐃinclude㊰ᚏ 
AM_CFLAGS = -I../include 
# 產⏕liba.a ࿴libb.b 
# lib_௦⾲Ᏻ⿶᫬せᨺᅾ$(prefix)/lib୰ 
# 㡸タprefix=/usr/local 
lib_LIBRARIES = liba.a libb.a
libs/Makefile.am 
# 產⏕liba.aⓗ┦౫᷐᱌ 
liba_a_SOURCES = liba.c liba.h 
# 產⏕libb.aⓗ┦౫᷐᱌ 
libb_a_SOURCES = libb.c libb.h 
# Ᏻ⿶฿$(prefix)/includeⓗ᷐᱌ 
include_HEADERS = ../include/liba.h .. 
/include/libb.h
src/Makefile.am 
# ᣦᐃlinkီலlibrary 
LDADD = ../libs/liba.a ../libs/libb.a 
# ᣦᐃinclude㊰ᚏ 
AM_CFLAGS = -I../include
src/Makefile.am 
# Ᏻ⿶฿$(prefix)/bin 
bin_PROGRAMS = test 
# 產⏕ⓗ᷐᱌┦౫ⓗ᷐᱌ 
test_SOURCES = test.c
● configure 
● make 
● make install 
● make dist # ⮬ືᖳ఼ᡴໟtarball
ᑠ⤖ 
● ౑⏝autotools㟂せ⮬ᕫᑃ 
○ configure.ac 
○ Makefile.am 
● ୖ㠃ⓗ⠊౛ᴟᗘ⡆␎
ᘏఙ㢟ᮦ/ᅇᐙຌㄢ 
● ዴఱ產⏕shared library? 
● ᫝ྰ᭷᭦⫄᫂ⓗlibrary產⏕᪉ᘧ䠛 
○ hint: libtools
๦ୗᑵ᫝⣽⠇䠈ㄳ⮬⾜ 
┳᭩䠈つ๸タィ⮬ᕫⓗ 
ᐿ⩦ㄢ䚹
Outline 
● GNU Make 
● Autotools 
● CMake 
● ཨ⪃㈨ᩱ 
● Q & A
㜝᪊CMake 
CMake᫝1999ᖺ᥎ฟⓗ㛤※⮬⏤㌾㧓ィ␓䠈┠ⓗ 
᫝ᥦ౪୙ྠᖹྎஅ㛫ඹྠⓗ⦅㆞⎔ቃ䚹 
≉ᛶ: 
● ᨭ᥼୙ྠᖹྎ 
● ྍ௨ᑘBuild࿴ཎᮏ⛬ᘧ☞ศ㛤 
○ out-place build 
○ in-place build 
● ᨭ᥼cacheຍᛌ⦅㆞㏿ᗘ
ὶ⛬ 
● ᧝ᑃCMakeLists.txt 
● ౑⏝⪅ᇳ⾜cmake 
○ 產⏕ヱᖹྎᑞ᠕ⓗ⦅㆞⎔ቃ᷐᱌ዴMakefile➼ 
● ౑⏝⪅ᇳ⾜ᖹྎୖⓗ⦅㆞᪉ἲ 
○ ዴmake 
● ౑⏝⪅ᇳ⾜cmake installᏳ⿶㌾㧓䚹
⠊౛ 
఼せᑃⓗᮾす
CMakeLists.txt 
# ∧ᮏ㟂ồ 
cmake_minimum_required(VERSION 2.8) 
# ఼ⓗProjectྡ✃ 
project(testcmake)
CMakeLists.txt 
# タᐃㆰᩝ 
set(SRC_DIR src) 
set(LIB_DIR libs) 
set(INC_DIR include) 
# Compile flags 
set(CMAKE_C_FLAGS "-Wall -Werror")
CMakeLists.txt 
# ᣦ௧include┠㗴 
include_directories(${INC_DIR}) 
# ࿌ッCMakeせཤୗิⓗ┠㗴⦅㆞ 
add_subdirectory(${SRC_DIR}) 
add_subdirectory(${LIB_DIR}) 
add_subdirectory(${INC_DIR})
libs/CMakeLists.txt 
# タᐃㆰᩝ䠈ᣦᐃlibrary┦౫᪊ီಶ᷐᱌ 
set(liba_SRCS liba.c) 
set(libb_SRCS libb.c) 
# ᣦᐃ⦅㆞ᆺᘧⅭshared library 
add_library(a SHARED ${liba_SRCS}) 
add_library(b SHARED ${libb_SRCS})
libs/CMakeLists.txt 
# Ᏻ⿶᱁ᘧ 
# install(TARGETS ภᘧᗜྡ✃ LIBRARY 
# DESTINATION Ᏻ⿶┠㗴㊰ᚏ) 
install(TARGETS a b LIBRARY 
DESTINATION lib)
src/CMakeLists.txt 
# タᐃㆰᩝ 
set(test_SRCS test.c) 
# 產⏕ᇳ⾜᷐ 
add_executable(${PROJECT_NAME} 
${test_SRCS}) 
# ᣦ௧linkภᘧᗜ 
target_link_libraries(${PROJECT_NAME} a b)
src/CMakeLists.txt 
# Ᏻ⿶᱁ᘧ 
# install(TARGETS ᇳ⾜᷐ྡ✃ 
# DESTINATION Ᏻ⿶┠㗴㊰ᚏ) 
install(TARGETS ${PROJECT_NAME} 
DESTINATION bin)
include/CMakeLists.txt 
# install(FILES Header᷐ྡ✃ 
# DESTINATION Ᏻ⿶┠㗴㊰ᚏ) 
install(FILES liba.h libb.h 
DESTINATION include)
out-place build
ᑠ⤖ 
● ఼せᑃCMakeLists.txt䠈ᣦᐃせ㐍ධီல┠㗴 
⦅㆞䠈ᡈ᫝┦㜝ⓗ᷐᱌௨ཬ㡸ᮇ⦅㆞࿴Ᏻ⿶ⓗ 
ᆺែ 
● ୖ㠃ⓗ⠊౛ᴟᗘ⡆␎
ᘏఙ㢟ᮦ/ᅇᐙຌㄢ 
● ヲ⣽ㄒἲ 
○ ㆰᩝタᐃ 
○ ᲄ௳タᐃ 
○ ᕧ㞟࿴ภᩝ 
● ᡴໟ᪉ᘧ
๦ୗᑵ᫝⣽⠇䠈ㄳ⮬⾜ 
┳᭩䠈つ๸タィ⮬ᕫⓗ 
ᐿ⩦ㄢ䚹
Outline 
● GNU Make 
● Autotools 
● CMake 
● ཨ⪃㈨ᩱ 
● Q & A
ཨ⪃㈨ᩱ 
● GNU Makeᡭ෉ 
○ http://www.gnu.org/software/make/manual/make.html 
● GNU Make ᛌ㏿ཨ⪃ 
○ http://www.gnu.org/software/make/manual/make. 
html#Quick-Reference 
● GNU Automakeᡭ෉ 
○ http://www.gnu. 
org/software/automake/manual/automake.html 
● Alexandre Duret Lutz: Autotools Tutorial (኱ 
᥎) 
○ https://www.lrde.epita.fr/~adl/autotools.html
ཨ⪃㈨ᩱ 
● CMake Wiki 
○ http://www.cmake.org/Wiki/CMake 
● CMake-tutorial (኱᥎) 
○ https://github.com/TheErk/CMake-tutorial
Outline 
● GNU Make 
● Autotools 
● CMake 
● ཨ⪃㈨ᩱ 
● Q & A

More Related Content

What's hot

UVM Ral model usage
UVM Ral model usageUVM Ral model usage
UVM Ral model usageParth Pandya
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device driversHoucheng Lin
 
ASIC Design Flow | Physical Design | VLSI
ASIC Design Flow | Physical Design | VLSI ASIC Design Flow | Physical Design | VLSI
ASIC Design Flow | Physical Design | VLSI Jayant Suthar
 
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)Simen Li
 
20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)Kentaro Ebisawa
 
Unit 4-input-output organization
Unit 4-input-output organizationUnit 4-input-output organization
Unit 4-input-output organizationvishal choudhary
 
Linux Initialization Process (2)
Linux Initialization Process (2)Linux Initialization Process (2)
Linux Initialization Process (2)shimosawa
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!Mr. Vengineer
 
Systems@Scale 2021 BPF Performance Getting Started
Systems@Scale 2021 BPF Performance Getting StartedSystems@Scale 2021 BPF Performance Getting Started
Systems@Scale 2021 BPF Performance Getting StartedBrendan Gregg
 
TFLite NNAPI and GPU Delegates
TFLite NNAPI and GPU DelegatesTFLite NNAPI and GPU Delegates
TFLite NNAPI and GPU DelegatesKoan-Sin Tan
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料一路 川染
 
Lec12 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- P6, Netbur...
Lec12 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- P6, Netbur...Lec12 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- P6, Netbur...
Lec12 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- P6, Netbur...Hsien-Hsin Sean Lee, Ph.D.
 
Complete ASIC design flow - VLSI UNIVERSE
Complete ASIC design flow - VLSI UNIVERSEComplete ASIC design flow - VLSI UNIVERSE
Complete ASIC design flow - VLSI UNIVERSEVLSIUNIVERSE
 
Spi master core verification
Spi master core verificationSpi master core verification
Spi master core verificationMaulik Suthar
 
UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology TutorialArrow Devices
 

What's hot (20)

UVM Ral model usage
UVM Ral model usageUVM Ral model usage
UVM Ral model usage
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
ASIC Design Flow | Physical Design | VLSI
ASIC Design Flow | Physical Design | VLSI ASIC Design Flow | Physical Design | VLSI
ASIC Design Flow | Physical Design | VLSI
 
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)
 
20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)
 
Unit 4-input-output organization
Unit 4-input-output organizationUnit 4-input-output organization
Unit 4-input-output organization
 
Embedded C programming session10
Embedded C programming  session10Embedded C programming  session10
Embedded C programming session10
 
Linux Initialization Process (2)
Linux Initialization Process (2)Linux Initialization Process (2)
Linux Initialization Process (2)
 
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platformLinux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
 
Systems@Scale 2021 BPF Performance Getting Started
Systems@Scale 2021 BPF Performance Getting StartedSystems@Scale 2021 BPF Performance Getting Started
Systems@Scale 2021 BPF Performance Getting Started
 
Verilog HDL CODES
Verilog HDL CODES Verilog HDL CODES
Verilog HDL CODES
 
TFLite NNAPI and GPU Delegates
TFLite NNAPI and GPU DelegatesTFLite NNAPI and GPU Delegates
TFLite NNAPI and GPU Delegates
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
 
Lec12 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- P6, Netbur...
Lec12 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- P6, Netbur...Lec12 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- P6, Netbur...
Lec12 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- P6, Netbur...
 
Linux DMA Engine
Linux DMA EngineLinux DMA Engine
Linux DMA Engine
 
Complete ASIC design flow - VLSI UNIVERSE
Complete ASIC design flow - VLSI UNIVERSEComplete ASIC design flow - VLSI UNIVERSE
Complete ASIC design flow - VLSI UNIVERSE
 
Spi master core verification
Spi master core verificationSpi master core verification
Spi master core verification
 
GDB Rocks!
GDB Rocks!GDB Rocks!
GDB Rocks!
 
UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology Tutorial
 

Similar to GNU Make, Autotools, CMake 簡介

CEDEC2014 Live Coding in C++
CEDEC2014 Live Coding in C++CEDEC2014 Live Coding in C++
CEDEC2014 Live Coding in C++Seiya Ishibashi
 
Coding with Vim
Coding with VimCoding with Vim
Coding with VimEnzo Wang
 
GDG DevFest Kyoto 2014 これからのGoの話をしよう
GDG DevFest Kyoto 2014 これからのGoの話をしようGDG DevFest Kyoto 2014 これからのGoの話をしよう
GDG DevFest Kyoto 2014 これからのGoの話をしようSatoshi Noda
 
Introduction of unit test on android kernel
Introduction of unit test on android kernelIntroduction of unit test on android kernel
Introduction of unit test on android kernelJohnson Chou
 
Compiler design notes phases of compiler
Compiler design notes phases of compilerCompiler design notes phases of compiler
Compiler design notes phases of compilerovidlivi91
 
Tomáš Čorej: Configuration management & CFEngine3
Tomáš Čorej: Configuration management & CFEngine3Tomáš Čorej: Configuration management & CFEngine3
Tomáš Čorej: Configuration management & CFEngine3Jano Suchal
 
Practical SystemTAP basics: Perl memory profiling
Practical SystemTAP basics: Perl memory profilingPractical SystemTAP basics: Perl memory profiling
Practical SystemTAP basics: Perl memory profilingLubomir Rintel
 
Unix shell talk - RIT SSE
Unix shell talk - RIT SSEUnix shell talk - RIT SSE
Unix shell talk - RIT SSEMatt Mokary
 
Getting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformGetting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformJean-Michel Bouffard
 
Basicsof c make and git for a hello qt application
Basicsof c make and git for a hello qt applicationBasicsof c make and git for a hello qt application
Basicsof c make and git for a hello qt applicationDinesh Manajipet
 
Not Your Fathers C - C Application Development In 2016
Not Your Fathers C - C Application Development In 2016Not Your Fathers C - C Application Development In 2016
Not Your Fathers C - C Application Development In 2016maiktoepfer
 
Trace kernel code tips
Trace kernel code tipsTrace kernel code tips
Trace kernel code tipsViller Hsiao
 
TinyMCE Editor - Rhythmyx: Powerful Website Management Platform
TinyMCE Editor - Rhythmyx: Powerful Website Management PlatformTinyMCE Editor - Rhythmyx: Powerful Website Management Platform
TinyMCE Editor - Rhythmyx: Powerful Website Management PlatformPercussion Software
 
Unix is my IDE
Unix is my IDEUnix is my IDE
Unix is my IDEtkramar
 
WordPress Plugin Development 201
WordPress Plugin Development 201WordPress Plugin Development 201
WordPress Plugin Development 201ylefebvre
 
Types - slice, map, new, make, struct - Gopherlabs
Types - slice, map, new, make, struct - Gopherlabs Types - slice, map, new, make, struct - Gopherlabs
Types - slice, map, new, make, struct - Gopherlabs sangam biradar
 
Andriy Shalaenko - GO security tips
Andriy Shalaenko - GO security tipsAndriy Shalaenko - GO security tips
Andriy Shalaenko - GO security tipsOWASP Kyiv
 

Similar to GNU Make, Autotools, CMake 簡介 (20)

CEDEC2014 Live Coding in C++
CEDEC2014 Live Coding in C++CEDEC2014 Live Coding in C++
CEDEC2014 Live Coding in C++
 
Coding with Vim
Coding with VimCoding with Vim
Coding with Vim
 
GDG DevFest Kyoto 2014 これからのGoの話をしよう
GDG DevFest Kyoto 2014 これからのGoの話をしようGDG DevFest Kyoto 2014 これからのGoの話をしよう
GDG DevFest Kyoto 2014 これからのGoの話をしよう
 
Introduction of unit test on android kernel
Introduction of unit test on android kernelIntroduction of unit test on android kernel
Introduction of unit test on android kernel
 
Compiler design notes phases of compiler
Compiler design notes phases of compilerCompiler design notes phases of compiler
Compiler design notes phases of compiler
 
Tomáš Čorej: Configuration management & CFEngine3
Tomáš Čorej: Configuration management & CFEngine3Tomáš Čorej: Configuration management & CFEngine3
Tomáš Čorej: Configuration management & CFEngine3
 
Kick my mouse away
Kick my mouse awayKick my mouse away
Kick my mouse away
 
Practical SystemTAP basics: Perl memory profiling
Practical SystemTAP basics: Perl memory profilingPractical SystemTAP basics: Perl memory profiling
Practical SystemTAP basics: Perl memory profiling
 
Unix shell talk - RIT SSE
Unix shell talk - RIT SSEUnix shell talk - RIT SSE
Unix shell talk - RIT SSE
 
Getting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformGetting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platform
 
Basicsof c make and git for a hello qt application
Basicsof c make and git for a hello qt applicationBasicsof c make and git for a hello qt application
Basicsof c make and git for a hello qt application
 
Not Your Fathers C - C Application Development In 2016
Not Your Fathers C - C Application Development In 2016Not Your Fathers C - C Application Development In 2016
Not Your Fathers C - C Application Development In 2016
 
Trace kernel code tips
Trace kernel code tipsTrace kernel code tips
Trace kernel code tips
 
Autotools
AutotoolsAutotools
Autotools
 
Go. Why it goes
Go. Why it goesGo. Why it goes
Go. Why it goes
 
TinyMCE Editor - Rhythmyx: Powerful Website Management Platform
TinyMCE Editor - Rhythmyx: Powerful Website Management PlatformTinyMCE Editor - Rhythmyx: Powerful Website Management Platform
TinyMCE Editor - Rhythmyx: Powerful Website Management Platform
 
Unix is my IDE
Unix is my IDEUnix is my IDE
Unix is my IDE
 
WordPress Plugin Development 201
WordPress Plugin Development 201WordPress Plugin Development 201
WordPress Plugin Development 201
 
Types - slice, map, new, make, struct - Gopherlabs
Types - slice, map, new, make, struct - Gopherlabs Types - slice, map, new, make, struct - Gopherlabs
Types - slice, map, new, make, struct - Gopherlabs
 
Andriy Shalaenko - GO security tips
Andriy Shalaenko - GO security tipsAndriy Shalaenko - GO security tips
Andriy Shalaenko - GO security tips
 

More from Wen Liao

Hello world 的一生
Hello world 的一生Hello world 的一生
Hello world 的一生Wen Liao
 
Notes on oracle solaris 11.3 linkers and libraries guide chapter one
Notes on oracle solaris 11.3 linkers  and libraries guide  chapter oneNotes on oracle solaris 11.3 linkers  and libraries guide  chapter one
Notes on oracle solaris 11.3 linkers and libraries guide chapter oneWen Liao
 
開放街圖 自助旅行的好幫手
開放街圖   自助旅行的好幫手開放街圖   自助旅行的好幫手
開放街圖 自助旅行的好幫手Wen Liao
 
GNU AS簡介
GNU AS簡介GNU AS簡介
GNU AS簡介Wen Liao
 
UPnP 1.0 簡介
UPnP 1.0 簡介UPnP 1.0 簡介
UPnP 1.0 簡介Wen Liao
 
故事:自由軟體和 Richard Stallman
故事:自由軟體和 Richard Stallman故事:自由軟體和 Richard Stallman
故事:自由軟體和 Richard StallmanWen Liao
 
Hello world在那邊?背景說明
Hello world在那邊?背景說明Hello world在那邊?背景說明
Hello world在那邊?背景說明Wen Liao
 
A successful git branching model 導讀
A successful git branching model 導讀A successful git branching model 導讀
A successful git branching model 導讀Wen Liao
 
GNU ld的linker script簡介
GNU ld的linker script簡介GNU ld的linker script簡介
GNU ld的linker script簡介Wen Liao
 
Trace 程式碼之皮
Trace 程式碼之皮Trace 程式碼之皮
Trace 程式碼之皮Wen Liao
 
淺談Debian套件打包
淺談Debian套件打包淺談Debian套件打包
淺談Debian套件打包Wen Liao
 
A Brief Introduction to Regular Expression with Python 2.7.3 Standard Library
A Brief Introduction to Regular Expression with Python 2.7.3 Standard LibraryA Brief Introduction to Regular Expression with Python 2.7.3 Standard Library
A Brief Introduction to Regular Expression with Python 2.7.3 Standard LibraryWen Liao
 
GNU gettext簡介 - 以C語言為範例
GNU gettext簡介 - 以C語言為範例GNU gettext簡介 - 以C語言為範例
GNU gettext簡介 - 以C語言為範例Wen Liao
 
Guide to GStreamer Application Development Manual: CH1 to CH10
Guide to GStreamer Application Development Manual: CH1 to CH10Guide to GStreamer Application Development Manual: CH1 to CH10
Guide to GStreamer Application Development Manual: CH1 to CH10Wen Liao
 
Testing in python 2.7.3
Testing in python 2.7.3Testing in python 2.7.3
Testing in python 2.7.3Wen Liao
 
從組裝軟體中談談軟體發展管理
從組裝軟體中談談軟體發展管理從組裝軟體中談談軟體發展管理
從組裝軟體中談談軟體發展管理Wen Liao
 
軟體組裝心得分享
軟體組裝心得分享軟體組裝心得分享
軟體組裝心得分享Wen Liao
 
Introduce to Linux command line
Introduce to Linux command lineIntroduce to Linux command line
Introduce to Linux command lineWen Liao
 

More from Wen Liao (18)

Hello world 的一生
Hello world 的一生Hello world 的一生
Hello world 的一生
 
Notes on oracle solaris 11.3 linkers and libraries guide chapter one
Notes on oracle solaris 11.3 linkers  and libraries guide  chapter oneNotes on oracle solaris 11.3 linkers  and libraries guide  chapter one
Notes on oracle solaris 11.3 linkers and libraries guide chapter one
 
開放街圖 自助旅行的好幫手
開放街圖   自助旅行的好幫手開放街圖   自助旅行的好幫手
開放街圖 自助旅行的好幫手
 
GNU AS簡介
GNU AS簡介GNU AS簡介
GNU AS簡介
 
UPnP 1.0 簡介
UPnP 1.0 簡介UPnP 1.0 簡介
UPnP 1.0 簡介
 
故事:自由軟體和 Richard Stallman
故事:自由軟體和 Richard Stallman故事:自由軟體和 Richard Stallman
故事:自由軟體和 Richard Stallman
 
Hello world在那邊?背景說明
Hello world在那邊?背景說明Hello world在那邊?背景說明
Hello world在那邊?背景說明
 
A successful git branching model 導讀
A successful git branching model 導讀A successful git branching model 導讀
A successful git branching model 導讀
 
GNU ld的linker script簡介
GNU ld的linker script簡介GNU ld的linker script簡介
GNU ld的linker script簡介
 
Trace 程式碼之皮
Trace 程式碼之皮Trace 程式碼之皮
Trace 程式碼之皮
 
淺談Debian套件打包
淺談Debian套件打包淺談Debian套件打包
淺談Debian套件打包
 
A Brief Introduction to Regular Expression with Python 2.7.3 Standard Library
A Brief Introduction to Regular Expression with Python 2.7.3 Standard LibraryA Brief Introduction to Regular Expression with Python 2.7.3 Standard Library
A Brief Introduction to Regular Expression with Python 2.7.3 Standard Library
 
GNU gettext簡介 - 以C語言為範例
GNU gettext簡介 - 以C語言為範例GNU gettext簡介 - 以C語言為範例
GNU gettext簡介 - 以C語言為範例
 
Guide to GStreamer Application Development Manual: CH1 to CH10
Guide to GStreamer Application Development Manual: CH1 to CH10Guide to GStreamer Application Development Manual: CH1 to CH10
Guide to GStreamer Application Development Manual: CH1 to CH10
 
Testing in python 2.7.3
Testing in python 2.7.3Testing in python 2.7.3
Testing in python 2.7.3
 
從組裝軟體中談談軟體發展管理
從組裝軟體中談談軟體發展管理從組裝軟體中談談軟體發展管理
從組裝軟體中談談軟體發展管理
 
軟體組裝心得分享
軟體組裝心得分享軟體組裝心得分享
軟體組裝心得分享
 
Introduce to Linux command line
Introduce to Linux command lineIntroduce to Linux command line
Introduce to Linux command line
 

Recently uploaded

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Recently uploaded (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

GNU Make, Autotools, CMake 簡介