etisserant@38: #! gmake etisserant@38: etisserant@38: # etisserant@38: # Copyright (C) 2006 Laurent Bessard etisserant@38: # etisserant@38: # This file is part of canfestival, a library implementing the canopen etisserant@38: # stack etisserant@38: # etisserant@38: # This library is free software; you can redistribute it and/or etisserant@38: # modify it under the terms of the GNU Lesser General Public etisserant@38: # License as published by the Free Software Foundation; either etisserant@38: # version 2.1 of the License, or (at your option) any later version. etisserant@38: # etisserant@38: # This library is distributed in the hope that it will be useful, etisserant@38: # but WITHOUT ANY WARRANTY; without even the implied warranty of etisserant@38: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU etisserant@38: # Lesser General Public License for more details. etisserant@38: # etisserant@38: # You should have received a copy of the GNU Lesser General Public etisserant@38: # License along with this library; if not, write to the Free Software etisserant@38: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA etisserant@38: # etisserant@38: etisserant@38: CC = SUB_CC greg@329: CXX = SUB_CXX greg@329: LD = SUB_LD etisserant@38: OPT_CFLAGS = -O2 etisserant@38: CFLAGS = SUB_OPT_CFLAGS etisserant@38: PROG_CFLAGS = SUB_PROG_CFLAGS etisserant@38: PREFIX = SUB_PREFIX etisserant@38: TARGET = SUB_TARGET etisserant@38: CAN_DRIVER = SUB_CAN_DRIVER etisserant@38: TIMERS_DRIVER = SUB_TIMERS_DRIVER etisserant@145: ENABLE_DLL_DRIVERS=SUB_ENABLE_DLL_DRIVERS etisserant@145: CAN_DLL_CFLAGS=SUB_CAN_DLL_CFLAGS etisserant@38: etisserant@145: INCLUDES = -I../../include -I../../include/$(TARGET) -I../../include/$(CAN_DRIVER) etisserant@38: etisserant@38: OBJS = $(CAN_DRIVER).o etisserant@38: etisserant@145: ifeq ($(ENABLE_DLL_DRIVERS),1) etisserant@145: CFLAGS += -fPIC etisserant@145: DRIVER = cyg$(CAN_DRIVER).dll etisserant@145: else etisserant@145: DRIVER = $(OBJS) etisserant@145: endif etisserant@38: s@790: TARGET_SOFILES = $(DESTDIR)$(PREFIX)/lib/$(DRIVER) etisserant@38: etisserant@38: all: driver etisserant@38: etisserant@145: driver: $(DRIVER) etisserant@38: Christian@658: %.o: %.c cancfg.h etisserant@38: $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< etisserant@38: etisserant@145: cyg$(CAN_DRIVER).dll: $(OBJS) greg@329: $(LD) $(PROG_CFLAGS) -shared -o $@ \ etisserant@145: -Wl,--export-all-symbols \ etisserant@145: -Wl,--enable-auto-import \ etisserant@145: -Wl,--whole-archive $< \ etisserant@145: -Wl,--no-whole-archive $(CAN_DLL_CFLAGS) \ etisserant@145: -Wl,--exclude-libs,ALL etisserant@145: etisserant@145: install: libcanfestival_$(CAN_DRIVER).so s@790: mkdir -p $(DESTDIR)$(PREFIX)/lib/ s@790: cp $< $(DESTDIR)$(PREFIX)/lib/ etisserant@158: etisserant@38: uninstall: etisserant@146: rm -f $(TARGET_SOFILES) etisserant@38: etisserant@38: clean: etisserant@502: rm -f $(OBJS) cyg$(CAN_DRIVER).dll etisserant@38: etisserant@38: mrproper: clean