aboutsummaryrefslogtreecommitdiffstats
path: root/makefile
blob: c4f37f597d0cf8892d85602a4bf790fff6b5164f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
.PHONY: all clean debug distclean

#LDLIBS= -lm -lpulse-simple -lpulse -lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice -lpostproc  -lz -lx264  -lva -lrt

LDLIBS= 

# gcc a fordításhoz
CC = gcc
# gcc-vel is linkelje
LD = gcc

# fordító flagek
debug: CFLAGS = -g -Wall -g3 -ggdb -O0  -fmessage-length=0 # CodeBlocks-nak
#debug: CFLAGS = -O0 -g3 -Wall -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)"
#       -fmessage-length=0 -> "N" karakter hibaüzenet, N=0 akkor minden üzenet új sorba
#       -g3 -> Level 3 debug info
#       -MT"$(@)" -> Target
#       -c nyelvvel kapcsolatos

# fordíto flagek
CFLAGS = -Wall -ggdb
# Linker flagek
LDFLAGS =

# tisztára törlés
RM = /bin/rm -rf
MKD = /bin/mkdir -p

# OBJECT mappa
OBJDIR = bin
DEBUGDIR = bin/debug 

# .o fájlok
OBJ =  main.o ini_read.o 
OBJS = $(addprefix $(OBJDIR)/,$(OBJ))


# program neve
#PROG = maxini
PROG = $(OBJDIR)/lightconfini
PROG_D = $(DEBUGDIR)/lightconfini

# make elég, nem szükséges a program neve
all: $(PROG)



# Az elkészül object fájlok összepakolása a prgramba
$(PROG): $(OBJS)
#       @echo 'Linking target: $@'
#       @echo 'Invoking: $(LD) C Linker'
	$(LD) $(LDFLAGS) $(OBJS) -o $(PROG) $(LDLIBS)
#       @echo 'Finished building target: $@'
	@echo ' '

# Ha még nem létezik az obj könyvtár, létrehozza
$(OBJS): | $(OBJDIR)

# A forrásfájlok fordítása egyesével
$(OBJS): $(OBJDIR)/%.o: ./src/%.c   
#       @echo 'Building file: '$<'  
	$(CC) $(CFLAGS) -c -o "$@" "$<"
#       @echo 'Finished building: $<'  
#       @echo ' '

# Az object könyvtár létrehozása
$(OBJDIR):
	$(MKD) $(OBJDIR)


#Debugoláshoz
debug: $(PROG_D)

$(PROG_D): $(OBJS)
	$(MKD) $(DEBUGDIR)
	$(LD) $(LDFLAGS) $(OBJS) -o $(PROG_D) $(LDLIBS)



# Kis takarítás
clean:
	$(RM) $(PROG) $(OBJS) $(PROG_D)


# Teljes takarítás
distclean:
	$(RM) $(PROG) $(OBJS) $(PROG_D) $(OBJDIR) $(DEBUGDIR)