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