CURDIR=trlitool MANPAGES=/usr/share/man PACKAGE_REV:=$(shell ./makeversion $(BUILD_SVNVER)) PROGS=trli-lxc0 trli-init \ menutest vps trli-stop trli-stop-control \ trli-syslog trli-syslog-control trli-cmp manager.o trlitool_mon.o trlitool.pic.a \ testproto DOCS= OPTIONS=${PROF} -funsigned-char -O2 -Wall -g -DVERSION=\"$(PACKAGE_REV)\" -I/usr/include/tlmp LIBS=-ltlmp -lstdc++ -lcrypto .SUFFIXES: .o .tex .tlcc .cc .png .uml all: $(PROGS) webapi.hc cp webapi.hc /var/www/html/webapi.hc compile: $(PROGS) trli-lxc0: trli-lxc0.tlcc cctlcc -Wall $(OPTIONS) trli-lxc0.tlcc -o trli-lxc0 $(LIBS) trli-syslog: trli-syslog.tlcc trlitool.a proto/trli_syslog_control.protoh cctlcc -Wall $(OPTIONS) trli-syslog.tlcc trlitool.a -o trli-syslog $(LIBS) trli-syslog-control: trli-syslog-control.tlcc trlitool.a proto/trli_syslog_control.protoh cctlcc -Wall $(OPTIONS) trli-syslog-control.tlcc trlitool.a -o trli-syslog-control $(LIBS) trli-cmp: trli-cmp.tlcc cctlcc -Wall $(OPTIONS) trli-cmp.tlcc -o trli-cmp $(LIBS) trli-init: trli-init.cc gcc -Wall $(OPTIONS) trli-init.cc -o trli-init -lstdc++ manager.o: manager.tlcc cctlcc -Wall $(OPTIONS) -c manager.tlcc -o manager.o trlitool_mon.o: trlitool_mon.tlcc cctlcc -Wall $(OPTIONS) -c trlitool_mon.tlcc -o trlitool_mon.o trlitool.a: fdpass.o json.o ar cr trlitool.a fdpass.o json.o fdpass.o: fdpass.tlcc trlitool.h cctlcc -Wall $(OPTIONS) -c fdpass.tlcc -o fdpass.o json.o: json.tlcc trlitool.h cctlcc -Wall $(OPTIONS) -c json.tlcc -o json.o trlitool.pic.a: fdpass.tlcc json.tlcc trlitool.h cctlcc -fPIC -Wall $(OPTIONS) -c fdpass.tlcc -o fdpass.os cctlcc -fPIC -Wall $(OPTIONS) -c json.tlcc -o json.os ar cr trlitool.pic.a fdpass.os json.os menutest: menutest.tlcc cctlcc $(OPTIONS) menutest.tlcc -o menutest -lstdc++ vps: vps.tlcc cctlcc $(OPTIONS) vps.tlcc -o vps -lstdc++ trli-stop: trli-stop.tlcc trlitool.a proto/trli_stop_control.protoh cctlcc -Wall $(OPTIONS) trli-stop.tlcc trlitool.a -o trli-stop $(LIBS) trli-stop-control: trli-stop-control.tlcc trlitool.a proto/trli_stop_control.protoh cctlcc -Wall $(OPTIONS) trli-stop-control.tlcc trlitool.a -o trli-stop-control $(LIBS) testproto: testproto.tlcc proto/test.protoh proto/webapi.protoh trlitool.a cctlcc -Wall $(OPTIONS) testproto.tlcc trlitool.a -o testproto $(LIBS) -lssl proto/test.protoh: proto/test.proto build-protocol --arg "int no" --arg "HANDLE_INFO *c" --name test \ --protoch proto/test.protoch proto/test.proto >proto/test.protoh proto/trli_syslog_control.protoh: proto/trli_syslog_control.proto build-protocol --arg "int no" --arg "HANDLE_INFO *c" --name trli_syslog_control \ --protoch proto/trli_syslog_control.protoch proto/trli_syslog_control.proto >proto/trli_syslog_control.protoh proto/trli_stop_control.protoh: proto/trli_stop_control.proto build-protocol --arg "int no" --arg "HANDLE_INFO *c" --arg "const char *host" --name trli_stop_control \ --protoch proto/trli_stop_control.protoch proto/trli_stop_control.proto >proto/trli_stop_control.protoh proto/webapi.protoh: proto/webapi.proto build-protocol --request_obj REQUEST_JSON --request_info_obj REQUEST_JSON_INFO \ --connect_info_obj CONNECT_HTTP_INFO --name webapi \ --protoch proto/webapi.protoch proto/webapi.proto >proto/webapi.protoh %.hc: %.hcc trlitool.pic.a @echo tlmpwebcc $< $@ @tlmpwebcc $< \ | tlcc \ --name $(basename $(notdir $@)).tlcc - /tmp/$(basename $(notdir $@)).cc @g++ -DEXPORT= -fPIC $(FLAGS) -I. -I/usr/include/tlmp \ -c /tmp/$(basename $(notdir $@)).cc -o /tmp/test.o @g++ -g -shared -Wl,-soname,test.so.1 -o \ $@ /tmp/test.o trlitool.pic.a -lcrypto @rm -f /tmp/test.o clean: rm -f $(PROGS) *.a *.o *.os proto/*.protoh proto/*.protoch *.hc install: mkdir -p $(RPM_BUILD_ROOT)/root/bin mkdir -p $(RPM_BUILD_ROOT)/usr/sbin mkdir -p $(RPM_BUILD_ROOT)/usr/lib64/trlitool mkdir -p $(RPM_BUILD_ROOT)/usr/include/trlitool mkdir -p $(RPM_BUILD_ROOT)/usr/share/trlitool install COPYING $(RPM_BUILD_ROOT)/usr/share/trlitool/COPYING install -m755 trli-init $(RPM_BUILD_ROOT)/usr/sbin/trli-init install -m755 trli-lxc0 $(RPM_BUILD_ROOT)/usr/sbin/trli-lxc0 install -m755 trli-syslog $(RPM_BUILD_ROOT)/usr/sbin/trli-syslog install -m755 trli-syslog-control $(RPM_BUILD_ROOT)/usr/sbin/trli-syslog-control install -m755 trli-stop $(RPM_BUILD_ROOT)/usr/sbin/trli-stop install -m755 trli-stop-control $(RPM_BUILD_ROOT)/usr/sbin/trli-stop-control install -m755 menutest $(RPM_BUILD_ROOT)/usr/sbin/menutest install -m755 vps $(RPM_BUILD_ROOT)/usr/sbin/vps ln -sf vps $(RPM_BUILD_ROOT)/usr/sbin/vkillall install -m755 vps-compare $(RPM_BUILD_ROOT)/usr/sbin/vps-compare install -m755 trli-cmp $(RPM_BUILD_ROOT)/usr/sbin/trli-cmp install -m755 apachectl $(RPM_BUILD_ROOT)/root/bin/apachectl install -m644 trlitool.a $(RPM_BUILD_ROOT)/usr/lib64/trlitool/trlitool.a install -m644 trlitool.pic.a $(RPM_BUILD_ROOT)/usr/lib64/trlitool/trlitool.pic.a install -m644 trlitool.h $(RPM_BUILD_ROOT)/usr/include/trlitool/trlitool.h install -m644 manager.o $(RPM_BUILD_ROOT)/usr/lib64/trlitool/manager.o install -m644 manager.h $(RPM_BUILD_ROOT)/usr/include/trlitool/manager.h install -m644 trlitool_mon.o $(RPM_BUILD_ROOT)/usr/lib64/trlitool/trlitool_mon.o install -m644 trlitool_mon.h $(RPM_BUILD_ROOT)/usr/include/trlitool/trlitool_mon.h RPMTOPDIR=$(HOME)/rpmbuild RPM=rpmbuild buildspec: sed s/RPMREV/$(RPMREV)/ <$(CURDIR).spec \ | sed s/REV/$(PACKAGE_REV)/ \ > $(RPMTOPDIR)/SPECS/$(CURDIR)-$(PACKAGE_REV).spec rm -fr /tmp/$(CURDIR)-$(PACKAGE_REV) mkdir /tmp/$(CURDIR)-$(PACKAGE_REV) cp -a * /tmp/$(CURDIR)-$(PACKAGE_REV)/. (cd /tmp/$(CURDIR)-$(PACKAGE_REV)/ && make clean && \ cd .. && tar zcvf $(RPMTOPDIR)/SOURCES/$(CURDIR)-$(PACKAGE_REV).src.tar.gz $(CURDIR)-$(PACKAGE_REV)) rm -fr /tmp/$(CURDIR)-$(PACKAGE_REV) buildrpm: buildspec unset LD_PRELOAD; $(RPM) -ba $(RPMTOPDIR)/SPECS/$(CURDIR)-$(PACKAGE_REV).spec REPO=http://svn.solucorp.qc.ca/repos/solucorp/lasuite distrpm: @eval `svn cat $(REPO)/trunk/Makefile | grep ^PACKAGE_REV=` ; \ $(MAKE) COPY="svn export --force $(REPO)/trunk/" \ PACKAGE_REV="$${PACKAGE_REV}r`svn st -u Makefile | tail -1 | while read a b c d ; do echo $$d ; done`" \ buildrpm # tests shasumtest: cctlcc -g -DTEST -Wall fdpass.tlcc -o /tmp/x -lstdc++ -lcrypto