我的Makefile

PROJECT := oplkmndrv-dualprocshm
#TGRT := microblaze-xilinx-elf-
#TGRT :=arm-none-eabi-
TGRT := arm-linux-gnueabihf-
CC := $(TGRT)gcc
CP := $(TGRT)opjcopy
AR := $(TGRT)ar
#LDSCRIPT := lscript.ld
#LDFLAGS := -nostartfiles -nostdlib -T$(LDSCRIPT)


OPLK_BASE_DIR := /home/bruce/openPOWERLINK/v2.6.2-xilinx
STACK_DIR := $(OPLK_BASE_DIR)/stack
USER_SOURCE_DIR := $(OPLK_BASE_DIR)/stack/src/user
KERNEL_SOURCE_DIR := $(OPLK_BASE_DIR)/stack/src/kernel
COMMON_SOURCE_DIR := $(OPLK_BASE_DIR)/stack/src/common
ARCH_SOURCE_DIR := $(OPLK_BASE_DIR)/stack/src/arch
CONTRIB_SOURCE_DIR := $(OPLK_BASE_DIR)/contrib

#List all default directories to look for include files here
DINCDIR :=

#List the default directory to look for libraries here
DLIBDIR :=

UINCDIR :=$(STACK_DIR)/include \
      $(STACK_DIR)/src \
      $(STACK_DIR)/src/kernel \
      $(STACK_DIR)/src/common \
          $(STACK_DIR)/src/user \
      $(OPLK_BASE_DIR)/contrib \
      $(OPLK_BASE_DIR)/stack/proj/linux/liboplkmnapp-kernelintf

INCDIR := $(patsubst %,-I%,$(DINCDIR) $(UINCDIR))

DEFS := -DCONFIG_MN

CFLAGS +=  -Wall -Wextra -pedantic -std=c99
      

#        -Wall -Wextra -pendantic -std=c99 -mlittle-endian -mno-xl-soft-mul -mno-xl-soft-div \
#         -mxl-pattern-compare -mxl-barrel-shift -mxl-reorder -fmessage-length=0 -mcpu=v9.6 -ffunction-sections \
#         -fdata-sections -g \


#VPATH := $(KERNEL_SOURCE_DIR):$(COMMON_SOURCE_DIR):$(ARCH_SOURCE_DIR):$(CONTRIB_SOURCE_DIR)

SOURCE_FILES := $(OPLK_BASE_DIR)/stack/src/user/api/generic.c  \
$(OPLK_BASE_DIR)/stack/src/user/api/processimage.c  \
$(OPLK_BASE_DIR)/stack/src/user/api/sdotest.c  \
$(OPLK_BASE_DIR)/stack/src/user/api/service.c  \
$(OPLK_BASE_DIR)/stack/src/user/obd/obdu.c  \
$(OPLK_BASE_DIR)/stack/src/user/obd/obdal.c  \
$(OPLK_BASE_DIR)/stack/src/user/dll/dllucal.c  \
$(OPLK_BASE_DIR)/stack/src/user/event/eventu.c  \
$(OPLK_BASE_DIR)/stack/src/user/nmt/nmtu.c  \
$(OPLK_BASE_DIR)/stack/src/user/nmt/nmtcnu.c  \
$(OPLK_BASE_DIR)/stack/src/user/nmt/nmtmnu.c  \
$(OPLK_BASE_DIR)/stack/src/user/nmt/identu.c  \
$(OPLK_BASE_DIR)/stack/src/user/nmt/statusu.c  \
$(OPLK_BASE_DIR)/stack/src/user/nmt/syncu.c  \
$(OPLK_BASE_DIR)/stack/src/user/pdo/pdou.c  \
$(OPLK_BASE_DIR)/stack/src/user/pdo/pdoucal.c  \
$(OPLK_BASE_DIR)/stack/src/user/pdo/pdoucal-triplebufshm.c  \
$(OPLK_BASE_DIR)/stack/src/user/sdo/sdotest-com.c  \
$(OPLK_BASE_DIR)/stack/src/user/sdo/sdotest-seq.c  \
$(OPLK_BASE_DIR)/stack/src/user/sdo/sdocom-dummy.c  \
$(OPLK_BASE_DIR)/stack/src/user/sdo/sdocom.c  \
$(OPLK_BASE_DIR)/stack/src/user/sdo/sdocom-std.c  \
$(OPLK_BASE_DIR)/stack/src/user/sdo/sdocomsrv.c  \
$(OPLK_BASE_DIR)/stack/src/user/sdo/sdocomclt.c  \
$(OPLK_BASE_DIR)/stack/src/user/sdo/sdoseq.c  \
$(OPLK_BASE_DIR)/stack/src/user/sdo/sdoasnd.c  \
$(OPLK_BASE_DIR)/stack/src/user/sdo/sdoudp.c  \
$(OPLK_BASE_DIR)/stack/src/user/timesync/timesyncu.c  \
$(OPLK_BASE_DIR)/stack/src/user/errhnd/errhndu.c  \
$(OPLK_BASE_DIR)/stack/src/user/ctrl/ctrlu.c  \
$(OPLK_BASE_DIR)/stack/src/user/sdo/sdoudp-linux.c  \
$(OPLK_BASE_DIR)/stack/src/user/obd/obdcdc.c  \
$(OPLK_BASE_DIR)/stack/src/user/cfmu.c  \
$(OPLK_BASE_DIR)/stack/src/user/ctrl/ctrlucal-ioctl.c  \
$(OPLK_BASE_DIR)/stack/src/user/dll/dllucal-ioctl.c  \
$(OPLK_BASE_DIR)/stack/src/user/errhnd/errhnducal-ioctl.c  \
$(OPLK_BASE_DIR)/stack/src/user/event/eventucal-linuxioctl.c  \
$(OPLK_BASE_DIR)/stack/src/user/timesync/timesyncucal-ioctl.c  \
$(OPLK_BASE_DIR)/stack/src/user/pdo/pdoucalmem-linuxmmap.c  \
$(OPLK_BASE_DIR)/stack/src/user/timer/timer-linuxuser.c  \
$(OPLK_BASE_DIR)/stack/src/common/debugstr.c  \
$(OPLK_BASE_DIR)/stack/src/arch/linux/ftracedebug.c  \
$(OPLK_BASE_DIR)/contrib/trace/trace-printf.c  \
$(OPLK_BASE_DIR)/stack/src/arch/linux/target-linux.c  \
$(OPLK_BASE_DIR)/stack/src/arch/linux/target-mutex.c  \
$(OPLK_BASE_DIR)/stack/src/common/circbuf/circbuffer.c  \
$(OPLK_BASE_DIR)/stack/src/common/circbuf/circbuf-posixshm.c  \
$(OPLK_BASE_DIR)/stack/src/common/memmap/memmap-null.c  \
$(OPLK_BASE_DIR)/stack/src/common/ami/amile.c  


OBJECTS :=$(SOURCE_FILES:.c=.o)
#OBJECTS := $(patsubst %.c,%.o,$(SOURCE_FILES))

OBJS := $(notdir $(OBJECTS))

.PHONY: all
 
all : $(OBJECTS) lib$(PROJECT).a

$(OBJECTS) : %.o : %.c
    $(CC) -c -o $(notdir $@) $(INCDIR) $(DEFS) $(CFLAGS) $^

lib$(PROJECT).a: $(OBJS)  
    $(AR) -rcs $@ $^

   
.PHONY: clean
clean:
    rm lib$(PROJECT).a $(OBJS)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值