source: roaraudio/Makefile @ 5889:d866fb1213d6

Last change on this file since 5889:d866fb1213d6 was 5873:6e1396661359, checked in by phi, 11 years ago

Corrected symlink creation to avoid problems on non-win32 (Closes: #346) (pr1)

File size: 4.6 KB
RevLine 
[426]1include Makefile.conf
[3081]2include Makefile.inc
[426]3
[3704]4COMP_LIB=$(subdir_libroaresd) $(subdir_libroarsndio) $(subdir_libroaryiff) $(subdir_libroarpulse) $(subdir_libroararts) $(subdir_libroaross) $(subdir_libroarrsound)
[1618]5
[3885]6SUBDIRS=$(comp_libs) $(COMP_LIB) $(comp_comp_bins) $(subdir_roarfish) $(comp_clients) $(comp_roard) $(comp_doc)
[1709]7
[5426]8PLUGINS=$(subdir_plugins_ao) $(subdir_plugins_xmms) $(subdir_plugins_audacious) $(subdir_plugins_roard) $(subdir_plugins_universal)
[0]9
[4859]10CKPORTDB=libroar.ckport
11
[5099]12SUFFIX_LIB=$(SHARED_SUFFIX).$(COMMON_SOVERSION)
13
[5864]14ifeq ($(TARGET_TYPE),win32)
[5873]15SYMLINKPREFIX_ROOT=$(DESTDIR)
16SYMLINKPREFIX=$(SYMLINKPREFIX_ROOT)$(PREFIX_LIB)/
[5860]17else
[5873]18SYMLINKPREFIX_ROOT=
[5860]19SYMLINKPREFIX=
20endif
21
[0]22all:
[3553]23        set -e; for i in ${SUBDIRS}; do cd $$i; $(MAKE) all; cd ..; done;
24        set -e; for i in ${PLUGINS}; do cd $$i; $(MAKE) all; cd ../..; done;
[0]25clean:
[3]26        rm -f lib/* || true
[3553]27        set -e; for i in ${SUBDIRS}; do cd $$i; $(MAKE) clean; cd ..; done;
28        set -e; for i in ${PLUGINS}; do cd $$i; $(MAKE) clean; cd ../..; done;
29        set -e; cd tests/; $(MAKE) clean; cd ..;
[0]30
[3097]31distclean: clean
32        rm -f Makefile.conf config.log include/roaraudio/config.h
33
[0]34new: clean all
[866]35
[1410]36test: all
[3553]37        set -e; cd tests; $(MAKE) test; cd ..;
[1410]38
[3831]39build-pc-files:
[4724]40        set -e; if [ "$(CROSS_COMPILE)" = "false" -o "$(CROSS_COMPILE)" = "true" -a "$(EXEC_HELPER)" != "" ]; then for lib in $(comp_libs); do $(EXEC_HELPER) ./lib/roar-config --output-pc $$lib > lib/$$lib.pc; done; fi
[3831]41
42prep-install: prep-install-dirs build-pc-files
43
[866]44prep-install-dirs:
[2571]45        mkdir -p '$(DESTDIR)$(PREFIX_BIN)'
46        mkdir -p '$(DESTDIR)$(PREFIX_LIB)'
47        mkdir -p '$(DESTDIR)$(PREFIX_INC)'
48        mkdir -p '$(DESTDIR)$(PREFIX_MAN)'
[3831]49        mkdir -p '$(DESTDIR)$(PREFIX_PC)'
[2845]50        mkdir -p '$(DESTDIR)$(PREFIX_COMP_LIBS)'
51        mkdir -p '$(DESTDIR)$(PREFIX_COMP_BINS)'
[4859]52        mkdir -p '$(DESTDIR)$(PREFIX_CKPORT)'
[5423]53        mkdir -p '$(DESTDIR)$(PREFIX_PLUGINS)/universal/universal/$(DEV_VENDOR)-$(DEV_VENDOR_NAME)'
54        mkdir -p '$(DESTDIR)$(PREFIX_PLUGINS)/$(DEV_VENDOR)-$(DEV_VENDOR_NAME)/universal/'
[5426]55        mkdir -p '$(DESTDIR)$(PREFIX_PLUGINS)/$(DEV_VENDOR)-$(DEV_VENDOR_NAME)/roard/$(DEV_VENDOR)-$(DEV_VENDOR_NAME)'
[5674]56        mkdir -p '$(DESTDIR)$(PREFIX_BUILDSYSTEM)'
[3553]57        set -e; cd doc; $(MAKE) prep-install-dirs; cd ..
[866]58
[3831]59install: prep-install
[2571]60        cp $(cp_v) lib/roar*     '$(DESTDIR)$(PREFIX_BIN)'
[4859]61        cp $(cp_v) $(CKPORTDB)   '$(DESTDIR)$(PREFIX_CKPORT)'
[4732]62        set -e; if [ "$(CROSS_COMPILE)" = "false" -o "$(CROSS_COMPILE)" = "true" -a "$(EXEC_HELPER)" != "" ]; then cp $(cp_v) lib/*.pc      '$(DESTDIR)$(PREFIX_PC)'; fi
[4559]63        sh -c 'set -e; cd lib; for file in lib*$(SHARED_SUFFIX)*; do cp $$file '$(DESTDIR)$(PREFIX_LIB)'/$$file.$(COMMON_SOVERSION); done'
[5860]64        sh -c 'set -e; cd lib; for file in lib*$(SHARED_SUFFIX)*; do ln -fs $(SYMLINKPREFIX)$$file.$(COMMON_SOVERSION) '$(DESTDIR)$(PREFIX_LIB)'/$$file; done'
[5873]65        sh -c 'set -e; cd lib; while read d t; do if [ -e '$(DESTDIR)$(PREFIX_LIB)'/$$d$(SUFFIX_LIB) ]; then ln -fs '$(SYMLINKPREFIX_ROOT)$(PREFIX_LIB)'/$$d$(SUFFIX_LIB) '$(DESTDIR)$(PREFIX_COMP_LIBS)'/$$t; fi; done < ../symlinks.comp'
[3894]66        sh -c 'set -e; cd lib; for file in *$(COMPBIN_SUFFIX); do b=`basename $$file $(COMPBIN_SUFFIX)`; cp $$file '$(DESTDIR)$(PREFIX_COMP_BINS)'/$$b; done'
[3553]67        sh -c 'set -e; for file in include/roar* include/lib*; do cp $(cp_v) -r $$file '$(DESTDIR)$(PREFIX_INC)'/; done'
68        set -e; cd doc; $(MAKE) install; cd ..
69        set -e; for i in $(PLUGINS); do if [ "$$i" != '' ]; then cd $$i; $(MAKE) install; cd ../..; fi; done
[5674]70        cp $(cp_v) build-system/*.*     '$(DESTDIR)$(PREFIX_BUILDSYSTEM)'
[1709]71
[3831]72semi-install: prep-install
[3553]73        sh -c 'set -e; for file in lib/roar*;    do ln -fs `pwd`/$$file '$(DESTDIR)$(PREFIX_BIN)'/; done'
[4859]74        ln -fs `pwd`/$(CKPORTDB) '$(DESTDIR)$(PREFIX_CKPORT)/'
[4732]75        sh -c 'set -e; if [ "$(CROSS_COMPILE)" = "false" -o "$(CROSS_COMPILE)" = "true" -a "$(EXEC_HELPER)" != "" ]; then for file in lib/*.pc;     do ln -fs `pwd`/$$file '$(DESTDIR)$(PREFIX_PC)'/; done; fi'
[3553]76        sh -c 'set -e; cd lib; for file in lib*$(SHARED_SUFFIX)*; do ln -fs `pwd`/$$file '$(DESTDIR)$(PREFIX_LIB)'/; done'
[4559]77        sh -c 'set -e; cd lib; for file in lib*$(SHARED_SUFFIX)*; do ln -fs `pwd`/$$file '$(DESTDIR)$(PREFIX_LIB)'/$$file.$(COMMON_SOVERSION); done'
[5860]78        sh -c 'set -e; cd lib; while read d t; do if [ -e `pwd`/$$d$(SHARED_SUFFIX) ]; then ln -fs `pwd`/$$d$(SHARED_SUFFIX) '$(DESTDIR)$(PREFIX_COMP_LIBS)'/$$t; fi; done < ../symlinks.comp'
[3894]79        sh -c 'set -e; cd lib; for file in *$(COMPBIN_SUFFIX); do b=`basename $$file $(COMPBIN_SUFFIX)`; ln -fs `pwd`/$$file '$(DESTDIR)$(PREFIX_COMP_BINS)'/$$b; done'
[3553]80        sh -c 'set -e; for file in include/roar* include/lib*; do ln -fs `pwd`/$$file '$(DESTDIR)$(PREFIX_INC)'/; done'
81        set -e; cd doc; $(MAKE) semi-install; cd ..
82        set -e; for i in $(PLUGINS); do if [ "$$i" != '' ]; then cd $$i; $(MAKE) semi-install; cd ../..; fi; done
[5674]83        ln -fs `pwd`/build-system/*.* '$(DESTDIR)$(PREFIX_BUILDSYSTEM)'
Note: See TracBrowser for help on using the repository browser.