Skip to content

Latest commit

 

History

History
111 lines (82 loc) · 1.81 KB

Makefile

File metadata and controls

111 lines (82 loc) · 1.81 KB
 
Feb 18, 2014
Feb 18, 2014
1
# -*- Mode: makefile-gmake -*-
Feb 17, 2014
Feb 17, 2014
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
.PHONY: all debug release clean
# Required packages
PKGS = glib-2.0 libwspcodec
LIB_PKGS = $(PKGS)
#
# Default target
#
all: debug release
#
# Sources
#
SRC = mms-dump.c
#
# Directories
#
SRC_DIR = .
BUILD_DIR = build
DEBUG_BUILD_DIR = $(BUILD_DIR)/debug
RELEASE_BUILD_DIR = $(BUILD_DIR)/release
#
# Tools and flags
#
CC = $(CROSS_COMPILE)gcc
LD = $(CC)
DEBUG_FLAGS = -g
RELEASE_FLAGS = -O2
DEBUG_DEFS = -DDEBUG
RELEASE_DEFS =
WARNINGS = -Wall
CFLAGS = $(shell pkg-config --cflags $(PKGS)) -MMD
LIBS = $(shell pkg-config --libs $(LIB_PKGS))
Feb 18, 2014
Feb 18, 2014
44
45
46
47
48
49
50
51
52
ifndef KEEP_SYMBOLS
KEEP_SYMBOLS = 0
endif
ifneq ($(KEEP_SYMBOLS),0)
RELEASE_FLAGS += -g
SUBMAKE_OPTS += KEEP_SYMBOLS=1
endif
Feb 17, 2014
Feb 17, 2014
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
DEBUG_CFLAGS = $(WARNINGS) $(DEBUG_FLAGS) $(DEBUG_DEFS) $(CFLAGS)
RELEASE_CFLAGS = $(WARNINGS) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(CFLAGS)
#
# Files
#
DEBUG_OBJS = $(SRC:%.c=$(DEBUG_BUILD_DIR)/%.o)
RELEASE_OBJS = $(SRC:%.c=$(RELEASE_BUILD_DIR)/%.o)
#
# Dependencies
#
DEPS = $(DEBUG_OBJS:%.o=%.d) $(RELEASE_OBJS:%.o=%.d)
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(DEPS)),)
-include $(DEPS)
endif
endif
Mar 21, 2014
Mar 21, 2014
74
75
76
$(DEBUG_OBJS): | $(DEBUG_BUILD_DIR)
$(RELEASE_OBJS): | $(RELEASE_BUILD_DIR)
Feb 17, 2014
Feb 17, 2014
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#
# Rules
#
EXE = mms-dump
DEBUG_EXE = $(DEBUG_BUILD_DIR)/$(EXE)
RELEASE_EXE = $(RELEASE_BUILD_DIR)/$(EXE)
debug: $(DEBUG_EXE)
release: $(RELEASE_EXE)
clean:
rm -fr $(BUILD_DIR) $(SRC_DIR)/*~
$(DEBUG_BUILD_DIR):
mkdir -p $@
$(RELEASE_BUILD_DIR):
mkdir -p $@
$(DEBUG_BUILD_DIR)/%.o : $(SRC_DIR)/%.c
$(CC) -c $(DEBUG_CFLAGS) -MT"$@" -MF"$(@:%.o=%.d)" $< -o $@
$(RELEASE_BUILD_DIR)/%.o : $(SRC_DIR)/%.c
$(CC) -c $(RELEASE_CFLAGS) -MT"$@" -MF"$(@:%.o=%.d)" $< -o $@
Mar 21, 2014
Mar 21, 2014
104
105
$(DEBUG_EXE): $(DEBUG_OBJS)
$(LD) $(DEBUG_FLAGS) $^ $(LIBS) -o $@
Feb 17, 2014
Feb 17, 2014
106
Mar 21, 2014
Mar 21, 2014
107
108
$(RELEASE_EXE): $(RELEASE_OBJS)
$(LD) $(RELEASE_FLAGS) $^ $(LIBS) -o $@
Feb 18, 2014
Feb 18, 2014
109
ifeq ($(KEEP_SYMBOLS),0)
Feb 17, 2014
Feb 17, 2014
110
strip $@
Feb 18, 2014
Feb 18, 2014
111
endif