AC_SUBST(HAVE_ARM_CC)
AC_SUBST(ARM_CC)
+if test -d pdclib -a x"$HAVE_ARM_CC" = xyes; then
+ PDCLIB_INCLUDES='-I$(TOPDIR)/../pdclib/opt/include'
+ PDCLIB_LIBS_M0='-L$(TOPDIR)/../pdclib/opt/lib -lpdclib-cortex-m0'
+ PDCLIB_LIBS_M3='-L$(TOPDIR)/../pdclib/opt/lib -lpdclib-cortex-m3'
+ HAVE_PDCLIB=yes
+else
+ PDCLIB_INCLUDES=''
+ PDCLIB_LIBS_M0='-lpdclib-cortex-m0'
+ PDCLIB_LIBS_M3='-lpdclib-cortex-m3'
+ HAVE_PDCLIB=no
+fi
+
+AM_CONDITIONAL(PDCLIB, [test x$HAVE_PDCLIB = xyes])
+
+AC_SUBST(PDCLIB_INCLUDES)
+AC_SUBST(PDCLIB_LIBS_M0)
+AC_SUBST(PDCLIB_LIBS_M3)
+AC_SUBST(HAVE_PDCLIB)
+
if test "x$HAVE_ARM_CC" = "xyes"; then
save_CC="$CC"
save_CFLAGS="$CFLAGS"
[HAVE_ARM_M0_CC=no])
AC_MSG_RESULT([$HAVE_ARM_M0_CC])
- AC_CHECK_LIB(pdclib-cortex-m0,memcpy,
- [],
- [HAVE_ARM_M0_CC=no])
-
CFLAGS="-mthumb -mcpu=cortex-m3"
AC_MSG_CHECKING([if ]$ARM_CC[ supports cortex-m3])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int i;])],
[HAVE_ARM_M3_CC=no])
AC_MSG_RESULT([$HAVE_ARM_M3_CC])
- AC_CHECK_LIB(pdclib-cortex-m3,memcpy,
- [],
- [HAVE_ARM_M3_CC=no])
+ if test x$HAVE_PDCLIB != xyes; then
+ AC_CHECK_LIB(pdclib-cortex-m0,memcpy,
+ [],
+ [HAVE_ARM_M0_CC=no])
+
+ AC_CHECK_LIB(pdclib-cortex-m3,memcpy,
+ [],
+ [HAVE_ARM_M3_CC=no])
+ fi
AC_LANG_POP([C])
LIBS="$save_LIBS"
echo " AVR support.................: ${HAVE_AVR_CC}"
echo " Android support.............: ${HAVE_ANDROID_SDK}"
echo " STlink support..............: ${HAVE_STLINK}"
+echo " Local pdclib................: ${HAVE_PDCLIB}"
echo ""
echo " Java paths"
echo " freetts.....................: ${FREETTS}"
ARM_CC=@ARM_CC@
HAVE_ARM_M3_CC=@HAVE_ARM_M3_CC@
HAVE_ARM_M0_CC=@HAVE_ARM_M0_CC@
+PDCLIB_INCLUDES=@PDCLIB_INCLUDES@
+PDCLIB_LIBS_M0=@PDCLIB_LIBS_M0@
+PDCLIB_LIBS_M3=@PDCLIB_LIBS_M3@
+HAVE_PDCLIB=@HAVE_PDCLIB@
SDCC=@SDCC@
HAVE_SDCC=@HAVE_SDCC@
SUBDIRS=
+ifeq ($(strip $(HAVE_PDCLIB)),yes)
+PDCLIB=pdclib
+endif
+
ifeq ($(strip $(HAVE_SDCC)),yes)
SUBDIRS+=$(SDCCDIRS)
endif
all-recursive: all-local
-all-local: altitude.h altitude-pa.h ao_kalman.h ao_whiten.h
+all-local: altitude.h altitude-pa.h ao_kalman.h ao_whiten.h $(PDCLIB)
altitude.h: make-altitude
nickle $< > $@
clean-local:
rm -f altitude.h ao_kalman.h
+
+pdclib:
+ cd ../pdclib && make && make prefix=`pwd`/opt install
ELFTOHEX=$(TOPDIR)/../ao-tools/ao-elftohex/ao-elftohex
CC=$(ARM_CC)
-AO_CFLAGS=-I. -I$(TOPDIR)/lpc -I$(TOPDIR)/core -I$(TOPDIR)/drivers -I$(TOPDIR)/product -I$(TOPDIR)
+AO_CFLAGS=-I. -I$(TOPDIR)/lpc -I$(TOPDIR)/core -I$(TOPDIR)/drivers -I$(TOPDIR)/product -I$(TOPDIR) $(PDCLIB_INCLUDES)
LPC_CFLAGS=-std=gnu99 -mlittle-endian -mcpu=cortex-m0 -mthumb -ffreestanding -nostdlib $(AO_CFLAGS)
NICKLE=nickle
-LIBS=-lpdclib-cortex-m0 -lgcc
+LIBS=$(PDCLIB_LIBS_M0) -lgcc
V=0
# The user has explicitly enabled quiet compilation.
include $(TOPDIR)/Makedefs
CC=$(ARM_CC)
-LIBS=-lpdclib-cortex-m3 -lgcc
+LIBS=$(PDCLIB_LIBS_M3) -lgcc
-AO_CFLAGS=-I. -I../stm -I../core -I../drivers -I../math -I..
+AO_CFLAGS=-I. -I../stm -I../core -I../drivers -I../math -I.. $(PDCLIB_INCLUDES)
STM_CFLAGS=-std=gnu99 -mlittle-endian -mcpu=cortex-m3 -mthumb -ffreestanding -nostdlib $(AO_CFLAGS)
LDFLAGS=-L../stm -Wl,-Taltos.ld