123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- #
- # Copyright (c) 2007, Cameron Rich
- #
- # All rights reserved.
- #
- # Redistribution and use in source and binary forms, with or without
- # modification, are permitted provided that the following conditions are met:
- #
- # * Redistributions of source code must retain the above copyright notice,
- # this list of conditions and the following disclaimer.
- # * Redistributions in binary form must reproduce the above copyright
- # notice, this list of conditions and the following disclaimer in the
- # documentation and/or other materials provided with the distribution.
- # * Neither the name of the axTLS project nor the names of its
- # contributors may be used to endorse or promote products derived
- # from this software without specific prior written permission.
- #
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- #
- #
- # A standard makefile for all makefiles
- #
- # All executables and libraries go here
- STAGE=./_stage
- ifneq ($(MAKECMDGOALS), clean)
- # Give an initial rule
- all:
- # Win32
- ifdef CONFIG_PLATFORM_WIN32
- ifdef CONFIG_VISUAL_STUDIO_7_0
- CONFIG_VISUAL_STUDIO_7_0_BASE_UNIX:=$(shell cygpath -u $(CONFIG_VISUAL_STUDIO_7_0_BASE))
- export INCLUDE=$(shell echo "$(CONFIG_VISUAL_STUDIO_7_0_BASE)\vc7\include;$(CONFIG_VISUAL_STUDIO_7_0_BASE)\vc7\platformsdk\include")
- export LIB=$(shell echo "$(CONFIG_VISUAL_STUDIO_7_0_BASE)\vc7\\platformsdk\lib;$(CONFIG_VISUAL_STUDIO_7_0_BASE)\vc7\lib")
- PATH:=$(CONFIG_VISUAL_STUDIO_7_0_BASE_UNIX)/vc7/bin:$(CONFIG_VISUAL_STUDIO_7_0_BASE_UNIX)/common7/ide:$(PATH)
- else
- ifdef CONFIG_VISUAL_STUDIO_8_0
- CONFIG_VISUAL_STUDIO_8_0_BASE_UNIX:=$(shell cygpath -u $(CONFIG_VISUAL_STUDIO_8_0_BASE))
- export INCLUDE=$(shell echo "$(CONFIG_VISUAL_STUDIO_8_0_BASE)\vc\include;$(CONFIG_VISUAL_STUDIO_8_0_BASE)\vc\platformsdk\include")
- export LIB=$(shell echo "$(CONFIG_VISUAL_STUDIO_8_0_BASE)\vc\platformsdk\lib;$(CONFIG_VISUAL_STUDIO_8_0_BASE)\vc\lib")
- PATH:=$(CONFIG_VISUAL_STUDIO_8_0_BASE_UNIX)/vc/bin:$(CONFIG_VISUAL_STUDIO_8_0_BASE_UNIX)/common7/ide:$(PATH)
- stuff:
- @echo $(INCLUDE)
- endif
- endif
- CC=cl.exe
- LD=link.exe
- AXTLS_INCLUDE=$(shell cygpath -w $(AXTLS_HOME))
- CFLAGS+=/nologo /W3 /D"WIN32" /D"_MBCS" /D"_CONSOLE" /D"_CRT_SECURE_NO_DEPRECATE" /FD /I"$(AXTLS_INCLUDE)crypto" /I"$(AXTLS_INCLUDE)ssl" /I"$(AXTLS_INCLUDE)config" /c
- LDFLAGS=/nologo /subsystem:console /machine:I386
- LDSHARED = /dll
- AR=lib /nologo
- ifdef CONFIG_DEBUG
- CFLAGS += /Gm /Zi /Od /D "_DEBUG"
- LDFLAGS += /debug /incremental:yes
- else
- CFLAGS += /O2 /D "NDEBUG"
- LDFLAGS += /incremental:no
- endif
- else # Not Win32
- -include .depend
- CFLAGS += -I$(AXTLS_HOME)/config -I$(AXTLS_HOME)/ssl -I$(AXTLS_HOME)/crypto
- LD=$(CC)
- STRIP=strip
- # Solaris
- ifdef CONFIG_PLATFORM_SOLARIS
- CFLAGS += -DCONFIG_PLATFORM_SOLARIS
- LDFLAGS += -lsocket -lnsl -lc
- LDSHARED = -G
- # Linux/Cygwin
- else
- CFLAGS += -Wall -Wstrict-prototypes -Wshadow
- LDSHARED = -shared
- # Linux
- ifndef CONFIG_PLATFORM_CYGWIN
- # CFLAGS += -fPIC
- # Cygwin
- else
- CFLAGS += -DCONFIG_PLATFORM_CYGWIN
- LDFLAGS += -enable-auto-import
- endif
- endif
- ifdef CONFIG_DEBUG
- CFLAGS += -g
- else
- LDFLAGS += -s
- ifdef CONFIG_PLATFORM_SOLARIS
- CFLAGS += -O
- else
- CFLAGS += -O3
- endif
- endif # CONFIG_DEBUG
- endif # WIN32
- CFLAGS+=$(subst ",, $(strip $(CONFIG_EXTRA_CFLAGS_OPTIONS)))
- LDFLAGS+=$(subst ",, $(strip $(CONFIG_EXTRA_LDFLAGS_OPTIONS)))
- endif # not 'clean'
- clean::
- -@rm -f *.o *.obj core* *.out *~ \.depend vc*0*
|