Browse Source

makefile: Track header dependancies in order to rebuild correct objects.

Georgi Chorbadzhiyski 12 years ago
parent
commit
33facd71c9
2 changed files with 11 additions and 4 deletions
  1. 1
    0
      .gitignore
  2. 10
    4
      Makefile

+ 1
- 0
.gitignore View File

1
 *.o
1
 *.o
2
+*.d
2
 tsdecrypt
3
 tsdecrypt

+ 10
- 4
Makefile View File

1
 CC = $(CROSS)$(TARGET)gcc
1
 CC = $(CROSS)$(TARGET)gcc
2
 STRIP = $(CROSS)$(TARGET)strip
2
 STRIP = $(CROSS)$(TARGET)strip
3
+MKDEP = $(CROSS)$(TARGET)gcc -M -o $*.d $<
3
 
4
 
4
 BUILD_ID = $(shell date +%F_%R)
5
 BUILD_ID = $(shell date +%F_%R)
5
 VERSION = $(shell cat RELEASE)
6
 VERSION = $(shell cat RELEASE)
8
 GIT_VER = "release"
9
 GIT_VER = "release"
9
 endif
10
 endif
10
 
11
 
11
-CFLAGS  = -ggdb -Wall -Wextra -Wshadow -Wformat-security -Wno-strict-aliasing -O2 -D_GNU_SOURCE
12
+CFLAGS  = -O2 -ggdb
13
+CFLAGS += -Wall -Wextra -Wshadow -Wformat-security
12
 CFLAGS += -DBUILD_ID=\"$(BUILD_ID)\" -DVERSION=\"$(VERSION)\" -DGIT_VER=\"$(GIT_VER)\"
14
 CFLAGS += -DBUILD_ID=\"$(BUILD_ID)\" -DVERSION=\"$(VERSION)\" -DGIT_VER=\"$(GIT_VER)\"
13
 
15
 
14
 RM = /bin/rm -f
16
 RM = /bin/rm -f
28
 TS_DIR = libtsfuncs
30
 TS_DIR = libtsfuncs
29
 TS_LIB = $(TS_DIR)/libtsfuncs.a
31
 TS_LIB = $(TS_DIR)/libtsfuncs.a
30
 
32
 
31
-tsdecrypt_OBJS = data.o udp.o util.o camd.o process.o tables.o tsdecrypt.o $(FUNCS_LIB) $(TS_LIB)
33
+tsdecrypt_SRC  = data.c udp.c util.c camd.c process.c tables.c tsdecrypt.c
32
 tsdecrypt_LIBS = -lcrypto -ldvbcsa -lpthread
34
 tsdecrypt_LIBS = -lcrypto -ldvbcsa -lpthread
35
+tsdecrypt_OBJS = $(tsdecrypt_SRC:.c=.o) $(FUNCS_LIB) $(TS_LIB)
33
 
36
 
34
-CLEAN_OBJS = tsdecrypt $(tsdecrypt_OBJS) *~
37
+CLEAN_OBJS = tsdecrypt $(tsdecrypt_SRC:.c=.{o,d})
35
 
38
 
36
 PROGS = tsdecrypt
39
 PROGS = tsdecrypt
37
 
40
 
51
 	$(Q)echo "  LINK	tsdecrypt"
54
 	$(Q)echo "  LINK	tsdecrypt"
52
 	$(Q)$(CC) $(CFLAGS) $(tsdecrypt_OBJS) $(tsdecrypt_LIBS) -o tsdecrypt
55
 	$(Q)$(CC) $(CFLAGS) $(tsdecrypt_OBJS) $(tsdecrypt_LIBS) -o tsdecrypt
53
 
56
 
54
-%.o: %.c RELEASE data.h
57
+%.o: %.c RELEASE
58
+	@$(MKDEP)
55
 	$(Q)echo "  CC	tsdecrypt	$<"
59
 	$(Q)echo "  CC	tsdecrypt	$<"
56
 	$(Q)$(CC) $(CFLAGS)  -c $<
60
 	$(Q)$(CC) $(CFLAGS)  -c $<
57
 
61
 
62
+-include $(tsdecrypt_SRC:.c=.d)
63
+
58
 strip:
64
 strip:
59
 	$(Q)echo "  STRIP	$(PROGS)"
65
 	$(Q)echo "  STRIP	$(PROGS)"
60
 	$(Q)$(STRIP) $(PROGS)
66
 	$(Q)$(STRIP) $(PROGS)

Loading…
Cancel
Save