timelib: replace deprecated _BSD_SOURCE
[rofl0r-libulz.git] / Makefile
blobb3963af48cf154812fb1bb58048969f9aba776cd
2 # Makefile for libulz (stolen from musl) (requires GNU make)
4 # Use config.mak to override any of the following variables.
5 # Do not make changes here.
8 prefix = /usr/local/
9 exec_prefix = $(prefix)
10 bindir = $(exec_prefix)/bin
11 includedir = $(prefix)/include
12 libdir = $(prefix)/lib
14 SRCS = $(sort $(wildcard src/*/*.c))
15 OBJS = $(SRCS:.c=.o)
16 LOBJS = $(OBJS:.o=.lo)
18 CFLAGS += -Os
19 CFLAGS_REQ=-std=c99
21 #-ffreestanding -std=c99 -D_XOPEN_SOURCE=700 -pipe
22 #LDFLAGS = -nostdlib -shared -fPIC -Wl,-e,_start -Wl,-Bsymbolic-functions
23 INC = -I./include
24 #PIC = -fPIC -O3
25 AR = $(CROSS_COMPILE)ar
26 RANLIB = $(CROSS_COMPILE)ranlib
27 OBJCOPY = $(CROSS_COMPILE)objcopy
29 ALL_INCLUDES = $(sort $(wildcard include/*.h include/*/*.h))
31 ULZ_LIBS = lib/libulz.a
32 ALL_LIBS = $(ULZ_LIBS)
34 -include config.mak
36 CFLAGS += $(CFLAGS_REQ)
38 all: $(ALL_LIBS)
40 install: $(ALL_LIBS:lib/%=$(DESTDIR)$(libdir)/%) $(ALL_INCLUDES:include/%=$(DESTDIR)$(includedir)/ulz/%) $(ALL_TOOLS:tools/%=$(DESTDIR)$(bindir)/%)
42 clean:
43 rm -f crt/*.o
44 rm -f $(OBJS)
45 rm -f $(LOBJS)
46 rm -f $(ALL_LIBS) lib/*.[ao] lib/*.so
48 %.o: %.c
49 $(CC) $(CFLAGS) $(INC) -c -o $@ $<
51 lib/libulz.a: $(OBJS)
52 rm -f $@
53 $(AR) rc $@ $(OBJS)
54 $(RANLIB) $@
56 lib/%.o:
57 cp $< $@
59 $(DESTDIR)$(includedir)/ulz%: include/%
60 install -D $< $@
62 $(DESTDIR)$(bindir)/%: tools/%
63 install -D $< $@
65 $(DESTDIR)$(prefix)/%: %
66 install -D -m 644 $< $@
68 .PHONY: all clean install