paul@0 | 1 | # Makefile - Build the Pololu IMU software |
paul@0 | 2 | # |
paul@0 | 3 | # Copyright (C) 2013 Paul Boddie |
paul@0 | 4 | # |
paul@0 | 5 | # This program is free software; you can redistribute it and/or modify |
paul@0 | 6 | # it under the terms of the GNU General Public License as published by |
paul@0 | 7 | # the Free Software Foundation; either version 2 of the License, or |
paul@0 | 8 | # (at your option) any later version. |
paul@0 | 9 | |
paul@0 | 10 | LIBUBB = ../ben-blinkenlights/libubb |
paul@0 | 11 | SYSROOT = ../openwrt-xburst/staging_dir/target-mipsel_eglibc-2.15 |
paul@0 | 12 | TOOLBIN = ../openwrt-xburst/staging_dir/toolchain-mipsel_gcc-4.6-linaro_eglibc-2.15/bin |
paul@0 | 13 | |
paul@0 | 14 | ARCH = mipsel-openwrt-linux |
paul@0 | 15 | CC = $(TOOLBIN)/$(ARCH)-gcc |
paul@0 | 16 | |
paul@0 | 17 | CFLAGS = -g -Wall -fPIC -march=mips32 -I$(LIBUBB)/include $(shell $(SYSROOT)/usr/bin/sdl-config --cflags) # -DDEBUG=1 |
paul@0 | 18 | LDFLAGS = -lm -lubb -L$(LIBUBB) $(shell $(SYSROOT)/usr/bin/sdl-config --libs) -Wl,-rpath-link,$(SYSROOT)/usr/lib -lSDL_gfx |
paul@0 | 19 | |
paul@0 | 20 | IMU = imu |
paul@0 | 21 | TEST = itest |
paul@0 | 22 | CALIBRATE = calibrate |
paul@0 | 23 | TARGETS = $(IMU) $(TEST) $(CALIBRATE) |
paul@0 | 24 | |
paul@0 | 25 | BASICSRC = imu.c i2c.c shutdown.c geo.c |
paul@0 | 26 | UISRC = measure.c ui.c gui.c |
paul@0 | 27 | |
paul@0 | 28 | IMUSRC = $(BASICSRC) $(UISRC) main.c |
paul@0 | 29 | IMUOBJ = $(IMUSRC:.c=.o) |
paul@0 | 30 | |
paul@0 | 31 | TESTSRC = $(BASICSRC) $(UISRC) itest.c |
paul@0 | 32 | TESTOBJ = $(TESTSRC:.c=.o) |
paul@0 | 33 | |
paul@0 | 34 | CALIBRATESRC = $(BASICSRC) calibrate.c |
paul@0 | 35 | CALIBRATEOBJ = $(CALIBRATESRC:.c=.o) |
paul@0 | 36 | |
paul@0 | 37 | ALLSRC = $(BASICSRC) $(UISRC) main.c itest.c calibrate.c |
paul@0 | 38 | ALLOBJ = $(ALLSRC:.c=.o) |
paul@0 | 39 | |
paul@0 | 40 | .PHONY: all clean distclean |
paul@0 | 41 | |
paul@0 | 42 | all: $(TARGETS) |
paul@0 | 43 | |
paul@0 | 44 | clean: |
paul@0 | 45 | rm -f $(ALLOBJ) $(TARGETS) |
paul@0 | 46 | |
paul@0 | 47 | distclean: clean |
paul@0 | 48 | echo "Nothing else to clean." |
paul@0 | 49 | |
paul@0 | 50 | $(IMU): $(IMUOBJ) |
paul@0 | 51 | $(CC) $(LDFLAGS) $(IMUOBJ) -o $@ |
paul@0 | 52 | |
paul@0 | 53 | $(TEST): $(TESTOBJ) |
paul@0 | 54 | $(CC) $(LDFLAGS) $(TESTOBJ) -o $@ |
paul@0 | 55 | |
paul@0 | 56 | $(CALIBRATE): $(CALIBRATEOBJ) |
paul@0 | 57 | $(CC) $(LDFLAGS) $(CALIBRATEOBJ) -o $@ |
paul@0 | 58 | |
paul@0 | 59 | .c.o: |
paul@0 | 60 | $(CC) -c $(CFLAGS) $< -o $@ |