finalcut/src/Makefile.gcc

135 lines
3.3 KiB
Makefile
Raw Normal View History

2015-05-23 13:35:12 +02:00
#-----------------------------------------------------------------------------
# Makefile for Final Cut
#-----------------------------------------------------------------------------
# This is where make install will install the library
2015-07-12 18:54:27 +02:00
VERSION = "0.1.1"
MAJOR := $(shell echo ${VERSION} | cut -d. -f1)
2015-05-23 13:35:12 +02:00
LIBDIR = /usr/local/lib64
INCLUDEDIR = /usr/local/include/final
INCLUDE_HEADERS = fapp.h \
fbuttongroup.h \
fbutton.h \
fcheckbox.h \
2015-07-07 23:16:17 +02:00
fswitch.h \
2015-05-23 13:35:12 +02:00
fdialog.h \
fevent.h \
ffiledialog.h \
final.h \
flabel.h \
flineedit.h \
flistbox.h \
fmessagebox.h \
fobject.h \
foptimove.h \
fpoint.h \
fprogressbar.h \
fradiobutton.h \
frect.h \
fscrollbar.h \
fstatusbar.h \
fstring.h \
fterm.h \
ftextview.h \
ftogglebutton.h \
fwidget.h \
fwindow.h
# compiler parameter
CXX = g++
2015-08-22 18:53:52 +02:00
CCXFLAGS = $(OPTIMIZE) $(PROFILE) $(DEBUG) $(VER) $(GPM) -march=x86-64 -frtti -fexceptions
2015-05-23 13:35:12 +02:00
MAKEFILE = -f Makefile.gcc
LDFLAGS = $(TERMCAP) -lgpm
INCLUDES = -I./
2015-08-22 18:53:52 +02:00
GPM = -D F_HAVE_LIBGPM
VER = -D F_VERSION=$(VERSION)
2015-05-23 13:35:12 +02:00
RM = rm -f
LIB = libfinal.so
OBJS = fstring.o \
fpoint.o \
frect.o \
fscrollbar.o \
fprogressbar.o \
flineedit.o \
fbutton.o \
fbuttongroup.o \
ftogglebutton.o \
fradiobutton.o \
fcheckbox.o \
2015-07-07 23:16:17 +02:00
fswitch.o \
2015-05-23 13:35:12 +02:00
flabel.o \
flistbox.o \
fdialog.o \
fwindow.o \
fmessagebox.o \
ffiledialog.o \
ftextview.o \
fstatusbar.o \
fterm.o \
fevent.o \
foptimove.o \
fapp.o \
fwidget.o \
fobject.o
TERMCAP := $(shell test -n "$$(ldd {/usr,}/lib64/libncursesw.so.5 2>/dev/null | grep libtinfo)" && echo "-ltinfo" || echo "-lncurses")
ifdef DEBUG
OPTIMIZE = -O0
else
OPTIMIZE = -O2
endif
.SUFFIXES: .cpp
# $@ = name of the targets
# $< = the first dependency
.cpp.o:
2015-09-20 05:44:50 +02:00
$(CXX) -c $(CCXFLAGS) $(INCLUDES) -fpic -o $@ $<
2015-05-23 13:35:12 +02:00
2015-08-22 18:53:52 +02:00
all: dep $(OBJS)
2015-07-12 18:54:27 +02:00
$(CXX) $(CCXFLAGS) $(INCLUDES) $(LDFLAGS) -shared -Wl,-soname,$(LIB).$(MAJOR) -o $(LIB).$(VERSION) $(OBJS)
ln -s -f $(LIB).$(VERSION) libfinal.so.$(MAJOR)
ln -s -f $(LIB).$(MAJOR) libfinal.so
2015-05-23 13:35:12 +02:00
$(LIB): all
debug:
2015-06-08 20:42:17 +02:00
$(MAKE) $(MAKEFILE) DEBUG="-g -D DEBUG -Wall -Wextra -Wpedantic"
2015-05-23 13:35:12 +02:00
profile:
$(MAKE) $(MAKEFILE) PROFILE="-pg"
install: $(LIB)
mkdir -p $(LIBDIR)
2015-07-12 18:54:27 +02:00
install -c $(LIB).$(VERSION) $(LIBDIR)/$(LIB).$(VERSION)
ln -s -f $(LIB).$(VERSION) $(LIBDIR)/libfinal.so.$(MAJOR)
ln -s -f $(LIB).$(MAJOR) $(LIBDIR)/libfinal.so
2015-05-23 13:35:12 +02:00
ldconfig
mkdir -p $(INCLUDEDIR)
@list='$(INCLUDE_HEADERS)'; for h in $$list; \
do \
install -m 644 $$h $(INCLUDEDIR)/$$h; \
done
uninstall: $(INCLUDE_HEADERS)
2015-07-12 18:54:27 +02:00
$(RM) $(LIBDIR)/$(LIB).$(VERSION) $(LIBDIR)/libfinal.so.$(MAJOR) $(LIBDIR)/libfinal.so
2015-05-23 13:35:12 +02:00
@list='$(INCLUDE_HEADERS)'; for h in $$list; \
do \
$(RM) $(INCLUDEDIR)/$$h; \
done
rmdir $(INCLUDEDIR)
.PHONY: clean dep
clean:
$(RM) $(LIB)* $(OBJS) .depend *.prof *~
dep:
2015-09-20 05:44:50 +02:00
$(CXX) $(INCLUDES) -MM *.cpp >.depend
2015-05-23 13:35:12 +02:00
#
# include .depend if it exists
#
-include .depend