*** empty log message ***
[flac.git] / build / lib.mk
1 #
2 # GNU makefile fragment for building a library
3 #
4
5 CC          = gcc
6 LINK        = ar cru
7 LINKD       = ld -G
8 LIBPATH     = ../../obj/lib
9 STATIC_LIB  = $(LIBPATH)/$(LIB_NAME).a
10 DYNAMIC_LIB = $(LIBPATH)/$(LIB_NAME).so
11
12 all : release
13
14 debug   : CFLAGS = -g -O0 -DDEBUG $(DEBUG_CFLAGS) -Wall -W $(DEFINES) $(INCLUDES)
15 release : CFLAGS = -O3 -fomit-frame-pointer -funroll-loops -ffast-math -finline-functions -DNDEBUG $(RELEASE_CFLAGS) -Wall -W $(DEFINES) $(INCLUDES)
16
17 LFLAGS  = -L$(LIBPATH)
18
19 debug   : $(STATIC_LIB) $(DYNAMIC_LIB)
20 release : $(STATIC_LIB) $(DYNAMIC_LIB)
21
22 $(STATIC_LIB) : $(OBJS)
23         $(LINK) $@ $(OBJS)
24
25 $(DYNAMIC_LIB) : $(OBJS)
26         $(LINKD) -o $@ $(OBJS) $(LFLAGS) $(LIBS)
27
28 %.o : %.c
29         $(CC) $(CFLAGS) -c $< -o $@
30 %.i : %.c
31         $(CC) $(CFLAGS) -E $< -o $@
32
33 .PHONY : clean
34 clean :
35         -rm -f $(OBJS) $(STATIC_LIB) $(DYNAMIC_LIB)
36
37 .PHONY : depend
38 depend:
39         makedepend -- $(CFLAGS) $(INCLUDES) -- *.c