DEST= "/usr/share/ilabs_antimalware/commands"

default: modsecver pyxsoftstatus checkdenied modsec_name_scan chk_multipart cve20186389
	@echo "Pyxsoft Elements compiled"

cve20186389: src/cve20186389.c common.o libwordpress.o
	@gcc -Wall src/cve20186389.c libwordpress.o common.o -o cve20186389

libwordpress.o: src/common/libwordpress.c
	@gcc -Wall -c src/common/libwordpress.c src/common/libwordpress.h

chk_multipart: src/chk_multipart.c libconfig.a common.o
	@gcc src/chk_multipart.c libconfig.a common.o -o chk_multipart

modsecver: src/modsecver.c
	@gcc src/modsecver.c -o modsecver

pyxsoftstatus: src/pyxsoftstatus.c
	@gcc src/pyxsoftstatus.c -o pyxsoftstatus

checkdenied: src/checkdenied.c ip.o
	@gcc src/checkdenied.c ip.o -o checkdenied

modsec_name_scan: src/modsec_name_scan.c libconfig.a ip.o common.o
	@gcc -Wall src/modsec_name_scan.c ip.o libconfig.a common.o -o modsec_name_scan

modsec_scan: src/modsec_scan.c libconfig.a ip.o common.o
	@gcc -Wall src/modsec_scan.c ip.o libconfig.a common.o -o modsec_scan

libconfig.a: libconfig.o jsmn.o
	@ar rcs libconfig.a libconfig.o jsmn.o

ip.o: src/common/ip.c
	@gcc -Wall -c src/common/ip.c

jsmn.o: src/common/jsmn.c
	@gcc -Wall -c src/common/jsmn.c

libconfig.o: src/common/libconfig.c
	@gcc -Wall -c src/common/libconfig.c

common.o: src/common/common.c
	@gcc -Wall -c src/common/common.c

bstrings.o: scanner/bstrings.c
	@gcc -Wall -c scanner/bstrings.c

normalize: src/normalizer/normalize.c
	@gcc -c src/normalizer/normalize.c src/normalizer/normalize_php.c src/scanner/base64.c src/scanner/bstrings.c

install: modsecver pyxsoftstatus checkdenied modsec_name_scan chk_multipart cve20186389
	@cp modsecver "$(DEST)/modsecver"
	@cp pyxsoftstatus "$(DEST)/pyxsoftstatus"
	@cp checkdenied "$(DEST)/checkdenied"
	@cp modsec_name_scan "$(DEST)/modsec_name_scan"
	@cp chk_multipart "$(DEST)/chk_multipart"
	@cp cve20186389 "$(DEST)/cve20186389"
	@echo "Pyxsoft Elements compiled and installed"

clean:
	@rm *.o *.a modsecver pyxsoftstatus checkdenied modsec_name_scan chk_multipart cve20186389 src/common/*.gch
