9 CFLAGS += -fPIC -Wall -Wextra -ansi -pedantic
11 ADDITIONAL_CFLAGS ?= -O2
13 ADDITIONAL_CFLAGS ?= -g
16 CFLAGS += ${ADDITIONAL_CFLAGS}
18 # Ar settings to build the library
22 SHLD = ${CC} ${CFLAGS}
23 LDSHFLAGS = -shared -Wl,-Bsymbolic
24 LDFLAGS += -Wl,-rpath -Wl,/usr/lib -Wl,-rpath,/usr/lib
26 # .so.0 is for version 3.x, .so.1 is 4.x
27 SO_TARGET ?= libiniparser.so.1
29 # Set RANLIB to ranlib on systems that require it (Sun OS < 4, Mac OSX)
38 SUFFIXES = .o .c .h .a .so .sl
40 COMPILE.c ?= $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
43 QUIET_AR = @echo "AR $@";
44 QUIET_CC = @echo "CC $@";
45 QUIET_LINK = @echo "LINK $@";
46 QUIET_RANLIB = @echo "RANLIB $@";
50 $(QUIET_CC)$(COMPILE.c) $(OUTPUT_OPTION) $<
53 SRCS = src/iniparser.c \
59 default: libiniparser.a $(SO_TARGET)
61 libiniparser.a: $(OBJS)
62 $(QUIET_AR)$(AR) $(ARFLAGS) $@ $^
63 $(QUIET_RANLIB)$(RANLIB) $@
66 $(QUIET_LINK)$(SHLD) $(LDSHFLAGS) $(LDFLAGS) -o $(SO_TARGET) $(OBJS) \
67 -Wl,-soname=`basename $(SO_TARGET)`
71 @(cd test ; $(MAKE) clean)
74 $(RM) $(OBJS) libiniparser.a $(SO_TARGET)
75 rm -rf ./html ; mkdir html
76 cd example ; $(MAKE) veryclean
77 cd test ; $(MAKE) veryclean
85 example: libiniparser.a
86 @(cd example ; $(MAKE))