ifeq ($(wildcard $(JSON_BUILDER)),)
JSON_BUILDER = $(shell which JsonSchemaBuilder)
ifeq ($(JSON_BUILDER),)
- JSON_BUILDER = tools/depends/native/JsonSchemaBuilder/JsonSchemaBuilder
+ JSON_BUILDER = tools/depends/native/JsonSchemaBuilder/bin/JsonSchemaBuilder
endif
endif
@echo Jsonbuilder: $(JSON_BUILDER)
make -C $(INTERFACES_DIR)/json-rpc $(notdir $@)
-ifneq ($(CROSS_COMPILING), yes)
$(JSON_BUILDER):
- make -C $(dir $@)
+ifeq ($(BOOTSTRAP_FROM_DEPENDS), yes)
+ @echo JsonSchemaBuilder not found. You didn\'t build depends. Check docs/README.\<yourplatform\>
+ @false
+else
+#build json builder - ".." because makefile is in the parent dir of "bin"
+ make -C $(abspath $(dir $@)..)
endif
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
-include ../../Makefile.include
ifeq ($(NATIVEPREFIX),)
- PREFIX = .
+ PREFIX = $(ROOT_DIR)
else
- PREFIX = $(NATIVEPREFIX)/bin
+ PREFIX = $(NATIVEPREFIX)
endif
ifeq ($(NATIVEPLATFORM),)
PLATFORM = $(NATIVEPLATFORM)
endif
+SOURCE=$(ROOT_DIR)/src
+
+CONFIGURE=./configure --prefix=$(PREFIX)
+APP=$(SOURCE)/JsonSchemaBuilder
+APPBIN=$(PREFIX)/bin/JsonSchemaBuilder
+
all: .installed-$(PLATFORM)
-$(PREFIX)/JsonSchemaBuilder:
- make -C src
- cp src/JsonSchemaBuilder $(PREFIX)
+$(PLATFORM):
+ -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+ cd $(PLATFORM); cp -a $(SOURCE)/* .
+ cd $(PLATFORM); ./autogen.sh
+ cd $(PLATFORM); $(CONFIGURE)
-clean:
- make -C src clean
- @rm -f JsonSchemaBuilder .installed-$(PLATFORM)
-.installed-$(PLATFORM): $(PREFIX)/JsonSchemaBuilder
+$(APP): $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)
+
+
+.installed-$(PLATFORM): $(APP)
+ $(MAKE) -C $(PLATFORM) install
touch $@
+
+clean:
+ $(MAKE) -C $(PLATFORM) clean
+
+distclean::
+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
+ -rm -rf bin
+++ /dev/null
-APP=JsonSchemaBuilder
-
-SOURCES := $(shell ls *.cpp)
-
-OBJS := $(SOURCES:.cpp=.o)
-all: $(APP)
-
-$(APP): $(OBJS)
- $(CXX) $(CFLAGS) -o $(APP) $(OBJS) $(LFLAGS) $(LIBS)
-
-.cpp.o:
- $(CXX) $(CFLAGS) $(INCLUDES) -c $<
-
-clean:
- rm -f $(OBJS) $(SOURCES:.cpp=.d) $(APP)
--- /dev/null
+bin_PROGRAMS = JsonSchemaBuilder
+JsonSchemaBuilder_SOURCES = JsonSchemaBuilder.cpp
+
--- /dev/null
+#!/bin/sh
+
+autoreconf -vif
--- /dev/null
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT(JsonSchemaBuilder, 1.0, me@mail.com)
+AC_CONFIG_AUX_DIR(config)
+AC_CONFIG_SRCDIR(JsonSchemaBuilder.cpp)
+
+AM_INIT_AUTOMAKE([foreign])
+
+AC_PROG_CXX
+
+AC_OUTPUT(Makefile)
$(SOURCE)/libxbmc.so:
- cd $(SOURCE); ./bootstrap
+ cd $(SOURCE); BOOTSTRAP_FROM_DEPENDS=yes ./bootstrap
cd $(SOURCE); $(CONFIGURE)
../../Makefile.include:
ifeq ($(wildcard $(JSON_BUILDER)),)
JSON_BUILDER = $(shell which JsonSchemaBuilder)
ifeq ($(JSON_BUILDER),)
- JSON_BUILDER = ../../../tools/depends/native/JsonSchemaBuilder/JsonSchemaBuilder
+ JSON_BUILDER = ../../../tools/depends/native/JsonSchemaBuilder/bin/JsonSchemaBuilder
endif
endif