diff options
author | Cyril Lavier <cyril.lavier@davromaniak.eu> | 2012-01-25 21:52:25 +0100 |
---|---|---|
committer | Cyril Lavier <cyril.lavier@davromaniak.eu> | 2012-01-25 21:52:25 +0100 |
commit | de557c9169bd7b74b5126b8c6192c6251d03407c (patch) | |
tree | fb33e8a589302c4c09910699d960a73dafa2fa5a /buildsys.mk.in | |
parent | 95ef69053691c5c731d0a6538de118ea52a3cd0a (diff) |
Imported Upstream version 3.2
Diffstat (limited to 'buildsys.mk.in')
-rw-r--r-- | buildsys.mk.in | 155 |
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}; \ |