162 lines
4.9 KiB
Makefile
162 lines
4.9 KiB
Makefile
# Makefile for GNU make
|
|
|
|
include Makefile.dep
|
|
|
|
|
|
ifeq ($(OSTYPE), FreeBSD)
|
|
CXX = clang++
|
|
else
|
|
CXX = g++-4.8
|
|
endif
|
|
|
|
|
|
|
|
ifndef CXXFLAGS
|
|
CXXFLAGS = -Wall -O0 -g -fPIC -pthread -std=c++11 -I/usr/local/include -I/usr/include/postgresql -DEZC_USE_WINIX_LOGGER -DEZC_HAS_SPECIAL_STREAM
|
|
endif
|
|
|
|
ifndef AR
|
|
AR = ar
|
|
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 -lpthread -lcurl -Wl,-no-whole-archive
|
|
|
|
|
|
winix: winix.so $(winix.src.files)
|
|
@cd main ; $(MAKE) -e
|
|
$(CXX) -o winix $(CXXFLAGS) $(LDFLAGS) main/*.o winix.so -lfcgi
|
|
|
|
|
|
|
|
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 "{}" "+"
|
|
|