LINUX_DIS := $(shell cat /etc/issue | cut -f1 -d' ')
DISTRIBUTION_VERSION_MAJOR_NUMBER := $(shell cat /etc/issue | cut -f2 -d' ' | cut -f1 -d'.')
DISTRIBUTION_VERSION_MINOR_NUMBER := $(shell cat /etc/issue | cut -f2 -d' ' | cut -f2 -d'.')

CC = cc -O -c -DLINUX -w
FLAGS = -Wno-implicit-function-declaration -fPIC
CPU_ARCH = $(shell uname -m)
OBJS = mon_p.o mon_pa.o ../global.o

ifeq ($(CPU_ARCH), x86_64)
LIBS = ../mxlib/mxlib_x86_64.a ../mxwinlib/wlib_x86_64.a
else ifeq ($(CPU_ARCH), aarch64)
LIBS = ../mxlib/mxlib_aarch64.a ../mxwinlib/wlib_aarch64.a
else
LIBS = ../mxlib/mxlib.a ../mxwinlib/wlib.a
endif

FILES = $(OBJS) $(LIBS)

all:		msmon

install: msmon
	@cp -p msmon /usr/bin

msmon: 	$(FILES)
ifeq ("$(LINUX_DIS)","Ubuntu") 
ifeq ("$(shell test $(DISTRIBUTION_VERSION_MAJOR_NUMBER) -ge 17; echo $$?)","0")
ifeq ("$(shell test $(DISTRIBUTION_VERSION_MINOR_NUMBER) -ge 04; echo $$?)","0")
	@cc -static $(FILES) -o msmon
else
	@cc $(FILES) -o msmon
endif
else
	@cc $(FILES) -o msmon
endif
else
ifeq ("$(LINUX_DIS)","Debian")
	@cc -static $(FILES) -o msmon
else
ifeq ("$(LINUX_DIS)","Kylin")
	@cc -static $(FILES) -o msmon
else
	@cc $(FILES) -o msmon
endif
endif
endif
mon_p.o: 	mon_p.c ../global.h
	@$(CC) ${FLAGS} mon_p.c

mon_pa.o: 	mon_pa.c ../global.h
	@$(CC) ${FLAGS} mon_pa.c

../global.o:	../global.c
	@$(CC)	../global.c -o ../global.o


clean:
	@rm -f *.o
	@rm -f msmon

uninstall:
	@rm -f /usr/bin/msmon
