the clang compiler by default changed: Makefile files have been a little cleaned the main Makefile now will not compile winix and winix.so if there were not any changes to source files (it's faster) (added Makefile.dep in the global directory with list of all source/header files) changed: winix version to 0.5.5 git-svn-id: svn://ttmath.org/publicrep/winix/trunk@933 e52654a7-88a9-db11-a3e9-0013d4bc506e
156 lines
4.9 KiB
Makefile
Executable File
156 lines
4.9 KiB
Makefile
Executable File
# Makefile for GNU make
|
|
|
|
include Makefile.dep
|
|
|
|
|
|
#ifndef CXX
|
|
# temporarily workaround: forcing using clang (CXX is defined by the OS and is equal to g++)
|
|
CXX = clang++
|
|
#endif
|
|
|
|
ifndef CXXFLAGS
|
|
CXXFLAGS = -Wall -O2 -fPIC -pthread -std=c++11 -I/usr/local/include -DEZC_USE_WINIX_LOGGER -DEZC_HAS_SPECIAL_STREAM
|
|
endif
|
|
|
|
|
|
ifndef CXXWINIXINCLUDEFLAGS
|
|
# these flags are used for compiling and making dependencies (make depend)
|
|
# it's better to not using any system directories like -I/usr/local/include here
|
|
CXXWINIXINCLUDEFLAGS = -I../../winix -I../../../winix -I../../ezc/src -I../../../ezc/src -I../../tito/src -I../../../tito/src -I../../pikotools -I../../../pikotools
|
|
endif
|
|
|
|
ifndef LDFLAGS
|
|
LDFLAGS = -L/usr/local/lib
|
|
endif
|
|
|
|
# this macro is used in ezc's Makefile
|
|
EZC_USE_WINIX_LOGGER = yes
|
|
|
|
|
|
# for make install
|
|
winix_install_dir = /usr/local/winix
|
|
|
|
|
|
export CXX
|
|
export CXXFLAGS
|
|
export CXXWINIXINCLUDEFLAGS
|
|
export LDFLAGS
|
|
export EZC_USE_WINIX_LOGGER
|
|
|
|
|
|
all: winix.so plugins winix
|
|
|
|
|
|
|
|
winix.so: $(winix.src.files)
|
|
@cd core ; $(MAKE) -e
|
|
@cd db ; $(MAKE) -e
|
|
@cd functions ; $(MAKE) -e
|
|
@cd notify ; $(MAKE) -e
|
|
@cd templates ; $(MAKE) -e
|
|
@cd ../ezc/src ; $(MAKE) -e
|
|
@cd ../tito/src ; $(MAKE) -e
|
|
@cd ../pikotools ; $(MAKE) -e
|
|
$(CXX) -shared -rdynamic -Wl,-whole-archive -o winix.so $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) core/*.o db/*.o functions/*.o templates/*.o notify/*.o ../ezc/src/ezc.a ../tito/src/tito.a ../pikotools/utf8/utf8.a ../pikotools/space/space.a ../pikotools/mainparser/mainparser.a ../pikotools/date/date.a $(LDFLAGS) -lfcgi -lpq -lz -lfetch -lpthread -Wl,-no-whole-archive
|
|
|
|
|
|
winix: winix.so $(winix.src.files)
|
|
@cd main ; $(MAKE) -e
|
|
$(CXX) -o winix $(CXXFLAGS) $(LDFLAGS) main/*.o winix.so
|
|
|
|
|
|
|
|
plugins: FORCE
|
|
@cd plugins/stats ; $(MAKE) -e
|
|
@cd plugins/thread ; $(MAKE) -e
|
|
@cd plugins/ticket ; $(MAKE) -e
|
|
@cd plugins/gallery ; $(MAKE) -e
|
|
@cd plugins/group ; $(MAKE) -e
|
|
@cd plugins/menu ; $(MAKE) -e
|
|
@cd plugins/export ; $(MAKE) -e
|
|
|
|
|
|
FORCE:
|
|
|
|
|
|
clean:
|
|
@cd core ; $(MAKE) -e clean
|
|
@cd db ; $(MAKE) -e clean
|
|
@cd functions ; $(MAKE) -e clean
|
|
@cd templates ; $(MAKE) -e clean
|
|
@cd notify ; $(MAKE) -e clean
|
|
@cd plugins/stats ; $(MAKE) -e clean
|
|
@cd plugins/thread ; $(MAKE) -e clean
|
|
@cd plugins/ticket ; $(MAKE) -e clean
|
|
@cd plugins/gallery ; $(MAKE) -e clean
|
|
@cd plugins/group ; $(MAKE) -e clean
|
|
@cd plugins/menu ; $(MAKE) -e clean
|
|
@cd plugins/export ; $(MAKE) -e clean
|
|
@cd ../ezc/src ; $(MAKE) -e clean
|
|
@cd ../tito/src ; $(MAKE) -e clean
|
|
@cd ../pikotools ; $(MAKE) -e clean
|
|
@cd main ; $(MAKE) -e clean
|
|
rm -f winix.so
|
|
rm -f winix
|
|
|
|
|
|
|
|
|
|
|
|
depend:
|
|
@cd core ; $(MAKE) -e depend
|
|
@cd db ; $(MAKE) -e depend
|
|
@cd functions ; $(MAKE) -e depend
|
|
@cd templates ; $(MAKE) -e depend
|
|
@cd notify ; $(MAKE) -e depend
|
|
@cd plugins/stats ; $(MAKE) -e depend
|
|
@cd plugins/thread ; $(MAKE) -e depend
|
|
@cd plugins/ticket ; $(MAKE) -e depend
|
|
@cd plugins/gallery ; $(MAKE) -e depend
|
|
@cd plugins/group ; $(MAKE) -e depend
|
|
@cd plugins/menu ; $(MAKE) -e depend
|
|
@cd plugins/export ; $(MAKE) -e depend
|
|
@cd ../ezc/src ; $(MAKE) -e depend
|
|
@cd ../tito/src ; $(MAKE) -e depend
|
|
@cd ../pikotools ; $(MAKE) -e depend
|
|
@cd main ; $(MAKE) -e depend
|
|
echo -n "winix.src.files = " > Makefile.dep
|
|
find -E . -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
|
|
find -E ../ezc/src -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
|
|
find -E ../tito/src -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
|
|
find -E ../pikotools -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
|
|
|
|
|
|
|
|
install: all
|
|
# installing binaries
|
|
rm -Rf $(winix_install_dir)/bin
|
|
mkdir -p $(winix_install_dir)/bin
|
|
cp winix $(winix_install_dir)/bin
|
|
cp winix.so $(winix_install_dir)/bin
|
|
# etc configs
|
|
rm -Rf $(winix_install_dir)/etc
|
|
mkdir -p $(winix_install_dir)/etc
|
|
cp -rf etc/ $(winix_install_dir)/etc/
|
|
# html templates
|
|
rm -Rf $(winix_install_dir)/html
|
|
mkdir -p $(winix_install_dir)/html
|
|
cp -rf html/ $(winix_install_dir)/html/
|
|
# txt templates
|
|
rm -Rf $(winix_install_dir)/txt
|
|
mkdir -p $(winix_install_dir)/txt
|
|
cp -rf txt/ $(winix_install_dir)/txt/
|
|
# locales
|
|
rm -Rf $(winix_install_dir)/locale
|
|
mkdir -p $(winix_install_dir)/locale
|
|
cp -rf locale/ $(winix_install_dir)/locale/
|
|
# plugins
|
|
rm -Rf $(winix_install_dir)/plugins
|
|
mkdir -p $(winix_install_dir)/plugins
|
|
find plugins/ -name "*.so" | xargs -I foo cp foo $(winix_install_dir)/plugins/
|
|
# deleting subversion directories
|
|
find $(winix_install_dir) -type d -name ".svn" | xargs -I foo rm -fr foo
|
|
# removing privileges for others
|
|
find $(winix_install_dir) -exec chmod o-r,o-x,o-w "{}" "+"
|
|
|