Update futex code to faster method for blocking
[akaros.git] / user / pthread / Makefile
1 ARCH ?= none # catch bugs
2 CFLAGS_USER += -static -fomit-frame-pointer -g
3 LIBNAME = pthread
4
5 SRCDIR := 
6 OBJDIR := $(SRCDIR)obj
7 INCDIR = $(SRCDIR).
8
9 INCS = -I$(INCDIR) 
10 FINALLIB = $(OBJDIR)/lib$(LIBNAME).a
11
12 uc = $(shell echo $(1) | tr a-z A-Z)
13
14 LIBUCNAME := $(call uc, $(LIBNAME))
15 HEADERS := $(wildcard $(SRCDIR)*.h)
16 CFILES  := $(wildcard $(SRCDIR)*.c)
17 OBJS    := $(patsubst %.c, $(OBJDIR)/%.o, $(CFILES))
18
19 all: $(FINALLIB)
20         @:
21
22 $(OBJDIR)/%.o: $(SRCDIR)%.c $(HEADERS)
23         @echo + cc [$(LIBUCNAME)] $<
24         @mkdir -p $(@D)
25         $(Q)$(CC) $(CFLAGS_USER) $(INCS) -o $@ -c $<
26
27 $(FINALLIB): $(OBJS)
28         @echo + ar [$(LIBUCNAME)] $@
29         @mkdir -p $(@D)
30         $(Q)$(AR) rc $@ $(OBJS)
31
32 install: $(FINALLIB)
33         @cp $(FINALLIB) $(XCC_TARGET_ROOT)/lib/
34         @cp -R $(INCDIR)/*.h $(XCC_TARGET_ROOT)/sys-include/
35
36 clean: 
37         @echo + clean [$(LIBUCNAME)]
38         $(Q)rm -rf $(FINALLIB)
39         $(Q)rm -rf $(OBJDIR)
40