Skip to content

Commit 772625f

Browse files
committed
Cleanup and simplify Makefile
This gets rid of some unnecessary targets/code, and also makes it a bit easier to support adding compiler/linker flags. Signed-off-by: Saikrishna Arcot <[email protected]>
1 parent 04a23c7 commit 772625f

File tree

2 files changed

+12
-36
lines changed

2 files changed

+12
-36
lines changed

Makefile

+9-14
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,21 @@ CP := cp
44
MKDIR := mkdir
55
CC := g++
66
MV := mv
7-
LIBS := -levent -lhiredis -lswsscommon -pthread -lboost_thread -lboost_system
8-
CFLAGS += -Wall -std=c++17 -fPIE -I$(PWD)/../sonic-swss-common/common
7+
override LDLIBS += -levent -lhiredis -lswsscommon -pthread -lboost_thread -lboost_system
8+
override CPPFLAGS += -Wall -std=c++17 -fPIE -I/usr/include/swss
9+
override CPPFLAGS += -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)"
910
PWD := $(shell pwd)
1011

12+
all: $(DHCP6RELAY_TARGET)
13+
1114
ifneq ($(MAKECMDGOALS),clean)
12-
ifneq ($(strip $(C_DEPS)),)
13-
-include $(C_DEPS) $(OBJS)
14-
endif
15+
-include $(OBJS:%.o=%.d)
1516
endif
1617

1718
-include src/subdir.mk
18-
19-
all: sonic-dhcp6relay
2019

21-
sonic-dhcp6relay: $(OBJS)
22-
@echo 'Building target: $@'
23-
@echo 'Invoking: G++ Linker'
24-
$(CC) $(LDFLAGS) -o $(DHCP6RELAY_TARGET) $(OBJS) $(LIBS)
25-
@echo 'Finished building target: $@'
26-
@echo ' '
20+
$(DHCP6RELAY_TARGET): $(OBJS)
21+
$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@
2722

2823
install:
2924
$(MKDIR) -p $(DESTDIR)/usr/sbin
@@ -34,7 +29,7 @@ deinstall:
3429
$(RM) -rf $(DESTDIR)/usr/sbin
3530

3631
clean:
37-
-$(RM) $(EXECUTABLES) $(C_DEPS) $(OBJS) $(DHCP6RELAY_TARGET)
32+
-$(RM) $(EXECUTABLES) $(OBJS:%.o=%.d) $(OBJS) $(DHCP6RELAY_TARGET)
3833
-@echo ' '
3934

4035
.PHONY: all clean dependents

src/subdir.mk

+3-22
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,4 @@
1-
CC := g++
2-
3-
C_SRCS += \
4-
../src/relay.c \
5-
../src/configInterface.c \
6-
../src/main.c
7-
81
OBJS += \
9-
./src/relay.o \
10-
./src/configInterface.o \
11-
./src/main.o
12-
13-
C_DEPS += \
14-
./src/relay.d \
15-
./src/configInterface.d \
16-
./src/main.d
17-
18-
src/%.o: src/%.cpp
19-
@echo 'Building file: $<'
20-
@echo 'Invoking: GCC C++ Compiler'
21-
$(CC) -D__FILENAME__="$(subst src/,,$<)" $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
22-
@echo 'Finished building: $<'
23-
@echo ' '
2+
$(PWD)/src/relay.o \
3+
$(PWD)/src/configInterface.o \
4+
$(PWD)/src/main.o

0 commit comments

Comments
 (0)