aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwsnipex <wsnipex@a1.net>2015-01-04 11:22:09 +0100
committerMemphiz <memphis@machzwo.de>2015-01-08 21:59:02 +0100
commit7b4395a65acc62391063b8a5b0886f2ea2e0de67 (patch)
treee91f95fa2044570d69c541859af1afcfdaa692d7
parent1f31c0e05976e9537c814fff0a219d32dd7ffbbe (diff)
[depends] add target(non native) libsquish
-rw-r--r--tools/depends/native/libsquish-native/src/Makefile.in35
-rw-r--r--tools/depends/native/libsquish-native/src/Makefile.target34
-rw-r--r--tools/depends/target/libsquish/Makefile28
3 files changed, 62 insertions, 35 deletions
diff --git a/tools/depends/native/libsquish-native/src/Makefile.in b/tools/depends/native/libsquish-native/src/Makefile.in
deleted file mode 100644
index ef57bb884d..0000000000
--- a/tools/depends/native/libsquish-native/src/Makefile.in
+++ /dev/null
@@ -1,35 +0,0 @@
-ARCH=@ARCH@
-
-SRCS= \
- alpha.cpp \
- clusterfit.cpp \
- colourblock.cpp \
- colourfit.cpp \
- colourset.cpp \
- maths.cpp \
- rangefit.cpp \
- singlecolourfit.cpp \
- squish.cpp
-
-CXXFLAGS += -I.
-CXXFLAGS_FOR_BUILD += -I.
-LIB = libsquish.a
-NATIVE_LIB = libsquish-native.so
-CLEAN_FILES += $(NATIVE_LIB)
-
-ifeq ($(findstring Darwin,$(shell uname -s)),Darwin)
- CXXFLAGS_FOR_BUILD += @DARWIN_NATIVE_ARCH@
-endif
-
-all: $(LIB)
-
-# TexturePacker links to libsquish and needs to run on build system, so make a native flavor.
-$(NATIVE_LIB): $(SRCS)
-ifeq ($(findstring Darwin,$(shell uname -s)),Darwin)
- $(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $(SRCS) -dynamiclib -install_name `pwd`/$(NATIVE_LIB) -o $@
-else
- $(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $(SRCS) -shared -fPIC -Wl,-soname,`pwd`/$(NATIVE_LIB) -o $@
-endif
-
-include ../../Makefile.include
--include $(patsubst %.cpp,%.P,$(patsubst %.c,%.P,$(SRCS)))
diff --git a/tools/depends/native/libsquish-native/src/Makefile.target b/tools/depends/native/libsquish-native/src/Makefile.target
new file mode 100644
index 0000000000..03d6732764
--- /dev/null
+++ b/tools/depends/native/libsquish-native/src/Makefile.target
@@ -0,0 +1,34 @@
+include ../../../Makefile.include
+
+SRCS= \
+ alpha.cpp \
+ clusterfit.cpp \
+ colourblock.cpp \
+ colourfit.cpp \
+ colourset.cpp \
+ maths.cpp \
+ rangefit.cpp \
+ singlecolourfit.cpp \
+ squish.cpp
+
+CXXFLAGS += -I.
+LIB = libsquish.a
+
+OBJ = $(SRCS:%.cpp=%.o)
+
+%.o : %.cpp
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o$@ -c $<
+
+$(LIB): $(OBJ)
+ $(AR) cr $@ $?
+ $(RANLIB) $@
+
+install: $(LIB) squish.pc
+ install squish.h $(PREFIX)/include
+ install libsquish.a $(PREFIX)/lib
+ install squish.pc $(PREFIX)/lib/pkgconfig
+
+squish.pc: squish.pc.in
+ sed 's|@PREFIX@|$(PREFIX)|' $@.in > $@
+
+all: $(LIB)
diff --git a/tools/depends/target/libsquish/Makefile b/tools/depends/target/libsquish/Makefile
new file mode 100644
index 0000000000..50e9e3c9c4
--- /dev/null
+++ b/tools/depends/target/libsquish/Makefile
@@ -0,0 +1,28 @@
+include ../../Makefile.include
+DEPS = ../../Makefile.include.in Makefile
+
+# reuse native src
+SOURCE=$(abs_top_srcdir)/native/libsquish-native/src
+
+DYLIB=$(PLATFORM)/libsquish.a
+
+all: .installed-$(PLATFORM)
+
+$(PLATFORM):
+ -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+ cd $(PLATFORM); cp -a $(SOURCE)/* .
+ cd $(PLATFORM); mv Makefile.target Makefile
+ cd $(PLATFORM); mkdir -p $(PREFIX)/include; mkdir -p $(PREFIX)/lib/pkgconfig
+
+$(DYLIB): $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)
+
+.installed-$(PLATFORM): $(DYLIB)
+ $(MAKE) -C $(PLATFORM) install
+ touch $@
+
+clean:
+ $(MAKE) -C $(PLATFORM) clean
+
+distclean::
+ rm -rf $(PLATFORM) .installed-$(PLATFORM)