summaryrefslogtreecommitdiff
path: root/buildsys.mk.in
diff options
context:
space:
mode:
authorCyril Lavier <cyril.lavier@davromaniak.eu>2012-01-25 21:52:25 +0100
committerCyril Lavier <cyril.lavier@davromaniak.eu>2012-01-25 21:52:25 +0100
commitde557c9169bd7b74b5126b8c6192c6251d03407c (patch)
treefb33e8a589302c4c09910699d960a73dafa2fa5a /buildsys.mk.in
parent95ef69053691c5c731d0a6538de118ea52a3cd0a (diff)
Imported Upstream version 3.2
Diffstat (limited to 'buildsys.mk.in')
-rw-r--r--buildsys.mk.in155
1 files changed, 112 insertions, 43 deletions
diff --git a/buildsys.mk.in b/buildsys.mk.in
index 2ff129e..b00ae75 100644
--- a/buildsys.mk.in
+++ b/buildsys.mk.in
@@ -1,5 +1,6 @@
#
-# Copyright (c) 2007 - 2009, Jonathan Schleifer <js@webkeks.org>
+# Copyright (c) 2007, 2008, 2009, 2010, 2011
+# Jonathan Schleifer <js@webkeks.org>
#
# https://webkeks.org/hg/buildsys/
#
@@ -63,6 +64,10 @@ MKDIR_P = mkdir -p
INSTALL = @INSTALL@
SHELL = @SHELL@
MSGFMT = @MSGFMT@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAR = @JAR@
+WINDRES = @WINDRES@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
@@ -82,11 +87,13 @@ OBJS2 = ${OBJS1:.cc=.o}
OBJS3 = ${OBJS2:.cxx=.o}
OBJS4 = ${OBJS3:.d=.o}
OBJS5 = ${OBJS4:.erl=.beam}
-OBJS6 = ${OBJS5:.m=.o}
-OBJS7 = ${OBJS6:.mm=.o}
-OBJS8 = ${OBJS7:.py=.pyc}
-OBJS9 = ${OBJS8:.xpm=.o}
-OBJS += ${OBJS9:.S=.o}
+OBJS6 = ${OBJS5:.java=.class}
+OBJS7 = ${OBJS6:.m=.o}
+OBJS8 = ${OBJS7:.mm=.o}
+OBJS9 = ${OBJS8:.py=.pyc}
+OBJS10 = ${OBJS9:.rc=.o}
+OBJS11 = ${OBJS10:.S=.o}
+OBJS += ${OBJS11:.xpm=.o}
LIB_OBJS = ${OBJS:.o=.lib.o}
PLUGIN_OBJS = ${OBJS:.o=.plugin.o}
@@ -95,13 +102,13 @@ MO_FILES = ${LOCALES:.po=.mo}
.SILENT:
.SUFFIXES:
-.SUFFIXES: .beam .c .c.dep .cc .cc.dep .cxx .cxx.dep .d .erl .lib.o .mo .m .m.dep .mm .mm.dep .o .plugin.o .po .py .pyc .xpm .S .S.dep
+.SUFFIXES: .beam .c .c.dep .cc .cc.dep .class .cxx .cxx.dep .d .erl .lib.o .java .mo .m .m.dep .mm .mm.dep .o .plugin.o .po .py .pyc .rc .S .S.dep .xpm
.PHONY: all subdirs pre-depend depend install install-extra uninstall uninstall-extra clean distclean locales
all:
- ${MAKE} ${MFLAGS} subdirs || exit 1
- ${MAKE} ${MFLAGS} depend || exit 1
- ${MAKE} ${STATIC_LIB} ${STATIC_LIB_NOINST} ${LIB} ${LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${PROG} ${PROG_NOINST} locales || exit 1
+ ${MAKE} ${MFLAGS} subdirs
+ ${MAKE} ${MFLAGS} depend
+ ${MAKE} ${STATIC_LIB} ${STATIC_LIB_NOINST} ${STATIC_PIC_LIB} ${STATIC_PIC_LIB_NOINST} ${LIB} ${LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${PROG} ${PROG_NOINST} ${JARFILE} locales
subdirs:
for i in ${SUBDIRS}; do \
@@ -122,7 +129,7 @@ depend: pre-depend ${SRCS}
;; \
esac; \
done; \
- if test x"$$regen" = x"1" -a x"$$deps" != "x"; then \
+ if test x"$$regen" = x"1" -a x"$$deps" != x""; then \
${DEPEND_STATUS}; \
if ${MAKE} ${MFLAGS} $$deps && cat $$deps >.deps; then \
rm -f $$deps; \
@@ -149,20 +156,29 @@ ${PROG} ${PROG_NOINST}: ${EXT_DEPS} ${OBJS}
${LINK_FAILED}; \
fi
+${JARFILE}: ${EXT_DEPS} ${JAR_MANIFEST} ${OBJS}
+ ${LINK_STATUS}
+ if test x"${JAR_MANIFEST}" != x""; then \
+ if ${JAR} cfm ${JARFILE} ${JAR_MANIFEST} ${OBJS}; then \
+ ${LINK_OK}; \
+ else \
+ ${LINK_FAILED}; \
+ fi \
+ else \
+ if ${JAR} cf ${JARFILE} ${OBJS}; then \
+ ${LINK_OK}; \
+ else \
+ ${LINK_FAILED}; \
+ fi \
+ fi
+
${LIB} ${LIB_NOINST}: ${EXT_DEPS} ${LIB_OBJS}
- case $@ in \
- *.a) \
- ${MAKE} ${MFLAGS} STATIC_LIB=${LIB} LIB= $@ || exit 1 \
- ;; \
- *) \
- ${LINK_STATUS}; \
- if ${LD} -o $@ ${LIB_OBJS} ${LIB_LDFLAGS} ${LDFLAGS} ${LIBS}; then \
- ${LINK_OK}; \
- else \
- ${LINK_FAILED}; \
- fi \
- ;; \
- esac
+ ${LINK_STATUS}; \
+ if ${LD} -o $@ ${LIB_OBJS} ${LIB_LDFLAGS} ${LDFLAGS} ${LIBS}; then \
+ ${LINK_OK}; \
+ else \
+ ${LINK_FAILED}; \
+ fi \
${PLUGIN} ${PLUGIN_NOINST}: ${EXT_DEPS} ${PLUGIN_OBJS}
${LINK_STATUS}
@@ -174,7 +190,44 @@ ${PLUGIN} ${PLUGIN_NOINST}: ${EXT_DEPS} ${PLUGIN_OBJS}
${STATIC_LIB} ${STATIC_LIB_NOINST}: ${EXT_DEPS} ${OBJS}
${LINK_STATUS}
- if ${AR} cr $@ ${OBJS} && ${RANLIB} $@; then \
+ rm -f $@
+ objs=""; \
+ ars=""; \
+ for i in ${OBJS}; do \
+ case $$i in \
+ *.a) \
+ ars="$$ars $$i" \
+ ;; \
+ *.o) \
+ objs="$$objs $$i" \
+ ;; \
+ esac \
+ done; \
+ for i in $$ars; do \
+ dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
+ rm -fr $$dir; \
+ mkdir -p $$dir; \
+ cd $$dir; \
+ ar x ../$$i; \
+ for j in *.o; do \
+ objs="$$objs $$dir/$$j"; \
+ done; \
+ cd ..; \
+ done; \
+ if ${AR} cr $@ $$objs && ${RANLIB} $@; then \
+ ${LINK_OK}; \
+ else \
+ ${LINK_FAILED}; \
+ rm -f $@; \
+ fi; \
+ for i in $$ars; do \
+ dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
+ rm -fr $$dir; \
+ done
+
+${STATIC_PIC_LIB} ${STATIC_PIC_LIB_NOINST}: ${EXT_DEPS} ${LIB_OBJS}
+ ${LINK_STATUS}
+ if ${AR} cr $@ ${LIB_OBJS} && ${RANLIB} $@; then \
${LINK_OK}; \
else \
${LINK_FAILED}; \
@@ -251,6 +304,14 @@ locales: ${MO_FILES}
${COMPILE_FAILED}; \
fi
+.java.class:
+ ${COMPILE_STATUS}
+ if ${JAVAC} ${JAVACFLAGS} $<; then \
+ ${COMPILE_OK}; \
+ else \
+ ${COMPILE_FAILED}; \
+ fi
+
.m.o:
${COMPILE_STATUS}
if ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
@@ -311,51 +372,59 @@ locales: ${MO_FILES}
${COMPILE_FAILED}; \
fi
-.xpm.o:
+.rc.o .rc.lib.o .rc.plugin.o:
${COMPILE_STATUS}
- if ${CC} ${CFLAGS} ${CPPFLAGS} -x c -c -o $@ $<; then \
+ if ${WINDRES} -J rc -O coff -o $@ $<; then \
${COMPILE_OK}; \
else \
${COMPILE_FAILED}; \
fi
-.xpm.lib.o:
+
+.S.o:
+ ${COMPILE_STATUS}
+ if ${AS} ${ASFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
+ ${COMPILE_OK}; \
+ else \
+ ${COMPILE_FAILED}; \
+ fi
+.S.lib.o:
${COMPILE_LIB_STATUS}
- if ${CC} ${LIB_CFLAGS} ${CFLAGS} ${CPPFLAGS} -x c -c -o $@ $<; then \
+ if ${AS} ${LIB_CFLAGS} ${ASFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
${COMPILE_LIB_OK}; \
else \
${COMPILE_LIB_FAILED}; \
fi
-.xpm.plugin.o:
+.S.plugin.o:
${COMPILE_PLUGIN_STATUS}
- if ${CC} ${PLUGIN_CFLAGS} ${CFLAGS} ${CPPFLAGS} -x c -c -o $@ $<; then \
+ if ${AS} ${PLUGIN_CFLAGS} ${ASFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
${COMPILE_PLUGIN_OK}; \
else \
${COMPILE_PLUGIN_FAILED}; \
fi
-.S.o:
+.xpm.o:
${COMPILE_STATUS}
- if ${AS} ${ASFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
+ if ${CC} ${CFLAGS} ${CPPFLAGS} -x c -c -o $@ $<; then \
${COMPILE_OK}; \
else \
${COMPILE_FAILED}; \
fi
-.S.lib.o:
+.xpm.lib.o:
${COMPILE_LIB_STATUS}
- if ${AS} ${LIB_CFLAGS} ${ASFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
+ if ${CC} ${LIB_CFLAGS} ${CFLAGS} ${CPPFLAGS} -x c -c -o $@ $<; then \
${COMPILE_LIB_OK}; \
else \
${COMPILE_LIB_FAILED}; \
fi
-.S.plugin.o:
+.xpm.plugin.o:
${COMPILE_PLUGIN_STATUS}
- if ${AS} ${PLUGIN_CFLAGS} ${ASFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
+ if ${CC} ${PLUGIN_CFLAGS} ${CFLAGS} ${CPPFLAGS} -x c -c -o $@ $<; then \
${COMPILE_PLUGIN_OK}; \
else \
${COMPILE_PLUGIN_FAILED}; \
fi
-install: ${LIB} ${STATIC_LIB} ${PLUGIN} ${PROG} install-extra
+install: ${LIB} ${STATIC_LIB} ${STATIC_PIC_LIB} ${PLUGIN} ${PROG} install-extra
for i in ${SUBDIRS}; do \
${DIR_ENTER}; \
${MAKE} ${MFLAGS} install || exit 1; \
@@ -364,14 +433,14 @@ install: ${LIB} ${STATIC_LIB} ${PLUGIN} ${PROG} install-extra
for i in ${LIB}; do \
${INSTALL_STATUS}; \
- if ${MKDIR_P} ${DESTDIR}${libdir} && ${INSTALL_LIB}; then \
+ if ${MKDIR_P} ${DESTDIR}${libdir} ${INSTALL_LIB}; then \
${INSTALL_OK}; \
else \
${INSTALL_FAILED}; \
fi \
done
- for i in ${STATIC_LIB}; do \
+ for i in ${STATIC_LIB} ${STATIC_PIC_LIB}; do \
${INSTALL_STATUS}; \
if ${MKDIR_P} ${DESTDIR}${libdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${libdir}/$$i; then \
${INSTALL_OK}; \
@@ -446,7 +515,7 @@ uninstall: uninstall-extra
for i in ${LIB}; do \
if test -f ${DESTDIR}${libdir}/$$i; then \
- if ${UNINSTALL_LIB}; then \
+ if : ${UNINSTALL_LIB}; then \
${DELETE_OK}; \
else \
${DELETE_FAILED}; \
@@ -454,7 +523,7 @@ uninstall: uninstall-extra
fi; \
done
- for i in ${STATIC_LIB}; do \
+ for i in ${STATIC_LIB} ${STATIC_PIC_LIB}; do \
if test -f ${DESTDIR}${libdir}/$$i; then \
if rm -f ${DESTDIR}${libdir}/$$i; then \
${DELETE_OK}; \
@@ -537,7 +606,7 @@ clean:
${DIR_LEAVE}; \
done
- for i in ${DEPS} ${OBJS} ${LIB_OBJS} ${PLUGIN_OBJS} ${PROG} ${PROG_NOINST} ${LIB} ${LIB_NOINST} ${STATIC_LIB} ${STATIC_LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${CLEAN_LIB} ${MO_FILES} ${CLEAN}; do \
+ for i in ${DEPS} ${OBJS} ${LIB_OBJS} ${PLUGIN_OBJS} ${PROG} ${PROG_NOINST} ${LIB} ${LIB_NOINST} ${STATIC_LIB} ${STATIC_LIB_NOINST} ${STATIC_PIC_LIB} ${STATIC_PIC_LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${CLEAN_LIB} ${MO_FILES} ${CLEAN}; do \
if test -f $$i -o -d $$i; then \
if rm -fr $$i; then \
${DELETE_OK}; \