-
Notifications
You must be signed in to change notification settings - Fork 1
/
rules.mk
48 lines (37 loc) · 1.13 KB
/
rules.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
QUIET ?= @
PREFIX ?= .
INCPATH ?= $(PREFIX)/include/ulib
LIBPATH ?= $(PREFIX)/lib
LIBNAME ?= undef
CFLAGS ?= -g3 -O2 -Wall -W -Werror -pipe -c -fPIC
CXXFLAGS ?= -g3 -O2 -Wall -W -Werror -pipe -c -fPIC
DEBUG ?=
OBJS = \
$(addsuffix .o, $(basename $(wildcard *.c))) \
$(addsuffix .o, $(basename $(wildcard *.cpp)))
HEADERS = $(wildcard *.h)
.c.o:
$(QUIET)echo -e " CC "$<
$(QUIET)echo -e $(CFLAGS)
$(QUIET)$(CC) $(CFLAGS) -I$(INCPATH) $(DEBUG) $< -o $@
.cpp.o:
$(QUIET)echo -e " CXX "$<
$(QUIET)echo -e $(CXXFLAGS)
$(QUIET)$(CXX) $(CXXFLAGS) -I$(INCPATH) $(DEBUG) $< -o $@
.PHONY: install_headers install_libs \
uninstall_headers uninstall_libs \
clean
clean: uninstall_headers uninstall_libs
$(QUIET)rm -rf $(OBJS)
$(QUIET)find . -name "*~" | xargs rm -rf
install_headers:
$(QUIET)mkdir -p $(INCPATH)
$(QUIET)cp $(HEADERS) $(INCPATH)/
install_libs: $(OBJS)
$(QUIET)mkdir -p $(LIBPATH)
$(QUIET)echo " AR "$(LIBPATH)/$(LIBNAME)
$(QUIET)ar csr $(LIBPATH)/$(LIBNAME) $(OBJS)
uninstall_headers:
$(QUIET)for file in $(HEADERS); do rm -rf $(INCPATH)/$$file; done
uninstall_libs:
$(QUIET)rm -rf $(LIBPATH)/$(LIBNAME)