80 lines
2.8 KiB
Makefile
80 lines
2.8 KiB
Makefile
# rules.dkm.mk - Host independent rules for making VxWorks Downloadable Kernel Modules
|
|
#
|
|
# Copyright 2008, 2010, 2012 Wind River Systems, Inc.
|
|
#
|
|
# The right to copy, distribute, modify or otherwise make use
|
|
# of this software may be licensed only pursuant to the terms
|
|
# of an applicable Wind River license agreement.
|
|
#
|
|
# modification history
|
|
# --------------------
|
|
# 01e,07aug12,pee WIND00368576 fixed typo in c++/s rules
|
|
# 01d,02feb12,mze add .CPP as a valid suffix
|
|
# 01c,02jul10,pee update clean
|
|
# 01b,21jun10,pee modify for dkm project
|
|
# 01a,26aug08,pee created
|
|
|
|
ifndef DEFS_DKM_MK_INCLUDED
|
|
include $(TGT_DIR)/h/make/defs.dkm.mk
|
|
endif
|
|
|
|
define buildrule
|
|
|
|
$$(OBJDIR_$(1)) :
|
|
$$(MKDIR) $$(OBJDIR_$(1))
|
|
|
|
# rules to build objects in $(OBJDIR)
|
|
$$(OBJDIR_$(1))/%.o : %.c | $(TOOL_OPTIONS_FILES_ALL) $$(OBJDIR_$1)
|
|
$$(CC) $$(CFLAGS) $$(CFLAGS_OBJ_$1) $$(CC_SDA_FLAGS) $$(OPTION_DEPEND_GEN_D) $$(CFLAGS_$$(<:.c=.o)) $$(OPTION_OBJECT_ONLY) $$(OPTION_OBJECT_NAME)$$@ $$<
|
|
|
|
$$(OBJDIR_$(1))/%.o : %.s $(TOOL_OPTIONS_FILES_ALL) $$(OBJDIR_$1)
|
|
$$(CC) $$(CFLAGS_AS) $$(CFLAGS_AS_OBJ_$1) $$(OPTION_DEPEND_GEN_D) $$(CFLAGS_AS_$$(<:.s=.o)) $$(OPTION_OBJECT_ONLY) $$(OPTION_OBJECT_NAME)$$@ $$<
|
|
|
|
# rule for munchless C++ compiles
|
|
$$(OBJDIR_$(1))/%.o : %.CPP $(TOOL_OPTIONS_FILES_ALL) $$(OBJDIR_$1)
|
|
$$(CXX) $$(C++FLAGS) $$(C++FLAGS_OBJ_$1) $$(OPTION_DEPEND_GEN_D) $$(CFLAGS_$$(<:.CPP=.o)) $$(OPTION_OBJECT_ONLY) $$(OPTION_OBJECT_NAME)$$@ $$<
|
|
|
|
$$(OBJDIR_$(1))/%.o : %.cpp $(TOOL_OPTIONS_FILES_ALL) $$(OBJDIR_$1)
|
|
$$(CXX) $$(C++FLAGS) $$(C++FLAGS_OBJ_$1) $$(OPTION_DEPEND_GEN_D) $$(CFLAGS_$$(<:.cpp=.o)) $$(OPTION_OBJECT_ONLY) $$(OPTION_OBJECT_NAME)$$@ $$<
|
|
|
|
endef
|
|
|
|
# rules to build objects in current directory
|
|
%.o : %.c | $(TOOL_OPTIONS_FILES_ALL)
|
|
$(CC) $(CFLAGS) $(CFLAGS_$@) $(CC_SDA_FLAGS) $(OPTION_DEPEND_GEN_D) $(CFLAGS_$(<:.c=.o)) $(OPTION_OBJECT_ONLY) $(OPTION_OBJECT_NAME)$@ $<
|
|
|
|
%.o : %.s | $(TOOL_OPTIONS_FILES_ALL)
|
|
$(CC) $(CFLAGS_AS) $(CFLAGS_AS_$@) $(OPTION_DEPEND_GEN_D) $(CFLAGS_AS_$(<:.s=.o)) $(OPTION_OBJECT_ONLY) $(OPTION_OBJECT_NAME)$@ $<
|
|
|
|
# rule for munchless C++ compiles
|
|
%.o : %.CPP | $(TOOL_OPTIONS_FILES_ALL)
|
|
$(CXX) $(C++FLAGS) $(C++FLAGS_$@) $(OPTION_DEPEND_GEN_D) $(CFLAGS_$(<:.CPP=.o)) $(OPTION_OBJECT_ONLY) $(OPTION_OBJECT_NAME)$@ $<
|
|
|
|
%.o : %.cpp | $(TOOL_OPTIONS_FILES_ALL)
|
|
$(CXX) $(C++FLAGS) $(C++FLAGS_$@) $(OPTION_DEPEND_GEN_D) $(CFLAGS_$(<:.cpp=.o)) $(OPTION_OBJECT_ONLY) $(OPTION_OBJECT_NAME)$@ $<
|
|
|
|
# define targets
|
|
|
|
all : $(ALL_OBJS)
|
|
|
|
release : all
|
|
|
|
clean :
|
|
$(RM) $(ALL_OBJS)
|
|
$(RM) $(EXISTING_DEPFILES)
|
|
|
|
precomp :
|
|
|
|
# expand build rules
|
|
|
|
$(eval $(foreach base, $(OBJ_BASE_NAMES), $(call buildrule,$(base))))
|
|
|
|
# include dependency files
|
|
ifneq ($(EXISTING_DEPFILES),)
|
|
include $(EXISTING_DEPFILES)
|
|
endif
|
|
ifneq ($(MISSING_DEPFILES),)
|
|
$(warning missing dependency files $(MISSING_DEPFILES))
|
|
endif
|
|
|