added library build mode
This commit is contained in:
94
MakeLib.mk
Normal file
94
MakeLib.mk
Normal file
@@ -0,0 +1,94 @@
|
||||
VERSION := 0
|
||||
SUBVERSION := 8
|
||||
MINORVERSION := 2-SNAPSHOT
|
||||
|
||||
#prefix := /usr
|
||||
prefix := /usr/local
|
||||
sbin := $(prefix)/lib
|
||||
|
||||
all: libnethogs
|
||||
|
||||
LDFLAGS:= -shared
|
||||
CXXINCLUDES :=
|
||||
VISIBILITY=-fvisibility=hidden
|
||||
ODIR_BASE := objs/lib
|
||||
|
||||
ifeq ($(DEBUG),1)
|
||||
# Debug mode options
|
||||
$(info Bulding debug version)
|
||||
ODIR:=$(ODIR_BASE)/debug
|
||||
CFLAGS?=-Wall -Wextra -O0 -g -fPIC $(VISIBILITY)
|
||||
CXXFLAGS?=--std=c++11 --std=c++11 -Wall -Wextra -O0 -g -fPIC $(VISIBILITY) $(CXXINCLUDES)
|
||||
else
|
||||
# Release mode options
|
||||
ODIR:=$(ODIR_BASE)/release
|
||||
CFLAGS?=-Wall -Wextra -O3 -fPIC $(VISIBILITY)
|
||||
CXXFLAGS?=---std=c++11 Wall -Wextra -O3 -fPIC $(VISIBILITY) $(CXXINCLUDES)
|
||||
endif
|
||||
|
||||
OBJ_NAMES= libnethogs.o packet.o connection.o process.o refresh.o decpcap.o inode2prog.o conninode.o devices.o
|
||||
OBJS=$(addprefix $(ODIR)/,$(OBJ_NAMES))
|
||||
|
||||
#$(info $(OBJS))
|
||||
|
||||
.PHONY: tgz
|
||||
|
||||
.PHONY: uninstall
|
||||
|
||||
install: libnethogs
|
||||
install -d -m 755 $(DESTDIR)$(sbin)
|
||||
install -m 755 libnethogs $(DESTDIR)$(sbin)
|
||||
@echo
|
||||
@echo "Installed libnethogs to $(DESTDIR)$(sbin)"
|
||||
@echo
|
||||
@echo "You might have to add this directory to your PATH and/or refresh your shells' path cache with a command like 'hash -r'."
|
||||
|
||||
uninstall:
|
||||
rm $(DESTDIR)$(sbin)/libnethogs
|
||||
|
||||
libnethogs: $(OBJS)
|
||||
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $(OBJS) -o libnethogs.so -lpcap
|
||||
|
||||
#-lefence
|
||||
|
||||
$(ODIR)/refresh.o: refresh.cpp refresh.h nethogs.h
|
||||
@mkdir -p $(ODIR)
|
||||
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ -c refresh.cpp
|
||||
|
||||
$(ODIR)/process.o: process.cpp process.h nethogs.h
|
||||
@mkdir -p $(ODIR)
|
||||
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ -c process.cpp
|
||||
|
||||
$(ODIR)/packet.o: packet.cpp packet.h nethogs.h
|
||||
@mkdir -p $(ODIR)
|
||||
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ -c packet.cpp
|
||||
|
||||
$(ODIR)/connection.o: connection.cpp connection.h nethogs.h
|
||||
@mkdir -p $(ODIR)
|
||||
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ -c connection.cpp
|
||||
|
||||
$(ODIR)/decpcap.o: decpcap.c decpcap.h
|
||||
@mkdir -p $(ODIR)
|
||||
$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c decpcap.c
|
||||
|
||||
$(ODIR)/inode2prog.o: inode2prog.cpp inode2prog.h nethogs.h
|
||||
@mkdir -p $(ODIR)
|
||||
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ -c inode2prog.cpp
|
||||
|
||||
$(ODIR)/conninode.o: conninode.cpp nethogs.h conninode.h
|
||||
@mkdir -p $(ODIR)
|
||||
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ -c conninode.cpp
|
||||
|
||||
$(ODIR)/devices.o: devices.cpp devices.h
|
||||
@mkdir -p $(ODIR)
|
||||
$(CXX) $(CXXFLAGS) -o $@ -c devices.cpp
|
||||
|
||||
$(ODIR)/libnethogs.o: libnethogs.cpp libnethogs.h
|
||||
@mkdir -p $(ODIR)
|
||||
$(CXX) $(CXXFLAGS) -o $@ -c libnethogs.cpp -DVERSION=\"$(VERSION)\" -DSUBVERSION=\"$(SUBVERSION)\" -DMINORVERSION=\"$(MINORVERSION)\"
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f $(OBJS)
|
||||
rm -f libnethogs.so
|
||||
|
||||
Reference in New Issue
Block a user