+++ /dev/null
-# GNUmakefile
-#
-# Copyright 2008 Bryan Ischo <bryan@ischo.com>
-#
-# This file is part of libs3.
-#
-# libs3 is free software: you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation, version 3 of the License.
-#
-# In addition, as a special exception, the copyright holders give
-# permission to link the code of this library and its programs with the
-# OpenSSL library, and distribute linked combinations including the two.
-#
-# libs3 is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-# details.
-#
-# You should have received a copy of the GNU General Public License version 3
-# along with libs3, in a file named COPYING. If not, see
-# <http://www.gnu.org/licenses/>.
-
-# I tried to use the autoconf/automake/autolocal/etc (i.e. autohell) tools
-# but I just couldn't stomach them. Since this is a Makefile for POSIX
-# systems, I will simply do away with autohell completely and use a GNU
-# Makefile. GNU make ought to be available pretty much everywhere, so I
-# don't see this being a significant issue for portability.
-
-# All commands assume a GNU compiler. For systems which do not use a GNU
-# compiler, write scripts with the same names as these commands, and taking
-# the same arguments, and translate the arguments and commands into the
-# appropriate non-POSIX ones as needed. libs3 assumes a GNU toolchain as
-# the most portable way to build software possible. Non-POSIX, non-GNU
-# systems can do the work of supporting this build infrastructure.
-
-
-# --------------------------------------------------------------------------
-# Set libs3 version number
-
-LIBS3_VER_MAJOR := 1
-LIBS3_VER_MINOR := 4
-LIBS3_VER := $(LIBS3_VER_MAJOR).$(LIBS3_VER_MINOR)
-
-
-# --------------------------------------------------------------------------
-# BUILD directory
-ifndef BUILD
- BUILD := build
-endif
-
-
-# --------------------------------------------------------------------------
-# DESTDIR directory
-ifndef DESTDIR
- DESTDIR := libs3-$(LIBS3_VER)
-endif
-
-
-# --------------------------------------------------------------------------
-# Acquire configuration information for libraries that libs3 depends upon
-
-ifndef CURL_LIBS
- CURL_LIBS := -Lc:\libs3-libs\bin -lcurl
-endif
-
-ifndef CURL_CFLAGS
- CURL_CFLAGS := -Ic:\libs3-libs\include
-endif
-
-ifndef LIBXML2_LIBS
- LIBXML2_LIBS := -Lc:\libs3-libs\bin -lxml2
-endif
-
-ifndef LIBXML2_CFLAGS
- LIBXML2_CFLAGS := -Ic:\libs3-libs\include
-endif
-
-
-# --------------------------------------------------------------------------
-# These CFLAGS assume a GNU compiler. For other compilers, write a script
-# which converts these arguments into their equivalent for that particular
-# compiler.
-
-ifndef CFLAGS
- CFLAGS = -O3
-endif
-
-CFLAGS += -Wall -Werror -Wshadow -Wextra -Iinc \
- $(CURL_CFLAGS) $(LIBXML2_CFLAGS) \
- -DLIBS3_VER_MAJOR=\"$(LIBS3_VER_MAJOR)\" \
- -DLIBS3_VER_MINOR=\"$(LIBS3_VER_MINOR)\" \
- -DLIBS3_VER=\"$(LIBS3_VER)\" \
- -D__STRICT_ANSI__ \
- -D_ISOC99_SOURCE \
- -D_POSIX_C_SOURCE=200112L \
- -Dsleep=Sleep -DFOPEN_EXTRA_FLAGS=\"b\" \
- -Iinc/mingw -include windows.h
-
-LDFLAGS = $(CURL_LIBS) $(LIBXML2_LIBS)
-
-# --------------------------------------------------------------------------
-# Default targets are everything
-
-.PHONY: all
-all: exported test
-
-
-# --------------------------------------------------------------------------
-# Exported targets are the library and driver program
-
-.PHONY: exported
-exported: libs3 s3 headers
-
-
-# --------------------------------------------------------------------------
-# Install target
-
-.PHONY: install
-install: exported
- -@mkdir $(DESTDIR)\bin
- -@mkdir $(DESTDIR)\include
- -@mkdir $(DESTDIR)\lib
- copy $(BUILD)\bin\s3.exe $(DESTDIR)\bin
- copy $(BUILD)\bin\libs3.dll $(DESTDIR)\bin
- copy $(BUILD)\lib\libs3.a $(DESTDIR)\lib
- copy mswin\libs3.def $(DESTDIR)\lib
- copy $(BUILD)\include\libs3.h $(DESTDIR)\include
- copy LICENSE $(DESTDIR)
- copy COPYING $(DESTDIR)
-
-
-# --------------------------------------------------------------------------
-# Compile target patterns
-
-$(BUILD)/obj/%.o: src/%.c
- -@mkdir $(subst /,\,$(dir $@))
- gcc $(CFLAGS) -o $@ -c $<
-
-
-# --------------------------------------------------------------------------
-# libs3 library targets
-
-LIBS3_SHARED = $(BUILD)/bin/libs3.dll
-
-.PHONY: libs3
-libs3: $(LIBS3_SHARED) $(BUILD)/lib/libs3.a
-
-LIBS3_SOURCES := src/acl.c src/bucket.c src/error_parser.c src/general.c \
- src/object.c src/request.c src/request_context.c \
- src/response_headers_handler.c src/service_access_logging.c \
- src/service.c src/simplexml.c src/util.c src/mingw_functions.c
-
-$(LIBS3_SHARED): $(LIBS3_SOURCES:src/%.c=$(BUILD)/obj/%.o)
- -@mkdir $(subst /,\,$(dir $@))
- gcc -shared -o $@ $^ $(LDFLAGS) -lws2_32
-
-$(BUILD)/lib/libs3.a: $(LIBS3_SHARED)
- -@mkdir $(subst /,\,$(dir $@))
- dlltool --def mswin\libs3.def --dllname $(subst /,\,$<) \
- --output-lib $(subst /,\,$@)
-
-
-# --------------------------------------------------------------------------
-# Driver program targets
-
-.PHONY: s3
-s3: $(BUILD)/bin/s3.exe
-
-$(BUILD)/bin/s3.exe: $(BUILD)/obj/s3.o $(BUILD)/obj/mingw_s3_functions.o \
- $(BUILD)/lib/libs3.a
- -@mkdir $(subst /,\,$(dir $@))
- gcc -o $@ $^ $(LDFLAGS) -lws2_32
-
-
-# --------------------------------------------------------------------------
-# libs3 header targets
-
-.PHONY: headers
-headers: $(BUILD)\include\libs3.h
-
-$(BUILD)\include\libs3.h: inc\libs3.h
- -@mkdir $(subst /,\,$(dir $@))
- copy $< $@
-
-
-# --------------------------------------------------------------------------
-# Test targets
-
-.PHONY: test
-test: $(BUILD)/bin/testsimplexml
-
-$(BUILD)/bin/testsimplexml: $(BUILD)/obj/testsimplexml.o \
- $(BUILD)/obj/simplexml.o
- -@mkdir $(subst /,\,$(dir $@))
- gcc -o $@ $^ $(LIBXML2_LIBS)
-
-
-# --------------------------------------------------------------------------
-# Clean target
-
-.PHONY: clean
-clean:
- mswin\rmrf.bat $(BUILD)