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