all : IID_to_MPH.c run_test
install : IID_to_MPH.c
cp IID_to_MPH.c ../../src/autogen
CFLAGS = -I../../include -g -DNDEBUG
CFLAGS += -Wall -Werror
%.o : %.c
gcc -c -o $@ $(CFLAGS) $<
IID_to_MPH.c : part1.c part2.c part3.c part4.c part5.c part6.c part7.c part8.c
$(RM) $@
cat part1.c part2.c part3.c part4.c part5.c part6.c part7.c part8.c >> $@
# part1.c is human-generated
part2.c : part23in.c
$(RM) $@
grep '#define MAX_HASH_VALUE' part23in.c > $@
part3.c : part23in.c
$(RM) $@
# was 26,54p
sed -n '/static const unsigned .* asso_values.. =/,/^ };/p' < part23in.c >> $@
# part4.c is human-generated
part5.c : part5gen
./part5gen > $@
# part6.c is human-generated
part7.c : part23in.c hash.sed
# was 55p
sed -n '/return.*asso_values/p' < part23in.c | sed -f hash.sed >> $@
# part8.c is human_generated
part23in.c : part23in.gperf
gperf --null-strings --readonly-tables --no-strlen part23in.gperf > part23in.c
part23in.gperf : frag1
./frag1 > part23in.gperf
frag1 : frag1.o OpenSLES_IID.o
gcc -o $@ $(CFLAGS) $^
part5gen.c : frag2.c part23in.c frag3.c
$(RM) $@
cp frag2.c $@
grep '#define MAX_HASH_VALUE' part23in.c >> $@
# was 81,156p
sed -n '/static const char . const wordlist.. =/,/^ };/p' < part23in.c >> $@
cat frag3.c >> $@
part5gen : part5gen.o OpenSLES_IID.o interfaces.o
gcc -o $@ $(CFLAGS) $^
run_test : test
./test
test : test.o OpenSLES_IID.o IID_to_MPH.o
gcc -o $@ $(CFLAGS) $^
clean :
$(RM) part5gen frag1 *.o
$(RM) part23in.gperf part5gen.c part23in.c
$(RM) part2.c part3.c part5.c part7.c
$(RM) test
distclean : clean
$(RM) IID_to_MPH.c