]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/caret/makefile.unx
don't output -DwxUSE_GUI=0 in cflags by default, do output it if 'base' is specified...
[wxWidgets.git] / samples / caret / makefile.unx
index a12c752277abb5646348c963a17d2c6b0091b15b..f425b9cd4e62cf57e6b4c7df0204ecf60e3ed955 100644 (file)
@@ -25,8 +25,20 @@ LDFLAGS =
 # Location and arguments of wx-config script 
 WX_CONFIG = wx-config
 
-# C++ flags to use with wxWidgets code 
-WX_CXXFLAGS = `$(WX_CONFIG) --cxxflags`
+# Port of the wx library to build against [gtk1,gtk2,msw,x11,motif,mgl,mac,$(shell $(WX_CONFIG) --selected-config | cut -d '-' -f 1)]
+WX_PORT = $(shell $(WX_CONFIG) --selected-config | cut -d '-' -f 1)
+
+# Use DLL build of wx library to use? [0,1,$(shell if test -z `$(WX_CONFIG) --selected-config | cut -d '-' -f 5`; then echo 1; else echo 0; fi)]
+WX_SHARED = $(shell if test -z `$(WX_CONFIG) --selected-config | cut -d '-' -f 5`; then echo 1; else echo 0; fi)
+
+# Compile Unicode build of wxWidgets? [0,1,$(shell $(WX_CONFIG) --selected-config | cut -d '-' -f 2 | sed 's/unicode/1/;s/ansi/0/')]
+WX_UNICODE = $(shell $(WX_CONFIG) --selected-config | cut -d '-' -f 2 | sed 's/unicode/1/;s/ansi/0/')
+
+# Use debug build of wxWidgets (define __WXDEBUG__)? [0,1,$(shell $(WX_CONFIG) --selected-config | cut -d '-' -f 3 | sed 's/debug/1/;s/release/0/')]
+WX_DEBUG = $(shell $(WX_CONFIG) --selected-config | cut -d '-' -f 3 | sed 's/debug/1/;s/release/0/')
+
+# Version of the wx library to build against. 
+WX_VERSION = $(shell $(WX_CONFIG) --selected-config | sed -e 's/.*-\([0-9]*\)\.\([0-9]*\)$$/\1\2/')
 
 
 
@@ -37,17 +49,41 @@ WX_CXXFLAGS = `$(WX_CONFIG) --cxxflags`
 ### Variables: ###
 
 CPPDEPS = -MT$@ -MF`echo $@ | sed -e 's,\.o$$,.d,'` -MD
-CARET_CXXFLAGS =  -I.  $(WX_CXXFLAGS) $(CPPFLAGS) $(CXXFLAGS)
+WX_VERSION_MAJOR = $(shell echo $(WX_VERSION) | cut -c1,1)
+WX_VERSION_MINOR = $(shell echo $(WX_VERSION) | cut -c2,2)
+WX_CONFIG_FLAGS = $(WX_CONFIG_DEBUG_FLAG) $(WX_CONFIG_UNICODE_FLAG) \
+       $(WX_CONFIG_SHARED_FLAG) --toolkit=$(WX_PORT) \
+       --version=$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR)
+CARET_CXXFLAGS = -I. `$(WX_CONFIG) --cxxflags $(WX_CONFIG_FLAGS)` $(CPPFLAGS) \
+       $(CXXFLAGS)
 CARET_OBJECTS =  \
        caret_caret.o
 
 ### Conditionally set variables: ###
 
+ifeq ($(WX_DEBUG),0)
+WX_CONFIG_DEBUG_FLAG = --debug=no
+endif
+ifeq ($(WX_DEBUG),1)
+WX_CONFIG_DEBUG_FLAG = --debug=yes
+endif
+ifeq ($(WX_UNICODE),0)
+WX_CONFIG_UNICODE_FLAG = --unicode=no
+endif
+ifeq ($(WX_UNICODE),1)
+WX_CONFIG_UNICODE_FLAG = --unicode=yes
+endif
+ifeq ($(WX_SHARED),0)
+WX_CONFIG_SHARED_FLAG = --static=yes
+endif
+ifeq ($(WX_SHARED),1)
+WX_CONFIG_SHARED_FLAG = --static=no
+endif
 
 
 ### Targets: ###
 
-all: caret
+all: test_for_selected_wxbuild caret
 
 install: all
 
@@ -58,8 +94,11 @@ clean:
        rm -f ./*.d
        rm -f caret
 
+test_for_selected_wxbuild: 
+       @$(WX_CONFIG) $(WX_CONFIG_FLAGS)
+
 caret: $(CARET_OBJECTS)
-       $(CXX) -o $@ $(CARET_OBJECTS) $(LDFLAGS)   `$(WX_CONFIG) --libs core,base`
+       $(CXX) -o $@ $(CARET_OBJECTS) $(LDFLAGS)   `$(WX_CONFIG) $(WX_CONFIG_FLAGS) --libs core,base`
 
 caret_caret.o: ./caret.cpp
        $(CXX) -c -o $@ $(CARET_CXXFLAGS) $(CPPDEPS) $<