diff options
Diffstat (limited to 'glcdskin/Makefile')
-rw-r--r-- | glcdskin/Makefile | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/glcdskin/Makefile b/glcdskin/Makefile new file mode 100644 index 0000000..c67582c --- /dev/null +++ b/glcdskin/Makefile @@ -0,0 +1,60 @@ +# +# Makefile for the GraphLCD skin library +# + +-include ../Make.config + + +CXXFLAGS += -fPIC + +VERMAJOR = 1 +VERMINOR = 0 +VERMICRO = 0 + +BASENAME = libglcdskin.so + +LIBNAME = $(BASENAME).$(VERMAJOR).$(VERMINOR).$(VERMICRO) + +OBJS = cache.o config.o display.o font.o function.o object.o parser.o skin.o string.o type.o variable.o xml.o + +HEADERS = cache.h config.h display.h font.h function.h object.h parser.h skin.h string.h type.h variable.h xml.h + +### Implicit rules: + +%.o: %.c + $(CXX) $(CXXFLAGS) -I.. -c $(DEFINES) $(INCLUDES) $< + +# Dependencies: + +MAKEDEP = g++ -MM -MG +DEPFILE = .dependencies +$(DEPFILE): Makefile + @$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@ + +-include $(DEPFILE) + +### Targets: + +all: $(LIBNAME) + +$(LIBNAME): $(OBJS) + $(CXX) $(CXXFLAGS) -shared $(OBJS) $(LIBS) -Wl,-soname="$(BASENAME).$(VERMAJOR)" -o $@ + ln -sf $(LIBNAME) $(BASENAME) + +install: all + install -d $(LIBDIR) + install -m 755 $(LIBNAME) $(LIBDIR)/ + install -d $(INCDIR)/glcdskin + install -m 644 $(HEADERS) $(INCDIR)/glcdskin/ + ( cd $(LIBDIR); ln -sf $(LIBNAME) $(BASENAME).$(VERMAJOR); ln -sf $(LIBNAME) $(BASENAME) ) + +uninstall: + rm -f $(LIBDIR)/$(BASENAME) + rm -f $(LIBDIR)/$(BASENAME).$(VERMAJOR) + rm -f $(LIBDIR)/$(LIBNAME) + (for i in $(HEADERS); do rm -f $(INCDIR)/glcdskin/$$i; done) + rmdir $(INCDIR)/glcdskin + +clean: + rm -f $(OBJS) $(DEPFILE) $(LIBNAME) $(BASENAME) *~ + |