aboutsummaryrefslogtreecommitdiffstats
path: root/makefile
blob: 8cab41f736264d63ddb6fcf108f919a16b575563 (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
.PHONY: all clean debug distclean

# buid & link with gcc
CC = gcc
LD = gcc

# néhány apróság:
MKD = /bin/mkdir -p
# A '-' jel miatt átugorja a hibát
RM =  -/bin/rm 


# fordíto általános flagek
CFLAGS = -Wall
LDFLAGS = 
LDLIBS =


BINDIR = bin
OBJDIR = build

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


# ALL kell legyen legelőször!
all: $(PROG)


# debug-hoz felüldefiniálva 
debug: CFLAGS = -Wall -g -g3 -ggdb -std=c89 -Wpedantic -Wmissing-prototypes 
debug: LDFLAGS = 
debug: LDLIBS = -lefence
# nem mindegy, hogy mellette van, vagy alatta egy sorral!
debug: clean all

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

# Fordított sorrend: először a főprogram
$(PROG): $(OBJS)
	$(LD) $(LDFLAGS) $(OBJS) -o $(PROG) $(LDLIBS)
	@echo ' '

# Utána: A forrásfájlok fordítása egyesével
$(OBJS): $(OBJDIR)/%.o: ./src/%.c  
	$(CC) $(CFLAGS) -c -o "$@" "$<"

# OBJ létrehozáshoz
$(BINDIR):  
	$(MKD) $(BINDIR)
$(OBJDIR):	
	$(MKD) $(OBJDIR)

rebuild: clean all

clean:
	$(RM) $(PROG) $(OBJS)

distclean:
	$(RM) -r $(PROG) $(OBJS) bin/ build/