update makefile
[musl-tables] / Makefile
index a7d6ba1..fec8438 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,4 @@
-MUSL=../musl
-
-all: tables abi.ARCH.musl
+all: tables abi
 
 clean:
        rm -f sizeof*.o sizeof-glibc sizeof-musl sizeof.diff tab_*.html
@@ -8,6 +6,26 @@ clean:
 tables:
        MUSL=$(MUSL) ./update.sh
 
+ARCH = x86_64 i386 arm mips m68k powerpc sh x32
+
+abi: $(ARCH:%=data/abi_type.%.musl) $(ARCH:%=data/abi_func.%.musl)
+
+$(ARCH:%=abi_type.%.cc) abi_func.cc: tables
+
+T-x86_64 = x86_64-linux-musl
+T-i386 = i486-linux-musl
+T-arm = arm-linux-musleabi
+T-mips = mips-linux-musl
+T-m68k = m68k-linux-musl
+T-powerpc = powerpc-linux-musl
+T-sh = sh4-linux-musl
+T-x32 = x86_64-linux-muslx32
+
+data/abi_type.%.musl: abi_type.%.cc
+       ARCH=$* CXX='$(T-$*)-g++ -nostdinc -isystem /tmp/T.$*/include' ./abi_type_data.sh >$@
+data/abi_func.%.musl: abi_func.cc
+       CXX='$(T-$*)-g++ -nostdinc -isystem /tmp/T.$*/include' ./abi_func_data.sh >$@
+
 sizeof: sizeof-glibc sizeof-musl
        ./sizeof-glibc >data/sizeof.ARCH.glibc
        ./sizeof-musl >data/sizeof.ARCH.musl
@@ -33,11 +51,11 @@ sizeof-g++: sizeof.c
        g++ -std=gnu99 -nostdinc -fno-stack-protector -isystem $(MUSL)/include -isystem $(LIBGCC) -isystem /usr/include -c -o $@.o $<
        ld -o $@ $@.o -X -d -e _start -Bstatic $(MUSL)/lib/crti.o $(MUSL)/lib/crt1.o $(MUSL)/lib/crtn.o -L$(MUSL)/lib -lc -L$(LIBGCC) -lgcc -nostdlib
 
-abi: abi.ARCH.diff
-       cp abi.ARCH.* data/
+#abi: abi.ARCH.diff
+#      cp abi.ARCH.* data/
 
-abi_type.cc:
-       ./abi_type.sh
+#abi_type.cc:
+#      ./abi_type.sh
 abi.ARCH.glibc: abi_type.cc
        g++ -std=c++11 $(GLIBC_FLAGS) -c -o $@.o $<
        nm -C $@.o |sed -n 's/^[[:xdigit:]]* T //p' |sort >$@