# This is a Makefile to build SlackGrade as a stand-alone utility
CXX = $(EXTRA) $(shell wx-config --cxx)
WXFL = -lwx_gtk_xrc-2.4 $(shell wx-config --libs)
WXFC = $(shell wx-config --cxxflags)
OBJ = main.o slackgrade.o svrconf.o pkginfo.o sgproxy.o sgblist.o sgabout.o

slackgrade: $(OBJ)
ifeq ($(SHARED),yes)
	$(CXX) -Wall -o ../bin/slackgrade $(WXFL) $(OBJ)
else
	$(CXX) -Wall -o ../bin/slackgrade $(OBJ) $(WXFL)
endif
	
main.o: main.cpp main.h common.h
	$(CXX) -Wall -O2 -pthread $(WXFC) -o main.o -c main.cpp

slackgrade.o: slackgrade.cpp slackgrade.h svrconf.h common.h pkginfo.h sgabout.h sgproxy.h sgblist.h
	$(CXX) -Wall -O2 -pthread $(WXFC) -o slackgrade.o -c slackgrade.cpp

svrconf.o: svrconf.cpp svrconf.h common.h
	$(CXX) -Wall -O2 -pthread $(WXFC) -o svrconf.o -c svrconf.cpp

pkginfo.o: pkginfo.cpp pkginfo.h
	$(CXX) -Wall -O2 -pthread $(WXFC) -o pkginfo.o -c pkginfo.cpp

sgabout.o: sgabout.cpp sgabout.h common.h
	$(CXX) -Wall -O2 -pthread $(WXFC) -o sgabout.o -c sgabout.cpp

sgproxy.o: sgproxy.cpp sgproxy.h common.h
	$(CXX) -Wall -O2 -pthread $(WXFC) -o sgproxy.o -c sgproxy.cpp

sgblist.o: sgblist.cpp sgblist.h common.h
	$(CXX) -Wall -O2 -pthread $(WXFC) -o sgblist.o -c sgblist.cpp

install:
	cp ../bin/slackgrade /usr/local/bin
	cp -r ../share/* /usr/local/share
	rm -f /usr/local/share/slackgrade/about/indexe.html
	chown root /usr/local/share

uninstall:
	rm -f /usr/local/bin/slackgrade
	rm -rf /usr/local/share/slackgrade

clean:
	rm -f *.o

cleanall:
	rm -f *.o ../bin/slackgrade

pack:
	strip ../bin/slackgrade
	upx -9 ../bin/slackgrade
