asuswrt-merlin.ng/release/src-rt-5.02axhnd.675x/router-sysdep.rt-ax56u/tmctl/Makefile.fullsrc

125 lines
3.3 KiB
Text

#
# Makefile for Traffic Management(TM) Control Utility.
# Program Executable: tmctl
# Set custom variables in this first section
#
EXE = tmctl
OBJS = tmctl.o tmctl_cmds.o
LIBS = -ltmctl
LIBS += -L$(HND_SRC)/router-sysdep/gen_util -lgen_util
LIBS += -L$(HND_SRC)/router-sysdep/bcm_util -lbcm_util
LIBS += -L$(HND_SRC)/router-sysdep/bcm_flashutil -lbcm_flashutil
LIBS += -L$(HND_SRC)/router-sysdep/bcm_boardctl -lbcm_boardctl
LIBS += -L$(HND_SRC)/router-sysdep/sys_util -lsys_util
all dynamic install: conditional_build
clean: generic_clean
rm -f $(INSTALL_DIR)/bin/$(EXE)
binaryonly_dist_clean: clean generic_binaryonly_dist_clean
rm -f Makefile.fullsrc
#
# Set our CommEngine directory (by splitting the pwd into two words
# at /userspace and taking the first word only).
# Then include the common defines under CommEngine.
#
CURR_DIR := $(shell pwd)
BUILD_DIR:=$(HND_SRC)
include $(BUILD_DIR)/make.common
ifneq ($(strip $(BUILD_TMCTL)),)
ifneq ($(strip $(BUILD_FAPCTL)),)
LIBS += -lfapctl
BUILD_TMCTL_APP := 1
else ifneq ($(strip $(BUILD_RDPACTL)),)
LIBS += -lrdpactl -lethswctl -lbdmf
ifneq ($(strip $(BUILD_DSL)),)
LIBS += -latmctl
endif
BUILD_TMCTL_APP := 1
else ifneq ($(strip $(BUILD_BCMTM)),)
LIBS += -lbcmtm
BUILD_TMCTL_APP := 1
else ifneq ($(strip $(BUILD_ARCHERCTL)),)
LIBS += -lethswctl -larcher
BUILD_TMCTL_APP := 1
else
BUILD_TMCTL_APP := 0
endif
else
BUILD_TMCTL_APP := 0
endif
ifneq ($(strip $(BUILD_EPONCTL)),)
LIBS += -leponctl
endif
LIBS += -lgen_util -lbcm_util -lbcm_flashutil -lbcm_boardctl -lsys_util -lrt
ifeq ($(BUILD_TMCTL_APP),1)
conditional_build: $(EXE) generic_exe_install
else
conditional_build:
@echo "Skipping $(EXE) (not configured)"
endif
#
# Private apps and libs are allowed to include header files from the
# private and public directories.
#
# WARNING: Do not modify this section unless you understand the
# license implications of what you are doing.
#
ALLOWED_INCLUDE_PATHS := -I.\
-I$(BUILD_DIR)/userspace/public/include \
-I$(BUILD_DIR)/userspace/public/include/$(OALDIR) \
-I$(BUILD_DIR)/userspace/private/include \
-I$(BUILD_DIR)/userspace/private/include/$(OALDIR) \
-I$(INC_BRCMDRIVER_PUB_PATH)/$(BRCM_BOARD) \
-I$(INC_BRCMDRIVER_PRIV_PATH)/$(BRCM_BOARD) \
-I$(INC_BRCMSHARED_PUB_PATH)/$(BRCM_BOARD) \
-I$(INC_BRCMSHARED_PRIV_PATH)/$(BRCM_BOARD)
#
# Private apps and libs are allowed to link with libraries from the
# private and public directories.
#
# WARNING: Do not modify this section unless you understand the
# license implications of what you are doing.
#
ALLOWED_LIB_DIRS := /lib:/lib/private:/lib/public
CFLAGS += -Werror
ifneq ($(strip $(BRCM_XDSL_DISTPOINT_USE_G9991)),)
CUSTOM_CFLAGS += -DG9991
endif
#
# Implicit rule will make the .c into a .o
# Implicit rule is $(CC) -c $(CPPFLAGS) $(CFLAGS)
# See Section 10.2 of Gnu Make manual
#
$(EXE): $(OBJS)
$(CC) $(BCM_LD_FLAGS) -o $@ $(OBJS) -Wl,-rpath,$(CMS_LIB_RPATH) $(CMS_LIB_PATH) $(LIBS)
#
# Include the rule for making dependency files.
# The '-' in front of the second include suppresses
# error messages when make cannot find the .d files.
# It will just regenerate them.
# See Section 4.14 of Gnu Make.
#
include $(BUILD_DIR)/make.deprules
-include $(OBJS:.o=.d)