| # | |
| # iniparser Makefile | |
| # | |
| # source files | |
| SRCS = iniparser.c \ | |
| dictionary.c | |
| # include rules for platform determination | |
| include platform.mk | |
| # flags for the the various systems | |
| ifeq ($(UNAME), Linux) | |
| # Compiler settings | |
| CC = gcc | |
| AR = ar | |
| ARFLAGS = rcv | |
| SHLD = ${CC} ${CFLAGS} | |
| CFLAGS = -O2 -fPIC -Wall -ansi -pedantic | |
| LDSHFLAGS = -shared -Wl,-Bsymbolic -Wl,-rpath -Wl,/usr/lib -Wl,-rpath,/usr/lib | |
| LDFLAGS = -Wl,-rpath -Wl,/usr/lib -Wl,-rpath,/usr/lib | |
| endif | |
| ifeq ($(UNAME), Darwin) | |
| # Compiler settings | |
| CC = gcc | |
| # Ar settings to build the library | |
| AR = ar | |
| ARFLAGS = rcv | |
| SHLD = libtool | |
| CFLAGS = -v -arch i386 -fPIC -Wall -ansi -pedantic | |
| LDFLAGS = -arch_only i386 | |
| endif | |
| ifeq ($(WIN32), 1) | |
| CC = cl | |
| CFLAGS = //Od //D "_WIN32" //D "WIN32" //D "_CONSOLE" //D "_CRT_SECURE_NO_WARNINGS" //D "_UNICODE" //D "UNICODE" //Gm //EHsc //RTC1 //MDd //W3 //nologo //c //ZI //TC | |
| LDFLAGS = //OUT:"iniparser.lib" //NOLOGO | |
| LINK = lib | |
| RM = rm -f | |
| endif | |
| # windows build rules | |
| ifeq ($(WIN32), 1) | |
| COMPILE.c = $(CC) $(CFLAGS) -c | |
| OBJS = $(SRCS:.c=.obj) | |
| all: iniparser.obj dictionary.obj iniparser.lib | |
| iniparser.obj: dictionary.obj | |
| @($(CC) $(CFLAGS) iniparser.c) | |
| dictionary.obj: | |
| @(echo "compiling dictionary; WIN32: $(WIN32); platform: $(UNAME)") | |
| @($(CC) $(CFLAGS) dictionary.c) | |
| iniparser.lib: dictionary.obj iniparser.obj | |
| @(echo "linking $(OBJS)") | |
| @($(LINK) $(LDFLAGS) $(OBJS)) | |
| else | |
| # *nix (and Mac) build rules | |
| RM = rm -f | |
| COMPILE.c = $(CC) $(CFLAGS) -c | |
| OBJS = $(SRCS:.c=.o) | |
| all: libiniparser.a libiniparser.so | |
| .c.o: | |
| @(echo "platform: $(UNAME), WIN32=$(WIN32); compiling $< ...") | |
| @($(COMPILE.c) -o $@ $<) | |
| libiniparser.a: $(OBJS) | |
| @($(AR) $(ARFLAGS) libiniparser.a $(OBJS)) | |
| ifeq ($(UNAME), Linux) | |
| libiniparser.so: $(OBJS) | |
| @$(SHLD) $(LDSHFLAGS) -o $@.0 $(OBJS) $(LDFLAGS) | |
| else | |
| libiniparser.so: $(OBJS) | |
| @$(SHLD) -o $@.0 $(LDFLAGS) $(OBJS) | |
| endif | |
| endif | |
| clean: | |
| $(RM) $(OBJS) libiniparser.* |