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