
CalcAddinThr.urd:
	$(OO_SDK_HOME)/bin/idlc -C -I$(OO_SDK_HOME)/idl CalcAddinThr.idl

CalcAddinThr.rdb: CalcAddinThr.urd
	$(OO_SDK_URE_HOME)/bin/regmerge CalcAddinThr.rdb /UCR CalcAddinThr.urd

com.flag : CalcAddinThr.rdb
	$(OO_SDK_HOME)/bin/cppumaker -BUCR -Gc \
		$(OOo)/offapi.rdb \
		$(OO_SDK_URE_HOME)/share/misc/types.rdb \
		CalcAddinThr.rdb
	touch com.flag

CalcAddinThr_impl.o : CalcAddinThr_impl.cxx  com.flag
	g++ -O2 -fPIC -fomit-frame-pointer -c -o CalcAddinThr_impl.o -DUNX \
		-DGCC -DLINUX -DCPPU_ENV=gcc3 -I. -I$(OO_SDK_HOME)/include -I $(OO_SDK_OUT)/LINUXexample.out/inc \
		CalcAddinThr_impl.cxx

CalcAddinSpread.o  :  CalcAddinSpread.cxx CalcAddinSpread.hpp  calcCommon.h com.flag
	g++ -O2 -fPIC -fomit-frame-pointer -c -o CalcAddinSpread.o -DUNX \
		-DGCC -DLINUX -DCPPU_ENV=gcc3 -I. -I$(OO_SDK_HOME)/include -I $(OO_SDK_OUT)/LINUXexample.out/inc \
		CalcAddinSpread.cxx

libCalcAddinThr.so: CalcAddinThr_impl.o CalcAddinSpread.o
	g++ -o libCalcAddinThr.so -shared \
		-L$(OO_SDK_HOME)/lib -lpthread -luno_cppuhelpergcc3 CalcAddinThr_impl.o CalcAddinSpread.o

## calc.uno.so is listed in calcuno.rdb. use make run to execute
calc.uno.so : calcuno.cxx calcCommon.h
	gcc -c -fpic -fvisibility=hidden -O -I. -I $(OO_SDK_OUT)/LINUXexample.out/inc -I $(OO_SDK_OUT)/LINUXexample.out/inc/examples -I$(OO_SDK_HOME)/include -DUNX -DGCC -DLINUX -DCPPU_ENV=gcc3 -DGXX_INCLUDE_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6 -DHAVE_GCC_VISIBILITY_FEATURE -o calcuno.o calcuno.cxx
	g++ -shared '-Wl,-rpath,$ORIGIN'  -L$(OO_SDK_HOME)/lib -L$(OO_SDK_URE_HOME)/lib -o calc.uno.so calcuno.o \
	-luno_cppuhelpergcc3 -luno_cppu -luno_sal  

regcomp.flag: libCalcAddinThr.so
	$(OO_SDK_URE_HOME)/bin/regcomp -register -r CalcAddinThr.rdb -c libCalcAddinThr.so
	touch regcomp.flag

calccli : calccli.cpp
	g++ -I /work/loc1/include/ calccli.cpp -g -o calccli -L /work/loc1/lib -lev -Wl,-rpath,/work/loc1/lib

all: regcomp.flag calc.uno.so calccli

install : all
	/usr/bin/install -p libCalcAddinThr.so CalcAddinThr.rdb ${OFFICE_PROGRAM_PATH}/
	/usr/bin/zip -u CalcAddinThr.oxt  CalcAddinThr.components META-INF/manifest.xml CalcAddinThr.rdb libCalcAddinThr.so
	-${OFFICE_PROGRAM_PATH}/unopkg remove CalcAddinThr.oxt
	${OFFICE_PROGRAM_PATH}/unopkg add -f CalcAddinThr.oxt

run  :
	uno -env:URE_MORE_SERVICES=file://$(shell pwd)/calcuno.rdb  -s com.sun.star.bridge.example.RemoteClientSample  -- "1"

clean:
	rm -rf com org *.o *.urd *.so *.flag *.oxt CalcAddinThr.rdb calccli

