| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- # Example makefile which makes a "libccan.a" of everything under ccan/.
- # For simple projects you could just do:
- # SRCFILES += $(wildcard ccan/*/*.c)
- #CCAN_CFLAGS=-g -O3 -Wall -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wwrite-strings -Wundef -DCCAN_STR_DEBUG=1
- CCAN_CFLAGS=-g3 -ggdb -Wall -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wwrite-strings -Wundef -DCCAN_STR_DEBUG=1
- CFLAGS = $(CCAN_CFLAGS) -I. $(DEPGEN)
- MODS := a_star \
- aga \
- agar \
- alignof \
- altstack \
- antithread \
- antithread/alloc \
- argcheck \
- array_size \
- asearch \
- asort \
- asprintf \
- autodata \
- avl \
- base64 \
- bdelta \
- bitmap \
- block_pool \
- breakpoint \
- btree \
- build_assert \
- bytestring \
- cast \
- ccan_tokenizer \
- cdump \
- charset \
- check_type \
- ciniparser \
- compiler \
- container_of \
- cppmagic \
- cpuid \
- crc \
- crcsync \
- crypto/ripemd160 \
- crypto/sha256 \
- crypto/sha512 \
- crypto/shachain \
- crypto/siphash24 \
- daemonize \
- daemon_with_notify \
- darray \
- deque \
- dgraph \
- endian \
- eratosthenes \
- err \
- failtest \
- foreach \
- generator \
- grab_file \
- hash \
- heap \
- htable \
- idtree \
- ilog \
- invbloom \
- io \
- isaac \
- iscsi \
- jacobson_karels \
- jmap \
- jset \
- json \
- lbalance \
- likely \
- list \
- lpq \
- lqueue \
- lstack \
- md4 \
- mem \
- minmax \
- net \
- nfs \
- noerr \
- ntdb \
- objset \
- ogg_to_pcm \
- opt \
- order \
- permutation \
- pipecmd \
- pr_log \
- ptrint \
- ptr_valid \
- pushpull \
- rbtree \
- rbuf \
- read_write_all \
- rfc822 \
- rszshm \
- short_types \
- siphash \
- sparse_bsearch \
- str \
- str/hex \
- strgrp \
- stringbuilder \
- stringmap \
- strmap \
- strset \
- structeq \
- take \
- tal \
- tal/grab_file \
- tal/link \
- tal/path \
- tal/stack \
- tal/str \
- tal/talloc \
- talloc \
- tally \
- tap \
- tcon \
- time \
- timer \
- tlist \
- tlist2 \
- ttxml \
- typesafe_cb \
- version \
- wwviaudio \
- xstring
- # Anything with C files needs building; dir leaves / on, sort uniquifies
- MODS_WITH_SRC = $(patsubst ccan/%/, %, $(sort $(foreach m, $(MODS), $(dir $(wildcard ccan/$m/*.c)))))
- default: libccan.a
- # Automatic dependency generation: makes ccan/*/*.d files.
- DEPGEN=-MMD
- -include $(foreach m, $(MODS), ccan/$(m)/*.d)
- DIRS=$(patsubst %, ccan/%, $(filter-out $(MODS_EXCLUDE), $(MODS_WITH_SRC)))
- # Generate everyone's separate Makefiles.
- -include $(foreach dir, $(DIRS), $(dir)-Makefile)
- ccan/%-Makefile:
- @echo $@: $(wildcard ccan/$*/*.[ch]) ccan/$*/_info > $@
- @echo ccan/$*.o: $(patsubst %.c, %.o, $(wildcard ccan/$*/*.c)) >> $@
- # We compile all the ccan/foo/*.o files together into ccan/foo.o
- OBJFILES=$(DIRS:=.o)
- # We create all the .o files and link them together.
- $(OBJFILES): %.o:
- $(LD) -r -o $@ $^
- libccan.a: $(OBJFILES)
- $(AR) r $@ $(OBJFILES)
|