testing/mozbase/mozprocess/tests/iniparser/Makefile

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/testing/mozbase/mozprocess/tests/iniparser/Makefile	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,85 @@
     1.4 +#
     1.5 +# iniparser Makefile
     1.6 +#
     1.7 +
     1.8 +# source files
     1.9 +SRCS = iniparser.c \
    1.10 +	dictionary.c
    1.11 +
    1.12 +# include rules for platform determination
    1.13 +include platform.mk
    1.14 +
    1.15 +# flags for the the various systems
    1.16 +ifeq ($(UNAME), Linux)
    1.17 +    # Compiler settings
    1.18 +    CC      = gcc
    1.19 +    AR	    = ar
    1.20 +    ARFLAGS = rcv
    1.21 +    SHLD = ${CC} ${CFLAGS}
    1.22 +    CFLAGS  = -O2 -fPIC -Wall -ansi -pedantic
    1.23 +    LDSHFLAGS = -shared -Wl,-Bsymbolic  -Wl,-rpath -Wl,/usr/lib -Wl,-rpath,/usr/lib
    1.24 +    LDFLAGS = -Wl,-rpath -Wl,/usr/lib -Wl,-rpath,/usr/lib
    1.25 +endif
    1.26 +ifeq ($(UNAME), Darwin)
    1.27 +    # Compiler settings
    1.28 +    CC      = gcc
    1.29 +    # Ar settings to build the library
    1.30 +    AR	    = ar
    1.31 +    ARFLAGS = rcv
    1.32 +    SHLD = libtool
    1.33 +    CFLAGS  = -v -arch i386 -fPIC -Wall -ansi -pedantic
    1.34 +    LDFLAGS = -arch_only i386
    1.35 +endif
    1.36 +ifeq ($(WIN32), 1)
    1.37 +    CC = cl
    1.38 +    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
    1.39 +    LDFLAGS = //OUT:"iniparser.lib" //NOLOGO
    1.40 +    LINK = lib
    1.41 +    RM = rm -f
    1.42 +endif
    1.43 +
    1.44 +# windows build rules
    1.45 +ifeq ($(WIN32), 1)
    1.46 +
    1.47 +COMPILE.c = $(CC) $(CFLAGS) -c
    1.48 +OBJS = $(SRCS:.c=.obj)
    1.49 +
    1.50 +all: iniparser.obj dictionary.obj iniparser.lib
    1.51 +
    1.52 +iniparser.obj: dictionary.obj
    1.53 +	@($(CC) $(CFLAGS) iniparser.c)
    1.54 +
    1.55 +dictionary.obj:
    1.56 +	@(echo "compiling dictionary; WIN32: $(WIN32); platform: $(UNAME)")
    1.57 +	@($(CC) $(CFLAGS) dictionary.c)
    1.58 +
    1.59 +iniparser.lib:	dictionary.obj iniparser.obj
    1.60 +	@(echo "linking $(OBJS)")
    1.61 +	@($(LINK) $(LDFLAGS) $(OBJS))
    1.62 +else
    1.63 +
    1.64 +# *nix (and Mac) build rules
    1.65 +RM = rm -f
    1.66 +COMPILE.c = $(CC) $(CFLAGS) -c
    1.67 +OBJS = $(SRCS:.c=.o)
    1.68 +
    1.69 +all:	libiniparser.a libiniparser.so
    1.70 +
    1.71 +.c.o:
    1.72 +	@(echo "platform: $(UNAME), WIN32=$(WIN32); compiling $< ...")
    1.73 +	@($(COMPILE.c) -o $@ $<)
    1.74 +
    1.75 +libiniparser.a:	$(OBJS)
    1.76 +	@($(AR) $(ARFLAGS) libiniparser.a $(OBJS))
    1.77 +
    1.78 +ifeq ($(UNAME), Linux)
    1.79 +libiniparser.so:	$(OBJS)
    1.80 +	@$(SHLD) $(LDSHFLAGS) -o $@.0 $(OBJS) $(LDFLAGS)
    1.81 +else
    1.82 +libiniparser.so:	$(OBJS)
    1.83 +	@$(SHLD) -o $@.0 $(LDFLAGS) $(OBJS)
    1.84 +endif
    1.85 +endif
    1.86 +
    1.87 +clean:
    1.88 +	$(RM) $(OBJS) libiniparser.*

mercurial