diff options
| author | Tim Redfern <tim@eclectronics.org> | 2013-12-26 00:14:53 +0000 |
|---|---|---|
| committer | Tim Redfern <tim@eclectronics.org> | 2013-12-26 00:14:53 +0000 |
| commit | 7dbe0f92adac6d437f76843c0ea72c3fbe57c371 (patch) | |
| tree | 1075b0e5b45783e7427c008773ca80a91a7919f1 /NT/Makefile | |
| parent | 92f9df6497f012245782b7a3b5e1cf2dad54551b (diff) | |
making new base classes
Diffstat (limited to 'NT/Makefile')
| -rw-r--r-- | NT/Makefile | 265 |
1 files changed, 265 insertions, 0 deletions
diff --git a/NT/Makefile b/NT/Makefile new file mode 100644 index 0000000..38618b2 --- /dev/null +++ b/NT/Makefile @@ -0,0 +1,265 @@ +# The pre-processor and compiler options. + +#http://docs.gstreamer.com/display/GstSDK/Installing+on+Linux + +#MY_CFLAGS = -fpermissive -std=c++11 -Wno-error -I /opt/gstreamer-sdk/include/gstreamer-0.10/ -I /opt/gstreamer-sdk/include/glib-2.0 -I /opt/gstreamer-sdk/lib/glib-2.0/include -I /opt/gstreamer-sdk/include/libxml2 $(shell pkg-config gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 --cflags) +#MY_CFLAGS = -Wswitch -fpermissive -std=c++11 -I /usr/include/librsvg-2.0/librsvg -I /usr/include/glib-2.0 -I /usr/lib/x86_64-linux-gnu/glib-2.0/include -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/opencv -I /usr/include/cairo -I /usr/include/jsoncpp +#-Wno-error $(shell pkg-config gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 --cflags) +MY_CFLAGS = -Wswitch -fpermissive -std=c++11 `pkg-config --cflags --libs gtk+-2.0` -I /usr/include/librsvg-2.0/librsvg -I /usr/include/opencv -I /usr/include/cairo -I /usr/include/jsoncpp + +# -I ../ffmpeg + +# The linker options.libgstaasinklibgstaasink.so +MY_LIBS = -lgobject-2.0 -lrsvg-2 -lnoise -lffms2 -ljsoncpp -lcairo -lopencv_core -lopencv_video -lopencv_imgproc -lopencv_highgui -lPocoNet -lPocoXML -lPocoUtil -lPocoFoundation -lvamp-hostsdk -lsndfile -L /usr/local/lib -lswscale -lavcodec -lavformat -lavfilter -lavdevice -lavutil -lstdc++ -lm +#-lopencv_highgui +#MY_LIBS = -lPocoNet -lPocoXML -lPocoUtil -lPocoFoundation -lvamp-hostsdk -lsndfile -L /usr/local/lib -lswscale -lavcodec -lavformat -lavfilter -lavdevice -lavutil $(shell pkg-config gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 --libs) +# -lgstreamer-0.10 -lgstreamer-video-0.10 -lgstreamer-base-0.10 -lglib-2.0 -lgstapp-0.10 +#MY_LIBS = ../libavcodec/ffmpeg/libavcodec/libavcodec.a ../libavcodec/ffmpeg/libavutil/libavutil.a ../libavcodec/ffmpeg/libavformat/libavformat.a ../libavcodec/ffmpeg/libavfilter/libavfilter.a ../libavcodec/ffmpeg/libavdevice/libavdevice.a -lPocoNet -lPocoXML -lPocoUtil -lPocoFoundation -lvamp-hostsdk +#GAH! HARD! + +# The pre-processor options used by the cpp (man cpp for more). +CPPFLAGS = -Wall + +# The options used in linking as well as in any direct use of ld. +LDFLAGS = + +# The directories in which source files reside. +# If not specified, only the current directory will be serached. +SRCDIRS = src + +# The executable file name. +# If not specified, current directory name or `a.out' will be used. +PROGRAM = + +OBJ_OUTPUT = obj/ + +## Implicit Section: change the following only when necessary. +##========================================================================== + +# The source file types (headers excluded). +# .c indicates C source files, and others C++ ones. +SRCEXTS = .c .C .cc .cpp .CPP .c++ .cxx .cp + +# The header file types. +HDREXTS = .h .H .hh .hpp .HPP .h++ .hxx .hp + +# The pre-processor and compiler options. +# Users can override those variables from the command line. +CFLAGS = -g -O3 +CXXFLAGS= +CXX = colorgcc + +# The C program compiler. +#CC = gcc + +# The C++ program compiler. +#CXX = g++ + +# Un-comment the following line to compile C programs as C++ ones. +#CC = $(CXX) + +# The command used to delete file. +RM = rm -f + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = + +## Stable Section: usually no need to be changed. But you can add more. +##========================================================================== +SHELL = /bin/sh +EMPTY = +SPACE = $(EMPTY) $(EMPTY) +ifeq ($(PROGRAM),) + CUR_PATH_NAMES = $(subst /,$(SPACE),$(subst $(SPACE),_,$(CURDIR))) + PROGRAM = $(word $(words $(CUR_PATH_NAMES)),$(CUR_PATH_NAMES)) + ifeq ($(PROGRAM),) + PROGRAM = a.out + endif +endif +ifeq ($(SRCDIRS),) + SRCDIRS = . +endif +##mkdir -p $(OBJ_OUTPUT) +SOURCES = $(foreach d,$(SRCDIRS),$(wildcard $(addprefix $(d)/*,$(SRCEXTS)))) +HEADERS = $(foreach d,$(SRCDIRS),$(wildcard $(addprefix $(d)/*,$(HDREXTS)))) +SRC_CXX = $(filter-out %.c,$(SOURCES)) +OBJS = $(addsuffix .o, $(basename $(SOURCES))) +DEPS = $(OBJS:.o=.d) + +## Define some useful variables. +DEP_OPT = $(shell if `$(CC) --version | grep "GCC" >/dev/null`; then \ + echo "-MM -MP"; else echo "-M"; fi ) +DEPEND = $(CC) $(DEP_OPT) $(MY_CFLAGS) $(CFLAGS) $(CPPFLAGS) +DEPEND.d = $(subst -g ,,$(DEPEND)) +COMPILE.c = $(CC) $(MY_CFLAGS) $(CFLAGS) $(CPPFLAGS) -c +COMPILE.cxx = $(CXX) $(MY_CFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c +LINK.c = $(CC) $(MY_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) +LINK.cxx = $(CXX) $(MY_CFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) + +.PHONY: all objs tags ctags clean distclean help show install + +# Delete the default suffixes +.SUFFIXES: + +all: Release + +Clang: CXX = clang + +Clang: $(PROGRAM) + +Release: CXXFLAGS += -O2 + +Release: $(PROGRAM) + +Debug: CXXFLAGS += -g3 + +Debug: $(PROGRAM) + +Valgrind: CXXFLAGS += -O0 +Valgrind: CXXFLAGS += -g3 + +Valgrind: $(PROGRAM) + +prefix=/usr/local + +Install: rotord + strip rotord + install -m 0755 rotord $(prefix)/bin + + +# Rules for creating dependency files (.d). +#------------------------------------------ + +%.d:%.c + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.C + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cc + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cpp + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.CPP + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.c++ + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cp + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cxx + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +# Rules for generating object files (.o). +#---------------------------------------- +objs:$(OBJS) + +%.o:%.c + $(COMPILE.c) $< -o $@ + +%.o:%.C + $(COMPILE.cxx) $< -o $@ + +%.o:%.cc + $(COMPILE.cxx) $< -o $@ + +%.o:%.cpp + $(COMPILE.cxx) $< -o $@ + +%.o:%.CPP + $(COMPILE.cxx) $< -o $@ + +%.o:%.c++ + $(COMPILE.cxx) $< -o $@ + +%.o:%.cp + $(COMPILE.cxx) $< -o $@ + +%.o:%.cxx + $(COMPILE.cxx) $< -o $@ + +# Rules for generating the tags. +#------------------------------------- +tags: $(HEADERS) $(SOURCES) + $(ETAGS) $(ETAGSFLAGS) $(HEADERS) $(SOURCES) + +ctags: $(HEADERS) $(SOURCES) + $(CTAGS) $(CTAGSFLAGS) $(HEADERS) $(SOURCES) + +# Rules for generating the executable. +#------------------------------------- +$(PROGRAM):$(OBJS) +ifeq ($(SRC_CXX),) # C program + $(LINK.c) $(OBJS) $(MY_LIBS) -o bin/$@ + @echo cd bin + @echo ./$@ to execute the program. +else # C++ program + $(LINK.cxx) $(OBJS) $(MY_LIBS) -o bin/$@ + @echo cd bin + @echo ./$@ to execute the program. +endif + +ifndef NODEP +ifneq ($(DEPS),) + sinclude $(DEPS) +endif +endif + + +clean: + $(RM) $(OBJS) $(PROGRAM) $(DEPS) + +distclean: clean + $(RM) $(DEPS) TAGS + +# Show help. +help: + @echo 'Generic Makefile for C/C++ Programs (gcmakefile) version 0.5' + @echo 'Copyright (C) 2007, 2008 whyglinux <whyglinux@hotmail.com>' + @echo + @echo 'Usage: make [TARGET]' + @echo 'TARGETS:' + @echo ' all (=make) compile and link.' + @echo ' NODEP=yes make without generating dependencies.' + @echo ' objs compile only (no linking).' + @echo ' tags create tags for Emacs editor.' + @echo ' ctags create ctags for VI editor.' + @echo ' clean clean objects and the executable file.' + @echo ' distclean clean objects, the executable and dependencies.' + @echo ' show show variables (for debug use only).' + @echo ' help print this message.' + @echo + @echo 'Report bugs to <whyglinux AT gmail DOT com>.' + +# Show variables (for debug use only.) +show: + @echo 'PROGRAM :' $(PROGRAM) + @echo 'SRCDIRS :' $(SRCDIRS) + @echo 'HEADERS :' $(HEADERS) + @echo 'SOURCES :' $(SOURCES) + @echo 'SRC_CXX :' $(SRC_CXX) + @echo 'OBJS :' $(OBJS) + @echo 'DEPS :' $(DEPS) + @echo 'DEPEND :' $(DEPEND) + @echo 'COMPILE.c :' $(COMPILE.c) + @echo 'COMPILE.cxx :' $(COMPILE.cxx) + @echo 'link.c :' $(LINK.c) + @echo 'link.cxx :' $(LINK.cxx) + +## End of the Makefile ## Suggestions are welcome ## All rights reserved ## +############################################################################# |
