summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-10-10 00:00:05 -0700
committerKeith Packard <keithp@keithp.com>2013-10-10 00:01:26 -0700
commitd8d3835fedf9b7c4d203f321e72c2b086ebb3b97 (patch)
tree3a1dc1e645d3e2d83421c036765912714bcdde25
parent7f6cbfac7c1965add91ebfc28ca3eac4561b4fb6 (diff)
altos: Use installed pdclib
Switch over to the installed pdclib everywhere Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--configure.ac17
-rw-r--r--src/easymini-v1.0/Makefile4
-rw-r--r--src/lpc/Makefile-flash.defs43
-rw-r--r--src/lpc/Makefile-lpc.defs44
-rw-r--r--src/lpc/Makefile.defs36
-rw-r--r--src/lpcxpresso/Makefile2
-rw-r--r--src/megadongle-v0.1/Makefile2
-rw-r--r--src/stm-demo/Makefile2
-rw-r--r--src/stm-flash/Makefile2
-rw-r--r--src/stm/Makefile-flash.defs6
-rw-r--r--src/stm/Makefile.defs6
-rw-r--r--src/telegps-v0.1/Makefile2
-rw-r--r--src/telegps-v0.3/Makefile2
-rw-r--r--src/telelco-v0.1/Makefile2
-rw-r--r--src/telelco-v0.2/Makefile2
-rw-r--r--src/telemega-v0.1/Makefile2
-rw-r--r--src/telemega-v0.3/Makefile2
-rw-r--r--src/telemetrum-v2.0/Makefile2
-rw-r--r--src/telescience-v0.2/Makefile2
19 files changed, 83 insertions, 97 deletions
diff --git a/configure.ac b/configure.ac
index de344335..8024b7c6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -242,22 +242,35 @@ AC_SUBST(ARM_CC)
if test "x$HAVE_ARM_CC" = "xyes"; then
save_CC="$CC"
save_CFLAGS="$CFLAGS"
+ save_LIBS="$LIBS"
CC="$ARM_CC"
CFLAGS="-mthumb -mcpu=cortex-m0"
+ LIBS="-ffreestanding -nostdlib"
AC_LANG_PUSH([C])
AC_MSG_CHECKING([if ]$ARM_CC[ supports cortex-m0])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int i;])],
[HAVE_ARM_M0_CC=yes],
[HAVE_ARM_M0_CC=no])
- AC_MSG_RESULT([$HAVE_ARM_M0])
+ 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=yes],
[HAVE_ARM_M3_CC=no])
- AC_MSG_RESULT([$HAVE_ARM_M3])
+ AC_MSG_RESULT([$HAVE_ARM_M3_CC])
+
+ AC_CHECK_LIB(pdclib-cortex-m3,memcpy,
+ [],
+ [HAVE_ARM_M3_CC=no])
+
AC_LANG_POP([C])
+ LIBS="$save_LIBS"
CFLAGS="$save_CFLAGS"
CC="$save_CC"
else
diff --git a/src/easymini-v1.0/Makefile b/src/easymini-v1.0/Makefile
index ec305c94..6ab79425 100644
--- a/src/easymini-v1.0/Makefile
+++ b/src/easymini-v1.0/Makefile
@@ -60,10 +60,8 @@ OBJ=$(SRC:.c=.o)
all: $(PROG)
-LDFLAGS=-L../lpc -Wl,-Taltos.ld
-
$(PROG): Makefile $(OBJ) altos.ld
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
ao_product.h: ao-make-product.5c ../Version
$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@
diff --git a/src/lpc/Makefile-flash.defs b/src/lpc/Makefile-flash.defs
index ab7181b9..bb90b0d7 100644
--- a/src/lpc/Makefile-flash.defs
+++ b/src/lpc/Makefile-flash.defs
@@ -1,39 +1,4 @@
-vpath % $(TOPDIR)/lpc:$(TOPDIR)/product:$(TOPDIR)/drivers:$(TOPDIR)/core:$(TOPDIR)/util:$(TOPDIR)
-vpath ao-make-product.5c $(TOPDIR)/util
-
-.SUFFIXES: .elf .ihx
-
-.elf.ihx:
- objcopy -O ihex $*.elf $@
-
-
-ifndef VERSION
-include $(TOPDIR)/Version
-endif
-include $(TOPDIR)/Makedefs
-
-CC=$(ARM_CC)
-SAT=/opt/cortex
-SAT_CLIB=$(SAT)/lib/pdclib-cortex-m0.a
-SAT_CFLAGS=-I$(SAT)/include
-
-AO_CFLAGS=-I. -I$(TOPDIR)/lpc -I$(TOPDIR)/core -I$(TOPDIR)/drivers -I$(TOPDIR)/product -I$(TOPDIR)
-STM_CFLAGS=-std=gnu99 -mlittle-endian -mcpu=cortex-m0 -mthumb -ffreestanding -nostdlib $(AO_CFLAGS) $(SAT_CFLAGS)
-
-LDFLAGS=-L$(TOPDIR)/lpc -Wl,-Taltos-loader.ld
-
-NICKLE=nickle
-
-V=0
-# The user has explicitly enabled quiet compilation.
-ifeq ($(V),0)
-quiet = @printf " $1 $2 $@\n"; $($1)
-endif
-# Otherwise, print the full command line.
-quiet ?= $($1)
-
-.c.o:
- $(call quiet,CC) -c $(CFLAGS) -o $@ $<
+include $(TOPDIR)/lpc/Makefile-lpc.defs
INC = \
ao.h \
@@ -68,13 +33,15 @@ PRODUCT=AltosFlash-$(VERSION)
PRODUCT_DEF=-DALTOS_FLASH
IDPRODUCT=0x000a
-CFLAGS = $(PRODUCT_DEF) $(STM_CFLAGS) -g -Os
+CFLAGS = $(PRODUCT_DEF) $(LPC_CFLAGS) -g -Os
+
+LDFLAGS=$(CFLAGS) -L$(TOPDIR)/lpc -Wl,-Taltos-loader.ld
PROGNAME=altos-flash
PROG=$(HARDWARE)-$(PROGNAME)-$(VERSION).elf
$(PROG): Makefile $(OBJ) altos-loader.ld
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
ao_product.h: ao-make-product.5c $(TOPDIR)/Version
$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@
diff --git a/src/lpc/Makefile-lpc.defs b/src/lpc/Makefile-lpc.defs
new file mode 100644
index 00000000..32a02a4c
--- /dev/null
+++ b/src/lpc/Makefile-lpc.defs
@@ -0,0 +1,44 @@
+ifndef TOPDIR
+TOPDIR=..
+endif
+
+include $(TOPDIR)/Makedefs
+
+vpath % $(TOPDIR)/lpc:$(TOPDIR)/product:$(TOPDIR)/drivers:$(TOPDIR)/core:$(TOPDIR)/util:$(TOPDIR)/kalman:$(TOPDIR/aes):$(TOPDIR)
+vpath make-altitude $(TOPDIR)/util
+vpath make-kalman $(TOPDIR)/util
+vpath kalman.5c $(TOPDIR)/kalman
+vpath kalman_filter.5c $(TOPDIR)/kalman
+vpath load_csv.5c $(TOPDIR)/kalman
+vpath matrix.5c $(TOPDIR)/kalman
+vpath ao-make-product.5c $(TOPDIR)/util
+
+.SUFFIXES: .elf .ihx
+
+.elf.ihx:
+ objcopy -O ihex $*.elf $@
+
+
+ifndef VERSION
+include $(TOPDIR)/Version
+endif
+
+CC=$(ARM_CC)
+
+AO_CFLAGS=-I. -I$(TOPDIR)/lpc -I$(TOPDIR)/core -I$(TOPDIR)/drivers -I$(TOPDIR)/product -I$(TOPDIR)
+LPC_CFLAGS=-std=gnu99 -mlittle-endian -mcpu=cortex-m0 -mthumb -ffreestanding -nostdlib $(AO_CFLAGS)
+
+NICKLE=nickle
+
+LIBS=-lpdclib-cortex-m0 -lgcc
+
+V=0
+# The user has explicitly enabled quiet compilation.
+ifeq ($(V),0)
+quiet = @printf " $1 $2 $@\n"; $($1)
+endif
+# Otherwise, print the full command line.
+quiet ?= $($1)
+
+.c.o:
+ $(call quiet,CC) -c $(CFLAGS) -o $@ $<
diff --git a/src/lpc/Makefile.defs b/src/lpc/Makefile.defs
index d541230a..b6d739c2 100644
--- a/src/lpc/Makefile.defs
+++ b/src/lpc/Makefile.defs
@@ -1,43 +1,11 @@
-vpath % ../lpc:../product:../drivers:../core:../util:../kalman:../aes:..
-vpath make-altitude ../util
-vpath make-kalman ../util
-vpath kalman.5c ../kalman
-vpath kalman_filter.5c ../kalman
-vpath load_csv.5c ../kalman
-vpath matrix.5c ../kalman
-vpath ao-make-product.5c ../util
-
ifndef TOPDIR
TOPDIR=..
endif
-ifndef VERSION
-include $(TOPDIR)/Version
-endif
+include $(TOPDIR)/lpc/Makefile-lpc.defs
include $(TOPDIR)/Makedefs
-CC=$(ARM_CC)
-SAT=/opt/cortex
-SAT_CLIB=$(SAT)/lib/pdclib-cortex-m0.a
-SAT_CFLAGS=-I$(SAT)/include
-
-AO_CFLAGS=-I. -I$(TOPDIR)/lpc -I$(TOPDIR)/core -I$(TOPDIR)/drivers -I$(TOPDIR)
-LPC_CFLAGS=-std=gnu99 -mlittle-endian -mcpu=cortex-m0 -mthumb -ffreestanding -nostdlib $(AO_CFLAGS) $(SAT_CFLAGS)
-
-LDFLAGS=$(LPC_CFLAGS) -L$(TOPDIR)/stm -Wl,-Taltos.ld
-
-NICKLE=nickle
-
-V=0
-# The user has explicitly enabled quiet compilation.
-ifeq ($(V),0)
-quiet = @printf " $1 $2 $@\n"; $($1)
-endif
-# Otherwise, print the full command line.
-quiet ?= $($1)
-
-.c.o:
- $(call quiet,CC) -c $(CFLAGS) $<
+LDFLAGS=$(CFLAGS) -L$(TOPDIR)/lpc -Wl,-Taltos.ld
ao_serial_lpc.h: $(TOPDIR)/lpc/baud_rate ao_pins.h
nickle $(TOPDIR)/lpc/baud_rate `awk '/AO_LPC_CLKOUT/{print $$3}' ao_pins.h` > $@
diff --git a/src/lpcxpresso/Makefile b/src/lpcxpresso/Makefile
index 3745f283..374c052f 100644
--- a/src/lpcxpresso/Makefile
+++ b/src/lpcxpresso/Makefile
@@ -45,7 +45,7 @@ all: $(PROG)
LDFLAGS=-L../lpc -Wl,-Taltos.ld
$(PROG): Makefile $(OBJ)
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
ao_product.h: ao-make-product.5c ../Version
$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@
diff --git a/src/megadongle-v0.1/Makefile b/src/megadongle-v0.1/Makefile
index 7f12963f..268f186f 100644
--- a/src/megadongle-v0.1/Makefile
+++ b/src/megadongle-v0.1/Makefile
@@ -69,7 +69,7 @@ OBJ=$(SRC:.c=.o)
all: $(PROG)
$(PROG): Makefile $(OBJ) altos.ld
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
$(OBJ): $(INC)
diff --git a/src/stm-demo/Makefile b/src/stm-demo/Makefile
index 48fa07eb..990968c2 100644
--- a/src/stm-demo/Makefile
+++ b/src/stm-demo/Makefile
@@ -56,7 +56,7 @@ all: $(ELF) $(IHX)
LDFLAGS=-L../stm -Wl,-Taltos.ld
$(ELF): Makefile $(OBJ)
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $@ $(OBJ) $(SAT_CLIB) -lgcc
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $@ $(OBJ) $(LIBS)
ao_product.h: ao-make-product.5c ../Version
$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@
diff --git a/src/stm-flash/Makefile b/src/stm-flash/Makefile
index 1ea35581..5c0699e1 100644
--- a/src/stm-flash/Makefile
+++ b/src/stm-flash/Makefile
@@ -41,7 +41,7 @@ all: $(PROG)
LDFLAGS=-L../stm -Wl,-Taltos-loader.ld
$(PROG): Makefile $(OBJ)
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
ao_product.h: ao-make-product.5c ../Version
$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@
diff --git a/src/stm/Makefile-flash.defs b/src/stm/Makefile-flash.defs
index f429d9bd..159f8b9c 100644
--- a/src/stm/Makefile-flash.defs
+++ b/src/stm/Makefile-flash.defs
@@ -12,9 +12,7 @@ endif
include $(TOPDIR)/Makedefs
CC=$(ARM_CC)
-SAT=/opt/cortex
-SAT_CLIB=$(SAT)/lib/pdclib-cortex-m3.a
-SAT_CFLAGS=-I$(SAT)/include
+LIBS=-lpdclib-cortex-m3 -lgcc
AO_CFLAGS=-I. -I$(TOPDIR)/stm -I$(TOPDIR)/core -I$(TOPDIR)/drivers -I$(TOPDIR)/product -I$(TOPDIR)
STM_CFLAGS=-std=gnu99 -mlittle-endian -mcpu=cortex-m3 -mthumb -ffreestanding -nostdlib $(AO_CFLAGS) $(SAT_CFLAGS)
@@ -73,7 +71,7 @@ PROGNAME=altos-flash
PROG=$(HARDWARE)-$(PROGNAME)-$(VERSION).elf
$(PROG): Makefile $(OBJ) altos-loader.ld
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
ao_product.h: ao-make-product.5c $(TOPDIR)/Version
$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@
diff --git a/src/stm/Makefile.defs b/src/stm/Makefile.defs
index ede75f80..ee1cb658 100644
--- a/src/stm/Makefile.defs
+++ b/src/stm/Makefile.defs
@@ -22,12 +22,10 @@ endif
include $(TOPDIR)/Makedefs
CC=$(ARM_CC)
-SAT=/opt/cortex
-SAT_CLIB=$(SAT)/lib/pdclib-cortex-m3.a
-SAT_CFLAGS=-I$(SAT)/include
+LIBS=-lpdclib-cortex-m3 -lgcc
AO_CFLAGS=-I. -I../stm -I../core -I../drivers -I..
-STM_CFLAGS=-std=gnu99 -mlittle-endian -mcpu=cortex-m3 -mthumb -ffreestanding -nostdlib $(AO_CFLAGS) $(SAT_CFLAGS)
+STM_CFLAGS=-std=gnu99 -mlittle-endian -mcpu=cortex-m3 -mthumb -ffreestanding -nostdlib $(AO_CFLAGS)
LDFLAGS=-L../stm -Wl,-Taltos.ld
diff --git a/src/telegps-v0.1/Makefile b/src/telegps-v0.1/Makefile
index 64deddc6..170294e6 100644
--- a/src/telegps-v0.1/Makefile
+++ b/src/telegps-v0.1/Makefile
@@ -82,7 +82,7 @@ OBJ=$(SRC:.c=.o)
all: $(PROG)
$(PROG): Makefile $(OBJ) altos.ld
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
$(OBJ): $(INC)
diff --git a/src/telegps-v0.3/Makefile b/src/telegps-v0.3/Makefile
index ca7d7c2b..d129d295 100644
--- a/src/telegps-v0.3/Makefile
+++ b/src/telegps-v0.3/Makefile
@@ -66,7 +66,7 @@ all: $(PROG)
LDFLAGS=-L../lpc -Wl,-Taltos.ld
$(PROG): Makefile $(OBJ) altos.ld
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
$(OBJ): $(INC)
diff --git a/src/telelco-v0.1/Makefile b/src/telelco-v0.1/Makefile
index 24083308..0f61788c 100644
--- a/src/telelco-v0.1/Makefile
+++ b/src/telelco-v0.1/Makefile
@@ -76,7 +76,7 @@ OBJ=$(SRC:.c=.o)
all: $(PROG)
$(PROG): Makefile $(OBJ) altos.ld
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
../altitude.h: make-altitude
nickle $< > $@
diff --git a/src/telelco-v0.2/Makefile b/src/telelco-v0.2/Makefile
index f78ca9e2..bc5f8571 100644
--- a/src/telelco-v0.2/Makefile
+++ b/src/telelco-v0.2/Makefile
@@ -85,7 +85,7 @@ OBJ=$(SRC:.c=.o)
all: $(PROG)
$(PROG): Makefile $(OBJ) altos.ld
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
../altitude.h: make-altitude
nickle $< > $@
diff --git a/src/telemega-v0.1/Makefile b/src/telemega-v0.1/Makefile
index bf756e96..bbf46f3c 100644
--- a/src/telemega-v0.1/Makefile
+++ b/src/telemega-v0.1/Makefile
@@ -112,7 +112,7 @@ OBJ=$(SRC:.c=.o)
all: $(PROG)
$(PROG): Makefile $(OBJ) altos.ld
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
../altitude-pa.h: make-altitude-pa
nickle $< > $@
diff --git a/src/telemega-v0.3/Makefile b/src/telemega-v0.3/Makefile
index f2c0625f..6e5da721 100644
--- a/src/telemega-v0.3/Makefile
+++ b/src/telemega-v0.3/Makefile
@@ -112,7 +112,7 @@ OBJ=$(SRC:.c=.o)
all: $(PROG)
$(PROG): Makefile $(OBJ) altos.ld
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
../altitude-pa.h: make-altitude-pa
nickle $< > $@
diff --git a/src/telemetrum-v2.0/Makefile b/src/telemetrum-v2.0/Makefile
index c03a5539..be72d493 100644
--- a/src/telemetrum-v2.0/Makefile
+++ b/src/telemetrum-v2.0/Makefile
@@ -101,7 +101,7 @@ OBJ=$(SRC:.c=.o)
all: $(PROG)
$(PROG): Makefile $(OBJ) altos.ld
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
../altitude-pa.h: make-altitude-pa
nickle $< > $@
diff --git a/src/telescience-v0.2/Makefile b/src/telescience-v0.2/Makefile
index f16ef268..c53a6cc3 100644
--- a/src/telescience-v0.2/Makefile
+++ b/src/telescience-v0.2/Makefile
@@ -68,7 +68,7 @@ OBJ=$(SRC:.c=.o)
all: $(PROG)
$(PROG): Makefile $(OBJ) altos.ld
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
$(OBJ): $(INC)