all: xpidl component ### XPIDL ##################################################################### xpidl: generated generated/plop.java generated/plop.xpt generated/plop.html generated/plop.h generated: mkdir -p $@ generated/plop.java: generated plop.idl ../dist/bin/xpidl -I ../xpcom/base -e $@ -m java plop.idl generated/plop.xpt: generated plop.idl ../dist/bin/xpidl -I ../xpcom/base -e $@ -m typelib plop.idl generated/plop.html: generated plop.idl ../dist/bin/xpidl -I ../xpcom/base -e $@ -m doc plop.idl generated/plop.h: generated plop.idl ../dist/bin/xpidl -I ../xpcom/base -e $@ -m header plop.idl ### COMPONENT ################################################################# component: generated/plop.xpt js cpp ln -fs $(CURDIR)/generated/plop.xpt ../dist/bin/components ln -fs $(CURDIR)/plop_test.js ../dist/bin js: plop.js ln -fs $(CURDIR)/$< ../dist/bin/components cpp: libplop.so ln -fs $(CURDIR)/$< ../dist/bin/components plop.o: plop.cpp plop.h generated/plop.h g++ -c -I../dist/include/xpcom -I../dist/include/nspr $< plopModule.o: plopModule.cpp generated/plop.h g++ -c -I../dist/include/xpcom -I../dist/include/nspr $< libplop.so: plop.o plopModule.o g++ -shared -o libplop.so $^ ../dist/lib/libxpcomglue.a -L/home/alexis/mozilla/dist/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl -lm ### CLEAN ##################################################################### clean: rm -rf generated rm -f *~ rm -f *.o rm -f *.so register: rm -f ../dist/bin/components/xpti.dat ../dist/bin/components/compreg.dat