# Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file # for details. All rights reserved. Use of this source code is governed by a # BSD-style license that can be found in the LICENSE file. # TODO(37531): Remove this makefile and build with sdk instead when # benchmark runner gets support for that. CC=gcc CCARM=arm-linux-gnueabihf-gcc CCARM64=aarch64-linux-gnu-gcc CFLAGS=-Wall -g -O -fPIC .PHONY: all clean all: out/linux/x64/libnative_functions.so out/linux/ia32/libnative_functions.so out/linux/arm64/libnative_functions.so out/linux/arm/libnative_functions.so cipd: cipd create -name dart/benchmarks/fficall -in out -install-mode copy clean: rm -rf *.o *.so out out/linux/x64: mkdir -p out/linux/x64 out/linux/x64/native_functions.o: native_functions.c | out/linux/x64 $(CC) $(CFLAGS) -c -o $@ native_functions.c out/linux/x64/libnative_functions.so: out/linux/x64/native_functions.o $(CC) $(CFLAGS) -s -shared -o $@ out/linux/x64/native_functions.o out/linux/ia32: mkdir -p out/linux/ia32 out/linux/ia32/native_functions.o: native_functions.c | out/linux/ia32 $(CC) $(CFLAGS) -m32 -c -o $@ native_functions.c out/linux/ia32/libnative_functions.so: out/linux/ia32/native_functions.o $(CC) $(CFLAGS) -m32 -s -shared -o $@ out/linux/ia32/native_functions.o out/linux/arm64: mkdir -p out/linux/arm64 out/linux/arm64/native_functions.o: native_functions.c | out/linux/arm64 $(CCARM64) $(CFLAGS) -c -o $@ native_functions.c out/linux/arm64/libnative_functions.so: out/linux/arm64/native_functions.o $(CCARM64) $(CFLAGS) -s -shared -o $@ out/linux/arm64/native_functions.o out/linux/arm: mkdir -p out/linux/arm out/linux/arm/native_functions.o: native_functions.c | out/linux/arm $(CCARM) $(CFLAGS) -c -o $@ native_functions.c out/linux/arm/libnative_functions.so: out/linux/arm/native_functions.o $(CCARM) $(CFLAGS) -s -shared -o $@ out/linux/arm/native_functions.o # On M1 Machine. out/mac/arm64: mkdir -p out/mac/arm64 out/mac/arm64/native_functions.o: native_functions.c | out/mac/arm64 $(CC) $(CFLAGS) -c -o $@ native_functions.c out/mac/arm64/libnative_functions.dylib: out/mac/arm64/native_functions.o $(CC) $(CFLAGS) -s -shared -o $@ out/mac/arm64/native_functions.o