Pages: [1]   Go Down
Author Topic: Contoh cara kompilasi sederhana memakai GNU make untuk bahasa C  (Read 1785 times)
ibenk68th
Global Moderator
Advance Member
*****
Offline Offline

Gender: Male
Posts: 478



« on: September 19, 2008, 06:55:19 AM »

Ditujukan untuk rekan-rekan yang baru memulai "programming" dengan menggunakan bahasa C di lingkungan linux.

Disarankan untuk membuat project/aplikasi/program dalam satu direktori yang berkaitan dengan project yang sedang kita buat.
Misalkan kita buat direktori dalam home direktori dengan nama hello.
Code:
$ mkdir hello
Kemudian kita berpindah ke dalam direktori yang kita buat.
Code:
$ cd hello

Kita coba membuat file dengan nama hello.c (pilih editor favorit anda) yang isinya seperti berikut:
Code:
#include <stdio.h>

int main() {
        printf("Hello World...!\n");
        return 0;
}

Kemudian kita membuat file dengan nama Makefile, yang isinya seperti berikut:
Code:
### Compiler, tools, environment, and options

CC              = gcc
CFLAGS          = -pipe -Wall -W
LINK_C          = ${CC}
LIBFLAGS        =
LIBS            = -lc
COPY            = cp -f
COPY_FILE       = ${COPY} -p
COPY_DIR        = ${COPY_FILE} -R
DEL_FILE        = rm -f
DEL_DIR         = rmdir
MKDIR           = mkdir
MOVE            = mv

### Files
# File-file yang diperlukan dan/atau dihasilkan pada proses kompilasi

SOURCE          = hello.c
OBJECTS         = hello.o
TARGET          = hello

### Rules

first: all

### Implicit rules
.SUFFIXES: .c

.c.o:
${CC} -c ${CFLAGS} -o $@ $<

### Build rules

all: ${TARGET}

${TARGET}: ${OBJECTS}
${LINK_C} ${LIBFLAGS} -o ${TARGET} ${OBJECTS} ${LIBS}

clean:
${DEL_FILE} ${OBJECTS}
${DEL_FILE} *~ core *.core

distclean: clean
${DEL_FILE} ${TARGET}

Setelah selesai dengan membuat file di atas, kita ketik perintah berikut:
Code:
$ make
akan terlihat di layar perintah-perintah sesuai dengan yang kita definisikan dalam file Makefile
Code:
gcc -c -pipe -Wall -W -o hello.o hello.c
gcc  -o hello hello.o -lc

Perintah make atau proses kompilasi di atas akan menghasilkan dua buah file baru pada direktori hello, yaitu hello.o dan hello.
Program yang dihasilkan dan dapat dieksekusi adalah file hello. Jika anda eksekusi file hello akan dihasilkan output seperti berikut::
Code:
$ ./hello
Hello World...!
$

Selamat mencoba...
salam...
Logged

be honest to yourself, before you give it to someone else
- ibenk -

putra_bayangan
Global Moderator
Advance Member
*****
Offline Offline

Gender: Male
Posts: 283



WWW
« Reply #1 on: September 20, 2008, 09:50:33 AM »

Very good share bro..

tapi itu berlaku untuk C++ ga? kebetulan saya lebih suka C++ dibanding C..hehehe..
tq bro.. Grin

Logged

-Hack is to learn, not learn to Hack..-

ibenk68th
Global Moderator
Advance Member
*****
Offline Offline

Gender: Male
Posts: 478



« Reply #2 on: September 20, 2008, 12:30:12 PM »

Untuk C++ sama penggunaannya, anda tinggal mengganti compiler, flag yang diperlukan compiler berkaitan dengan file-file yang akan anda compile, library yang dibutuhkan, dll.

Misal:
Code:
CC              = gcc
CFLAGS          = -pipe -Wall -W
LINK_C          = ${CC}

menjadi
Code:
CXX             = g++
CXXFLAGS        = -pipe -Wall -W
LINK_CXX        = ${CXX}

atau ditambahkan
Code:
CC              = gcc
CXX             = g++
CFLAGS          = -pipe -Wall -W
CXXFLAGS        = -pipe -Wall -W
LINK_C          = ${CC}
LINK_CXX        = ${CXX}
kalau anda mempunyai project yang isinya bahasa C dan C++

kemudian pada bagian "Implicit Rules" ditambahkan menjadi seperti:
Code:
.SUFFIXES: .c .cpp .cc .cxx .C

.cpp.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cc.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cxx.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.C.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.c.o:
$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<

Pada bagian "build rule", anda tinggal mendefiniskan "dependency" yang dibutuhkan untuk tiap-tiap target

salam...
Logged

be honest to yourself, before you give it to someone else
- ibenk -

sam4gods
Newbie
*
Offline Offline

Posts: 25


henshin...!!


« Reply #3 on: September 20, 2008, 08:19:38 PM »

wah... makasii nih...
hehe...

thx tutornya yah....
Logged

erryenroll
Global Moderator
Advance Member
*****
Offline Offline

Gender: Male
Posts: 380



WWW
« Reply #4 on: September 21, 2008, 02:54:34 AM »

wach bro ibenk mantab, semoga bisa bertahap ya ni tutornya...........

gooooooooddddddddddddddddd bgt dech pokokke  Grin Grin Grin Grin
Logged

http://cahaya-ti.com/ ¨Not Good For Enought¨

jztnubie
Junior Member
**
Offline Offline

Posts: 31


Jzt another 1 Newbie


« Reply #5 on: October 26, 2008, 03:55:33 PM »

Mkasi banyak tutorialnya....

skg aQ jd tw cra membuat program C di linux..
Logged

redya
Administrator
Full Member
*****
Offline Offline

Gender: Male
Posts: 108



« Reply #6 on: January 15, 2009, 08:59:55 AM »

tutorial Makefilenya maknyus euy....  Grin Grin
thx
Logged

region
Newbie
*
Offline Offline

Posts: 12


« Reply #7 on: November 15, 2009, 02:12:42 AM »

kaka2 semua...
saya udah install gcc, tapi saya gak tau ingin melihatnya dimana...Huh?
kalau melaui deskstop dimana kita bisa melihatnya...
mohon pencerhannya...
saya baru mulai coba tentang pemograman...
salam semuanya...
Logged

Pages: [1]   Go Up
Print
Jump to: