# # Copyright 2010, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # Alternatively, this software may be distributed under the terms of the # GNU General Public License ("GPL") version 2 as published by the Free # Software Foundation. # ROOT = /build/tegra2_seaboard TC = armv7a-cros-linux-gnueabi- CC = $(TC)gcc LD = $(TC)ld CFLAGS = -I$(ROOT)/usr/include/ -I$(ROOT)/include/ TARGET = $(ROOT)/tmp/test_uldivmod TESTDATA = $(ROOT)/tmp/testdata RUN_TARGET = qemu-arm $(ROOT)/lib/ld-linux.so.3 --library-path $(ROOT)/lib \ $(TARGET) RUN_TEST = $(RUN_TARGET) < $(TESTDATA) | diff -q - $(TESTDATA) DRIVE_SRC = drive_uldivmod.c DRIVE_OBJ = $(subst .c,.o,$(DRIVE_SRC)) ASMSRC_PATH = ../arch/arm/lib ASM_SRCS = _uldivmod.S _udivsi3.S _divsi3.S OBJS = $(DRIVE_OBJ) $(subst .S,.o,$(ASM_SRCS)) test: $(TARGET) [ -f "$(TESTDATA)" ] || ./generate_cases_uldivmod $(TESTDATA) ($(RUN_TEST)) > /dev/null 2>&1 && echo "TEST PASS" || echo "TEST FAIL" $(TARGET): $(OBJS) $(LD) -o $@ $? $(ROOT)/usr/lib/crt?.o -lc $(DRIVE_OBJ): $(DRIVE_SRC) $(CC) -march=armv7-a $(CFLAGS) -c -o $@ $< %.o: $(ASMSRC_PATH)/%.S $(CC) -march=armv7-a -c -o $@ $< clean: rm -f $(TARGET) $(TESTDATA) $(OBJS) .PHONY: test clean