- 论坛徽章:
- 0
|
以下是在cygwin下操作的.
當make clean 之後會把所有的*.demp ,*.stamp ,*.o.d 等文件刪除掉.
在執行make
錯誤信息如下:
make | cat
arm-elf-gcc admin_main.c -c -I/cygdrive/c/Kevin/roboswitch/bcm5328m//ecos/run/i
nstall/include -I/cygdrive/c/Kevin/roboswitch/bcm5328m//include -I. -I./ -mcpu=a
rm7tdmi -mno-short-load-words -Wall -Wno-implicit -Wno-uninitialized -Wno-undef
-Wno-unknown-pragmas -Wno-unused -Wpointer-arith -Wstrict-prototypes -Winline -W
undef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti
-fno-exceptions -fvtable-gc -finit-priority -Wno-strict-prototypes -Wp,-MD,/cygd
rive/c/Kevin/roboswitch/bcm5328m//obj/admin/admin_main.tmp -o /cygdrive/c/Kevin/
roboswitch/bcm5328m//obj/admin/admin_admin_main.o
make: *** [/cygdrive/c/Kevin/roboswitch/bcm5328m//obj/admin/admin_main.o.d] Erro
r 255
為何它不能生成.o.d文件
下面是admin下面的makefile
#=============================================================================
# Project : runtop/es3060
# Module : admin
# Author : Gary Chen
# Date : 11/06/2001
# Description: for system module
#=============================================================================
#-----------------------------------------------------------------------------
export PACKAGE := admin
#-----------------------------------------------------------------------------
#export ROOT := c:/runtop/es3060
export ECOS_INC := $(ROOT)/ecos/run/install/include
export LIBPATH = $(ROOT)/lib
export SRCPATH :=$(ROOT)/src
export OBJPATH :=$(ROOT)/obj
export FILEPATH := $(SRCPATH)/$(PACKAGE)
export INCPATH := $(ROOT)/include
export OBJ_PATH := $(OBJPATH)/$(PACKAGE)
export COMMAND_PREFIX := arm-elf-
export CC := $(COMMAND_PREFIX)gcc
export OBJCOPY := $(COMMAND_PREFIX)objcopy
export AR := $(COMMAND_PREFIX)ar
OBJECT_PREFIX := $(PACKAGE)
#CFLAGS := -msoft-float -mcpu=850 -Wall -Wno-implicit -Wno-uninitialized -Wno-undef -Wno-unknown-pragmas -Wno-unused -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -Wno-strict-prototypes
#LDFLAGS := -msoft-float -mcpu=850 -g -nostdlib -Wl,--gc-sections -Wl,-static
CFLAGS := -mcpu=arm7tdmi -mno-short-load-words -Wall -Wno-implicit -Wno-uninitialized -Wno-undef -Wno-unknown-pragmas -Wno-unused -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -Wno-strict-prototypes
LDFLAGS := -mcpu=arm7tdmi -mno-short-load-words -g -nostdlib -Wl,--gc-sections -Wl,-static
#-----------------------------------------------------------------------------
VPATH := $(INCPATH)
#include $(ROOT)/vpath.mak
#-----------------------------------------------------------------------------
INCLUDE_PATH := $(INCLUDE_PATH) -I$(ECOS_INC) $(foreach dir,$(VPATH),-I$(dir)) -I.
#-----------------------------------------------------------------------------
LIBRARY := libadmin.a
#-----------------------------------------------------------------------------
build: $(LIBRARY).stamp
#-----------------------------------------------------------------------------
COMPILE := admin_main.c \
admin_cli.c
#-----------------------------------------------------------------------------
SOURCES := $(foreach dir,$(COMPILE), $(OBJ_PATH)/$(dir))
OBJECTS := $(SOURCES:.cxx=.o.d)
OBJECTS := $(OBJECTS:.c=.o.d)
OBJECTS := $(OBJECTS:.S=.o.d)
$(LIBRARY).stamp: $(OBJECTS)
$(AR) rcs $(LIBPATH)/$(@:.stamp=) $(foreach obj,$?,$(dir $(obj))$(OBJECT_PREFIX)_$(notdir $(obj:.o.d=.o)))
cat $^ >; $(@:.stamp=.deps)
@touch $@
include $(ROOT)/CommonRules.mak
下面是CommonRules.mak:
#=============================================================================
# CommonRules.mak
#=============================================================================
# Author : Gary Chen
# Date : 10/02/2001
# Description: To be included by other module
#=============================================================================
.PHONY: default build clean
# include any dependency rules generated previously
ifneq ($(wildcard *.deps),)
include $(wildcard *.deps)
endif
# pattern matching rules to generate a library object from source code
# object filenames are prefixed to avoid name clashes
# a single dependency rule is generated (file extension = ".o.d"
$(OBJ_PATH)/%.o.d : %.c
@mkdir -p $(dir $@)
$(CC) $< -c $(INCLUDE_PATH) -I$(dir $< $(CFLAGS) -Wp,-MD,$(@:.o.d=.tmp) -o $(dir $@)$(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o))
@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.o.d=.tmp) >; $@
@rm $(@:.o.d=.tmp)
$(OBJ_PATH)/%.o.d : %.cxx
@mkdir -p $(dir $@)
$(CC) $< -c $(INCLUDE_PATH) -I$(dir $< $(CFLAGS) -Wp,-MD,$(@:.o.d=.tmp) -o $(dir $@)$(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o))
@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.o.d=.tmp) >; $@
@rm $(@:.o.d=.tmp)
$(OBJ_PATH)/%.o.d : %.S
@mkdir -p $(dir $@)
$(CC) $< -c $(INCLUDE_PATH) -I$(dir $< $(CFLAGS) -Wp,-MD,$(@:.o.d=.tmp) -o $(dir $@)$(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o))
@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.o.d=.tmp) >; $@
@rm $(@:.o.d=.tmp)
# rule to clean the build tree
clean:
@find $(OBJ_PATH) -type f -print | grep -v makefile | xargs rm -f
@rm -f *.stamp *.deps
# @rm -f $(LIBPATH)/$(LIBRARY)
# end of file |
|