Make the CXX be called ucb-akaros
[akaros.git] / user / pthread / Makefile
1 ARCH ?= none # catch bugs
2 CFLAGS_USER += -static -fomit-frame-pointer -g
3 LIBNAME = pthread
4 # DEPLIBS passed in from the top-level Makefile
5 DEPLIBS := $(DEPLIBS)
6 DEPLIBAS = $(patsubst %, $(XCC_TARGET_ROOT)/lib/lib%.a, $(DEPLIBS))
7
8 SRCDIR := 
9 OBJDIR := $(SRCDIR)obj
10 INCDIR = $(SRCDIR).
11
12 INCS = -I$(INCDIR) 
13 FINALLIB = $(OBJDIR)/lib$(LIBNAME).a
14 FINALLIB-INSTALL = $(XCC_TARGET_ROOT)/lib/lib$(LIBNAME).a
15
16 uc = $(shell echo $(1) | tr a-z A-Z)
17
18 LIBUCNAME := $(call uc, $(LIBNAME))
19 HEADERS := $(wildcard $(SRCDIR)*.h)
20 CFILES  := $(wildcard $(SRCDIR)*.c)
21 OBJS    := $(patsubst %.c, $(OBJDIR)/%.o, $(CFILES))
22
23 all: $(FINALLIB)
24         @:
25
26 $(OBJDIR)/%.o: $(SRCDIR)%.c $(HEADERS) $(DEPLIBAS)
27         @echo + cc [$(LIBUCNAME)] $<
28         @mkdir -p $(@D)
29         $(Q)$(CC) $(CFLAGS_USER) $(INCS) -o $@ -c $<
30
31 $(FINALLIB): $(OBJS)
32         @echo + ar [$(LIBUCNAME)] $@
33         @mkdir -p $(@D)
34         $(Q)$(AR) rc $@ $(OBJS)
35
36 $(FINALLIB-INSTALL): $(FINALLIB)
37         @cp $(FINALLIB) $@
38         @cp -R $(INCDIR)/*.h $(XCC_TARGET_ROOT)/sys-include/
39
40 install: $(FINALLIB-INSTALL)
41         @echo > /dev/null
42
43 clean: 
44         @echo + clean [$(LIBUCNAME)]
45         $(Q)rm -rf $(FINALLIB)
46         $(Q)rm -rf $(OBJDIR)
47