'Programming > Linux Coding' 카테고리의 다른 글

자신만의 Command 만들기 - alias  (0) 2016.04.26
find  (0) 2016.04.14
SVN(Subvision) 간단히 사용하기  (0) 2016.04.14
Ex10. Makefile - lv4  (0) 2016.02.25
Ex10. Makefile - lv3  (0) 2016.02.25

'Programming > Linux Coding' 카테고리의 다른 글

find  (0) 2016.04.14
Linux Commands  (0) 2016.04.14
Ex10. Makefile - lv4  (0) 2016.02.25
Ex10. Makefile - lv3  (0) 2016.02.25
Ex10. Makefile - lv2  (0) 2016.02.24

매크로 치환


# make dep
gccmakedep test.c hello.c
# make
gcc -I/home/ysw/study -g -c test.c
gcc -I/home/ysw/study -g -c hello.c
gcc -lm -o test test.o hello.o


'Programming > Linux Coding' 카테고리의 다른 글

Linux Commands  (0) 2016.04.14
SVN(Subvision) 간단히 사용하기  (0) 2016.04.14
Ex10. Makefile - lv3  (0) 2016.02.25
Ex10. Makefile - lv2  (0) 2016.02.24
Ex10. Makefile - lv1  (0) 2016.02.24

확장자규칙 .c.o


# make
gcc -I/home/ysw/study -g -c test.c
gcc -I/home/ysw/study -g -c hello.c
gcc -lm -o test test.o hello.o
#


'Programming > Linux Coding' 카테고리의 다른 글

SVN(Subvision) 간단히 사용하기  (0) 2016.04.14
Ex10. Makefile - lv4  (0) 2016.02.25
Ex10. Makefile - lv2  (0) 2016.02.24
Ex10. Makefile - lv1  (0) 2016.02.24
Ex09. mycopy.c  (0) 2016.02.22

Internal macro (내부 매크로)

 $@

 현재의 목표 파일 (target)

 $*

 확장자가 없는 현재의 목표 파일 (target)

 $<

 조건 파일 중 첫번째 파일

 $?

 현재의 목표 파일(target)보다 더 최근에 갱신된 파일 이름

 $^

 현재의 모든 조건 파일 


test: test.o hello.o gcc -lm -o test test.o hello.o test: test.o hello.o gcc -lm -o $@ $^


test.o: test.c
    gcc -c test.c

test.o: test.c
    gcc -c $*.c


hello.o: hello.c 
hello.h
    gcc -c hello.c

hello.o: hello.c hello.h
    gcc -c $<

Makefile


'Programming > Linux Coding' 카테고리의 다른 글

Ex10. Makefile - lv4  (0) 2016.02.25
Ex10. Makefile - lv3  (0) 2016.02.25
Ex10. Makefile - lv1  (0) 2016.02.24
Ex09. mycopy.c  (0) 2016.02.22
Ex08. simplecalc.c - libmycalcso.so (shared library)  (1) 2016.02.22
hello.h hello.c test.c Makefile

# make
gcc -c test.c
gcc -c hello.c
gcc -lm -o test test.o hello.o
# ./test
- Call HelloWorld function -
Hello world.
 it's compiled by Makefile
# make clean
rm -f test test.o hello.o
#


'Programming > Linux Coding' 카테고리의 다른 글

Ex10. Makefile - lv3  (0) 2016.02.25
Ex10. Makefile - lv2  (0) 2016.02.24
Ex09. mycopy.c  (0) 2016.02.22
Ex08. simplecalc.c - libmycalcso.so (shared library)  (1) 2016.02.22
Ex07. simplecalc.c - libmycalc.a (static library)  (0) 2016.02.22

# gcc -o mycopy mycopy.c
# ./mycopy mycopy.c mycopy.bak
#


'Programming > Linux Coding' 카테고리의 다른 글

Ex10. Makefile - lv2  (0) 2016.02.24
Ex10. Makefile - lv1  (0) 2016.02.24
Ex08. simplecalc.c - libmycalcso.so (shared library)  (1) 2016.02.22
Ex07. simplecalc.c - libmycalc.a (static library)  (0) 2016.02.22
Ex06. simplecalc.c  (0) 2016.02.22
# gcc -fPIC -c sum.c sub.c mul.c div.c
# gcc -shared -Wl,-soname,libmycalcso.so.1 -o libmycalcso.so.1.0.1 sum.o sub.o mul.o div.o
# ln -s libmycalcso.so.1.0.1 libmycalcso.so
# gcc -o simplecalcso simplecalc.c -L./ -l mycalcso
# ./simplecalcso
./simplecalcso: error while loading shared libraries: libmycalc.so: 
cannot open shared object file: No such file or directory
# cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf

/usr/local/boost_1_48_0/libs
# sudo cp ./libmycalcso.so.1.0.1 /usr/local/boost_1_48_0/libs/
# ./simplecalcso
sum : 1225
sub : 1175
mul : 30000
div : 48
#
# ldd simplecalc
        linux-vdso.so.1 =>  (0x00007ffe6f7fd000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f08f2758000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f08f2b1d000)
#

'Programming > Linux Coding' 카테고리의 다른 글

Ex10. Makefile - lv1  (0) 2016.02.24
Ex09. mycopy.c  (0) 2016.02.22
Ex07. simplecalc.c - libmycalc.a (static library)  (0) 2016.02.22
Ex06. simplecalc.c  (0) 2016.02.22
Ex05. userinfo.c  (0) 2016.02.22

# ar rc libmycalc.a sum.o sub.o mul.o div.o
# ar t libmycalc.a
sum.o
sub.o
mul.o
div.o
# gcc -o simplecalc simplecalc.c -L./ -l mycalc
# ./simplecalc
sum : 1225
sub : 1175
mul : 30000
div : 48
#


* -l mycalc : lib와 .a를 제외한 파일이름

'Programming > Linux Coding' 카테고리의 다른 글

Ex09. mycopy.c  (0) 2016.02.22
Ex08. simplecalc.c - libmycalcso.so (shared library)  (1) 2016.02.22
Ex06. simplecalc.c  (0) 2016.02.22
Ex05. userinfo.c  (0) 2016.02.22
Ex04. array_char.c  (0) 2016.02.22
sum.h sub.h mul.h div.h sum.c sub.c mul.c div.c simplecal.c

# gcc -c sum.c sub.c mul.c div.c simplecalc.c
# gcc -o simplecalc sum.o sub.o mul.o div.o simplecalc.o
# ./simplecalc
sum : 1225
sub : 1175
mul : 30000
div : 48
#


'Programming > Linux Coding' 카테고리의 다른 글

Ex08. simplecalc.c - libmycalcso.so (shared library)  (1) 2016.02.22
Ex07. simplecalc.c - libmycalc.a (static library)  (0) 2016.02.22
Ex05. userinfo.c  (0) 2016.02.22
Ex04. array_char.c  (0) 2016.02.22
Ex03. hello_pat.c  (0) 2016.02.22

+ Recent posts