Add --with parameters to configure for compiler selection new-state
authorKeith Packard <keithp@keithp.com>
Tue, 8 Oct 2013 16:22:03 +0000 (09:22 -0700)
committerKeith Packard <keithp@keithp.com>
Tue, 8 Oct 2013 16:22:03 +0000 (09:22 -0700)
This allows the user to specify which compiler to use for each target
CPU. Also checks to make sure the arm compiler supports -m0 and -m3
cpu type flags. The build now actually uses the specified compilers too.

Signed-off-by: Keith Packard <keithp@keithp.com>
15 files changed:
configure.ac
src/Makedefs.in [new file with mode: 0644]
src/Makefile
src/avr-demo/Makefile
src/avr/Makefile.defs [new file with mode: 0644]
src/cc1111/Makefile.cc1111
src/lpc/Makefile-flash.defs
src/lpc/Makefile.defs
src/micropeak/Makefile
src/nanopeak-v0.1/Makefile
src/stm/Makefile-flash.defs
src/stm/Makefile.defs
src/telepyro-v0.1/Makefile
src/telescience-pwm/Makefile
src/telescience-v0.1/Makefile

index e88109f936c434d1eb5e342203ed030fdff2e306..729149daf5cf2e26e7351bf62acefdad5b2ea52e 100644 (file)
@@ -180,21 +180,151 @@ if test "x$GCC" = "xyes"; then
 fi
 AC_SUBST(WARN_CFLAGS)
 
 fi
 AC_SUBST(WARN_CFLAGS)
 
-AC_CHECK_PROG([HAVE_SDCC], [sdcc], yes, no)
+#
+# Configure SDCC
+#
+
+AC_ARG_WITH([sdcc],
+           [AS_HELP_STRING([--with-sdcc],
+                           [Name of SDCC])],
+           [],
+           [with_sdcc=auto])
+
+if test "x$with_sdcc" != "xno"; then       
+       if test "x$with_sdcc" = "xauto"; then
+               with_sdcc="sdcc"
+               AC_CHECK_PROG([HAVE_SDCC],[$with_sdcc], yes, no)
+       else
+               HAVE_SDCC=yes
+       fi
+else
+       HAVE_SDCC=no
+fi
+
 if test "x$HAVE_SDCC" = "xno"; then
 if test "x$HAVE_SDCC" = "xno"; then
-       AC_MSG_WARN([No sdcc found, cc1111 binaries will not be built])
+       AC_MSG_WARN([SDCC not found, cc1111 binaries will not be built])
+else
+       SDCC=$with_sdcc
+fi
+
+AC_SUBST(SDCC)
+AC_SUBST(HAVE_SDCC)
+
+#
+# Configure ARM compiler for STM32L and LPC11U14
+#
+
+AC_ARG_WITH([arm-cc],
+           [AS_HELP_STRING([--with-arm-cc],
+                           [Name of ARM C compiler])],
+           [],
+           [with_arm_cc=auto])
+
+if test "x$with_arm_cc" != "xno"; then     
+       if test "x$with_arm_cc" = "xauto"; then
+               with_arm_cc="arm-none-eabi-gcc"
+               AC_CHECK_PROG([HAVE_ARM_CC],[$with_arm_cc], yes, no)
+       else
+               HAVE_ARM_CC=yes
+       fi
+else
+       HAVE_ARM_CC=no
 fi
 
 fi
 
-AC_CHECK_PROG([HAVE_ARM_GCC],[arm-none-eabi-gcc], yes, no,[/opt/cortex/bin])
-if test "x$HAVE_ARM_GCC" = "xno"; then
-       AC_MSG_WARN([No summon toolchain arm compiler found, STM32L binaries will not be built])
+if test "x$HAVE_ARM_CC" = "xno"; then
+       AC_MSG_WARN([Arm compiler not found, ARM binaries will not be built])
+else
+       ARM_CC=$with_arm_cc
+fi
+AC_SUBST(HAVE_ARM_CC)
+AC_SUBST(ARM_CC)
+
+if test "x$HAVE_ARM_CC" = "xyes"; then
+       save_CC="$CC"
+       save_CFLAGS="$CFLAGS"
+       CC="$ARM_CC"
+       CFLAGS="-mthumb -mcpu=cortex-m0"
+       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])
+       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_LANG_POP([C])
+       CFLAGS="$save_CFLAGS"
+       CC="$save_CC"
+else
+       HAVE_ARM_M3_CC=no
+       HAVE_ARM_M0_CC=no
+fi
+AC_SUBST(HAVE_ARM_M3_CC)
+AC_SUBST(HAVE_ARM_M0_CC)
+       
+if test "x$HAVE_ARM_M3_CC" = "xno"; then
+       AC_MSG_WARN([No cortex-m3 arm compiler found, STM32L binaries will not be built])
 fi
 
 fi
 
-AC_CHECK_PROG([HAVE_ARM_M0_GCC], [arm-none-eabi-gcc], yes, no,[/usr/bin])
-if test "x$HAVE_ARM_M0_GCC" = "xno"; then
-       AC_MSG_WARN([No linaro toolchain arm cortex-m0 compiler found, LPC11U14 binaries will not be built])
+if test "x$HAVE_ARM_M0_CC" = "xno"; then
+       AC_MSG_WARN([No cortex-m0 arm compiler found, LPC11U14 binaries will not be built])
 fi
 
 fi
 
+#
+# Configure AVR compiler
+#
+
+AC_ARG_WITH([avr-cc],
+           [AS_HELP_STRING([--with-avr-cc],
+                           [Name of AVR C compiler])],
+           [],
+           [with_avr_cc=auto])
+
+if test "x$with_avr_cc" != "xno"; then     
+       if test "x$with_avr_cc" = "xauto"; then
+               with_avr_cc="avr-gcc"
+               AC_CHECK_PROG([HAVE_AVR_CC],[$with_avr_cc], yes, no)
+       else
+               HAVE_AVR_CC=yes
+       fi
+else
+       HAVE_AVR_CC=no
+fi
+
+AC_ARG_WITH([avr-objcopy],
+           [AS_HELP_STRING([--with-avr-objcopy],
+                           [Name of AVR objcopy])],
+           [],
+           [with_avr_objcopy=auto])
+
+if test "x$with_avr_objcopy" != "xno"; then        
+       if test "x$with_avr_objcopy" = "xauto"; then
+               with_avr_objcopy="avr-objcopy"
+               AC_CHECK_PROG([HAVE_AVR_OBJCOPY],[$with_avr_objcopy], yes, no)
+       else
+               HAVE_AVR_OBJCOPY=yes
+       fi
+else
+       HAVE_AVR_OBJCOPY=no
+fi
+
+if test "x$HAVE_AVR_CC" = "xno" -o "x$HAVE_AVR_OBJCOPY" = "xno"; then
+       AC_MSG_WARN([AVR compiler and objcopy not found, atmel binaries will not be built])
+       HAVE_AVR_CC=no
+else
+       AVR_CC=$with_avr_cc
+       AVR_OBJCOPY=$with_avr_objcopy
+fi
+
+AC_SUBST(AVR_CC)
+AC_SUBST(AVR_OBJCOPY)
+AC_SUBST(HAVE_AVR_CC)
+
 AC_CHECK_PROG([HAVE_NICKLE], [nickle], yes, no)
 if test "x$HAVE_NICKLE" = "xno"; then
        AC_MSG_ERROR([Please install nickle to build AltOs])
 AC_CHECK_PROG([HAVE_NICKLE], [nickle], yes, no)
 if test "x$HAVE_NICKLE" = "xno"; then
        AC_MSG_ERROR([Please install nickle to build AltOs])
@@ -213,6 +343,7 @@ AM_CONDITIONAL([LIBSTLINK], [test x$HAVE_STLINK != xno])
 
 AC_OUTPUT([
 Makefile
 
 AC_OUTPUT([
 Makefile
+src/Makedefs
 altoslib/Makefile
 altosuilib/Makefile
 altosuilib/AltosUIVersion.java
 altoslib/Makefile
 altosuilib/Makefile
 altosuilib/AltosUIVersion.java
@@ -248,9 +379,13 @@ echo ""
 echo "  Package: ${PACKAGE_NAME} ${PACKAGE_VERSION}"
 echo ""
 echo "  Configuration"
 echo "  Package: ${PACKAGE_NAME} ${PACKAGE_VERSION}"
 echo ""
 echo "  Configuration"
-echo "    STM32L support..............: ${HAVE_ARM_GCC}"
-echo "    LPC11U14 support............: ${HAVE_ARM_M0_GCC}"
+echo "    Arm compiler................: ${ARM_CC}"
+echo "    STM32L support..............: ${HAVE_ARM_M3_CC}"
+echo "    LPC11U14 support............: ${HAVE_ARM_M0_CC}"
+echo "    SDCC........................: ${SDCC}"
 echo "    CC1111 support..............: ${HAVE_SDCC}"
 echo "    CC1111 support..............: ${HAVE_SDCC}"
+echo "    AVR compiler................: ${AVR_CC} ${AVR_OBJCOPY}"
+echo "    AVR support.................: ${HAVE_AVR_CC}"
 echo "    Android support.............: ${HAVE_ANDROID_SDK}"
 echo "    STlink support..............: ${HAVE_STLINK}"
 echo ""
 echo "    Android support.............: ${HAVE_ANDROID_SDK}"
 echo "    STlink support..............: ${HAVE_STLINK}"
 echo ""
diff --git a/src/Makedefs.in b/src/Makedefs.in
new file mode 100644 (file)
index 0000000..6dc9ab0
--- /dev/null
@@ -0,0 +1,10 @@
+ARM_CC=@ARM_CC@
+HAVE_ARM_M3_CC=@HAVE_ARM_M3_CC@
+HAVE_ARM_M0_CC=@HAVE_ARM_M0_CC@
+
+SDCC=@SDCC@
+HAVE_SDCC=@HAVE_SDCC@
+
+AVR_CC=@AVR_CC@
+AVR_OBJCOPY=@AVR_OBJCOPY@
+HAVE_AVR_CC=@HAVE_AVR_CC@
index 23cd2920d6e9a8b66c70258c1cf61ee2f6b53f10..ae231c64af20a19482965819a36a0ceb77f02223 100644 (file)
@@ -13,6 +13,7 @@ vpath load_csv.5c kalman
 vpath matrix.5c kalman
 
 include Version
 vpath matrix.5c kalman
 
 include Version
+include Makedefs
 
 SDCCDIRS=\
        telemetrum-v1.2 telemetrum-v1.1 telemetrum-v1.0 \
 
 SDCCDIRS=\
        telemetrum-v1.2 telemetrum-v1.1 telemetrum-v1.0 \
@@ -23,10 +24,7 @@ SDCCDIRS=\
        telefire-v0.1 telefire-v0.2 \
        telemini-v2.0
 
        telefire-v0.1 telefire-v0.2 \
        telemini-v2.0
 
-AVRDIRS=\
-       telescience-v0.1 telescience-pwm micropeak nanopeak-v0.1
-
-ARMDIRS=\
+ARMM3DIRS=\
        telemega-v0.1 telemega-v0.1/flash-loader \
        telemega-v0.3 telemega-v0.3/flash-loader \
        megadongle-v0.1 megadongle-v0.1/flash-loader \
        telemega-v0.1 telemega-v0.1/flash-loader \
        telemega-v0.3 telemega-v0.3/flash-loader \
        megadongle-v0.1 megadongle-v0.1/flash-loader \
@@ -38,23 +36,26 @@ ARMDIRS=\
 ARMM0DIRS=\
        easymini-v1.0 easymini-v1.0/flash-loader
 
 ARMM0DIRS=\
        easymini-v1.0 easymini-v1.0/flash-loader
 
-ifneq ($(shell which sdcc),)
+AVRDIRS=\
+       telescience-v0.1 telescience-pwm micropeak nanopeak-v0.1
+
+ifeq ($(strip $(HAVE_SDCC)),yes)
        SUBDIRS += $(SDCCDIRS)
 endif
 
        SUBDIRS += $(SDCCDIRS)
 endif
 
-ifneq ($(shell which avr-gcc),)
-       SUBDIRS += $(AVRDIRS)
+ifeq ($(strip ($HAVE_ARM_M3_CC)),yes)
+       SUBDIRS += $(ARMM3DIRS)
 endif
 
 endif
 
-ifneq ($(shell which /opt/cortex/bin/arm-none-eabi-gcc),)
-       SUBDIRS += $(ARMDIRS)
+ifneq ($(strip ($HAVE_ARM_M0_CC)),yes)
+       SUBDIRS += $(ARMM0DIRS)
 endif
 
 endif
 
-ifneq ($(shell which /usr/bin/arm-none-eabi-gcc),)
-       SUBDIRS += $(ARMM0DIRS)
+ifeq ($(strip $(HAVE_AVR_CC)),yes)
+       SUBDIRS += $(AVRDIRS)
 endif
 
 endif
 
-ALLDIRS=$(SDCCDIRS) $(AVRDIRS) $(ARMDIRS)
+ALLDIRS=$(SDCCDIRS) $(ARMM3DIRS) $(ARMM0DIRS) $(AVRDIRS)
 
 all: all-local all-recursive
 
 
 all: all-local all-recursive
 
index 932951665d527caa90eb435309b6e09756c37732..6d9bfea2098f9102d4fff464f9f5760ec588a524 100644 (file)
@@ -11,18 +11,12 @@ vpath load_csv.5c ../kalman
 vpath matrix.5c ../kalman
 vpath ao-make-product.5c ../util
 
 vpath matrix.5c ../kalman
 vpath ao-make-product.5c ../util
 
+include ../avr/Makefile.defs
+
 MCU=atmega32u4
 DUDECPUTYPE=m32u4
 #PROGRAMMER=stk500v2 -P usb
 MCU=atmega32u4
 DUDECPUTYPE=m32u4
 #PROGRAMMER=stk500v2 -P usb
-PROGRAMMER=usbtiny
-LOADCMD=avrdude
 LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
 LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
-CC=avr-gcc
-OBJCOPY=avr-objcopy
-
-ifndef VERSION
-include ../Version
-endif
 
 INC = \
        ao.h \
 
 INC = \
        ao.h \
diff --git a/src/avr/Makefile.defs b/src/avr/Makefile.defs
new file mode 100644 (file)
index 0000000..eeb9a88
--- /dev/null
@@ -0,0 +1,16 @@
+ifndef TOPDIR
+TOPDIR=..
+endif
+
+ifndef VERSION
+include $(TOPDIR)/Version
+endif
+
+include $(TOPDIR)/Makedefs
+
+CC=$(AVR_CC)
+OBJCOPY=$(AVR_OBJCOPY)
+LDSCRIPTS=/usr/lib/avr/lib/ldscripts
+
+PROGRAMMER=usbtiny
+LOADCMD=avrdude
index 0e19603b29429d4e8177f163ac05d7134dd9b421..78b653b3049abbbf5cd595802d67e5ced89755e1 100644 (file)
@@ -1,4 +1,5 @@
-CC=sdcc
+include ../Makedefs
+CC=$(SDCC)
 
 CFLAGS=--model-small --debug --opt-code-speed -DCODESIZE=$(CODESIZE)
 
 
 CFLAGS=--model-small --debug --opt-code-speed -DCODESIZE=$(CODESIZE)
 
index 6bdd204c3949113af7f2eece2c90aeb495a1acfa..ab7181b9d2be86e1e03d3c58cb1d54563dfbf329 100644 (file)
@@ -6,14 +6,16 @@ vpath ao-make-product.5c $(TOPDIR)/util
 .elf.ihx:
        objcopy -O ihex $*.elf $@
 
 .elf.ihx:
        objcopy -O ihex $*.elf $@
 
-CC=arm-none-eabi-gcc
-SAT=/opt/cortex
-SAT_CLIB=$(SAT)/lib/pdclib-cortex-m0.a
-SAT_CFLAGS=-I$(SAT)/include
 
 ifndef VERSION
 include $(TOPDIR)/Version
 endif
 
 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)
 
 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)
index 2873d5e86ef60c2c6899e8e0c8803ed9be7f9b62..d541230ac354c41dc520c34693baa8a5f7714e10 100644 (file)
@@ -7,19 +7,24 @@ vpath load_csv.5c ../kalman
 vpath matrix.5c ../kalman
 vpath ao-make-product.5c ../util
 
 vpath matrix.5c ../kalman
 vpath ao-make-product.5c ../util
 
-CC=arm-none-eabi-gcc
-SAT=/opt/cortex
-SAT_CLIB=$(SAT)/lib/pdclib-cortex-m0.a
-SAT_CFLAGS=-I$(SAT)/include
+ifndef TOPDIR
+TOPDIR=..
+endif
 
 ifndef VERSION
 
 ifndef VERSION
-include ../Version
+include $(TOPDIR)/Version
 endif
 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../lpc -I../core -I../drivers -I..
+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)
 
 LPC_CFLAGS=-std=gnu99 -mlittle-endian -mcpu=cortex-m0 -mthumb -ffreestanding -nostdlib $(AO_CFLAGS) $(SAT_CFLAGS)
 
-LDFLAGS=$(LPC_CFLAGS) -L../stm -Wl,-Taltos.ld
+LDFLAGS=$(LPC_CFLAGS) -L$(TOPDIR)/stm -Wl,-Taltos.ld
 
 NICKLE=nickle
 
 
 NICKLE=nickle
 
@@ -34,8 +39,8 @@ quiet ?= $($1)
 .c.o:
        $(call quiet,CC) -c $(CFLAGS) $<
 
 .c.o:
        $(call quiet,CC) -c $(CFLAGS) $<
 
-ao_serial_lpc.h: ../lpc/baud_rate ao_pins.h
-       nickle ../lpc/baud_rate `awk '/AO_LPC_CLKOUT/{print $$3}' ao_pins.h` > $@
+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` > $@
 
 ao_serial_lpc.o: ao_serial_lpc.h
 
 
 ao_serial_lpc.o: ao_serial_lpc.h
 
index e51b2847d1fbf74eb9e4c639d2cfd570f9a7784f..35dfaab8bb9c16ed518d275ad355b825a7b1de89 100644 (file)
@@ -6,21 +6,15 @@ vpath % ../attiny:../drivers:../core:../product:..
 vpath ao-make-product.5c ../util
 vpath make-altitude-pa ../util
 
 vpath ao-make-product.5c ../util
 vpath make-altitude-pa ../util
 
+include ../avr/Makefile.defs
+
 MCU=attiny85
 DUDECPUTYPE=t85
 #PROGRAMMER=stk500v2 -P usb
 MCU=attiny85
 DUDECPUTYPE=t85
 #PROGRAMMER=stk500v2 -P usb
-PROGRAMMER=usbtiny
-LOADCMD=avrdude
 LOADSLOW=-i 32 -B 32
 LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
 LOADSLOW=-i 32 -B 32
 LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
-CC=avr-gcc
-OBJCOPY=avr-objcopy
-
-LDFLAGS=-L/usr/lib/ldscripts -Tavr25.x
 
 
-ifndef VERSION
-include ../Version
-endif
+LDFLAGS=-L$(LDSCRIPTS) -Tavr25.x
 
 ALTOS_SRC = \
        ao_micropeak.c \
 
 ALTOS_SRC = \
        ao_micropeak.c \
index cb468a06b8b382e1438dc26f2359453e5a1e2ff6..154d78f640db40617df8a8dacbc048de78acc741 100644 (file)
@@ -6,21 +6,15 @@ vpath % ../attiny:../drivers:../core:../product:..
 vpath ao-make-product.5c ../util
 vpath make-altitude-pa ../util
 
 vpath ao-make-product.5c ../util
 vpath make-altitude-pa ../util
 
+include ../avr/Makefile.defs
+
 MCU=attiny85
 DUDECPUTYPE=t85
 #PROGRAMMER=stk500v2 -P usb
 MCU=attiny85
 DUDECPUTYPE=t85
 #PROGRAMMER=stk500v2 -P usb
-PROGRAMMER=usbtiny
-LOADCMD=avrdude
 LOADSLOW=-i 32 -B 32
 LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
 LOADSLOW=-i 32 -B 32
 LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
-CC=avr-gcc
-OBJCOPY=avr-objcopy
-
-LDFLAGS=-L/usr/lib/ldscripts -Tavr25.x
 
 
-ifndef VERSION
-include ../Version
-endif
+LDFLAGS=-L$(LDSCRIPTS) -Tavr25.x
 
 ALTOS_SRC = \
        ao_micropeak.c \
 
 ALTOS_SRC = \
        ao_micropeak.c \
index 86f76d46e74f66b0e286ce0257436ab991b3f886..f429d9bda7663b1ab65c7975022cdfbb84d18177 100644 (file)
@@ -6,14 +6,15 @@ vpath ao-make-product.5c $(TOPDIR)/util
 .elf.ihx:
        objcopy -O ihex $*.elf $@
 
 .elf.ihx:
        objcopy -O ihex $*.elf $@
 
-CC=/opt/cortex/bin/arm-none-eabi-gcc
-SAT=/opt/cortex
-SAT_CLIB=$(SAT)/lib/pdclib-cortex-m3.a
-SAT_CFLAGS=-I$(SAT)/include
-
 ifndef VERSION
 include $(TOPDIR)/Version
 endif
 ifndef VERSION
 include $(TOPDIR)/Version
 endif
+include $(TOPDIR)/Makedefs
+
+CC=$(ARM_CC)
+SAT=/opt/cortex
+SAT_CLIB=$(SAT)/lib/pdclib-cortex-m3.a
+SAT_CFLAGS=-I$(SAT)/include
 
 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)
 
 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)
index 8ef30521ee4645e63a60afc531ea5841d0abeaf8..ede75f80e4745eef929d70923203d631a3a52628 100644 (file)
@@ -12,14 +12,19 @@ vpath ao-make-product.5c ../util
 .elf.ihx:
        objcopy -O ihex $*.elf $@
 
 .elf.ihx:
        objcopy -O ihex $*.elf $@
 
-SAT=/opt/cortex
-CC=$(SAT)/bin/arm-none-eabi-gcc
-SAT_CLIB=$(SAT)/lib/pdclib-cortex-m3.a
-SAT_CFLAGS=-I$(SAT)/include
+ifndef TOPDIR
+TOPDIR=..
+endif
 
 ifndef VERSION
 
 ifndef VERSION
-include ../Version
+include $(TOPDIR)/Version
 endif
 endif
+include $(TOPDIR)/Makedefs
+
+CC=$(ARM_CC)
+SAT=/opt/cortex
+SAT_CLIB=$(SAT)/lib/pdclib-cortex-m3.a
+SAT_CFLAGS=-I$(SAT)/include
 
 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)
 
 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)
index 6743ba66db37c9a30f2c690580dfa35611bd0d16..025b324a360833c6befa99fb84b4aab561713c5d 100644 (file)
@@ -5,18 +5,12 @@
 vpath % .:..:../core:../product:../drivers:../avr
 vpath ao-make-product.5c ../util
 
 vpath % .:..:../core:../product:../drivers:../avr
 vpath ao-make-product.5c ../util
 
+include ../avr/Makefile.defs
+
 MCU=atmega32u4
 DUDECPUTYPE=m32u4
 #PROGRAMMER=stk500v2 -P usb
 MCU=atmega32u4
 DUDECPUTYPE=m32u4
 #PROGRAMMER=stk500v2 -P usb
-PROGRAMMER=usbtiny
-LOADCMD=avrdude
 LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
 LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
-CC=avr-gcc
-OBJCOPY=avr-objcopy
-
-ifndef VERSION
-include ../Version
-endif
 
 INC = \
        ao.h \
 
 INC = \
        ao.h \
index ce2a8fde70f957a168e6d3909c1880ba5c6bd563..7f39d3f1405aa90b5c0c1a4cfa8a80ef58b1f23d 100644 (file)
@@ -5,20 +5,14 @@
 vpath % ..:../core:../product:../drivers:../avr
 vpath ao-make-product.5c ../util
 
 vpath % ..:../core:../product:../drivers:../avr
 vpath ao-make-product.5c ../util
 
+include ../avr/Makefile.defs
+
 MCU=atmega32u4
 DUDECPUTYPE=m32u4
 #PROGRAMMER=stk500v2 -P usb
 MCU=atmega32u4
 DUDECPUTYPE=m32u4
 #PROGRAMMER=stk500v2 -P usb
-PROGRAMMER=usbtiny
-LOADCMD=avrdude
 LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
 LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
-CC=avr-gcc
-OBJCOPY=avr-objcopy
-
-LDFLAGS=-L/usr/lib/ldscripts -Tavr5.x
 
 
-ifndef VERSION
-include ../Version
-endif
+LDFLAGS=-L$(LDSCRIPTS) -Tavr5.x
 
 INC = \
        ao.h \
 
 INC = \
        ao.h \
index 81054a7531ffc7d20c3ae7a45603cd7406e419d9..a65b3ad0a2fda384b6ee4ae73f08dc2c4d2a9c53 100644 (file)
@@ -5,20 +5,14 @@
 vpath % ..:../core:../product:../drivers:../avr
 vpath ao-make-product.5c ../util
 
 vpath % ..:../core:../product:../drivers:../avr
 vpath ao-make-product.5c ../util
 
+include ../avr/Makefile.defs
+
 MCU=atmega32u4
 DUDECPUTYPE=m32u4
 #PROGRAMMER=stk500v2 -P usb
 MCU=atmega32u4
 DUDECPUTYPE=m32u4
 #PROGRAMMER=stk500v2 -P usb
-PROGRAMMER=usbtiny
-LOADCMD=avrdude
 LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
 LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
-CC=avr-gcc
-OBJCOPY=avr-objcopy
-
-LDFLAGS=-L/usr/lib/ldscripts -Tavr5.x
 
 
-ifndef VERSION
-include ../Version
-endif
+LDFLAGS=-L$(LDSCRIPTS) -Tavr5.x
 
 INC = \
        ao.h \
 
 INC = \
        ao.h \