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)
#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)