Added support for building with OBJDIR
This commit is contained in:
parent
2193ed5704
commit
d48c55558c
18
Makefile
18
Makefile
|
@ -3,7 +3,8 @@ VERSION = 0.0.0
|
||||||
SUBDIRS = include src tools
|
SUBDIRS = include src tools
|
||||||
RM = rm -f
|
RM = rm -f
|
||||||
LN = ln -f
|
LN = ln -f
|
||||||
TAR = tar -czvf
|
TAR = tar
|
||||||
|
MKDIR = mkdir -m 0755 -p
|
||||||
|
|
||||||
|
|
||||||
all: subdirs
|
all: subdirs
|
||||||
|
@ -20,7 +21,7 @@ distclean:
|
||||||
dist:
|
dist:
|
||||||
$(RM) -r -- $(PACKAGE)-$(VERSION)
|
$(RM) -r -- $(PACKAGE)-$(VERSION)
|
||||||
$(LN) -s -- . $(PACKAGE)-$(VERSION)
|
$(LN) -s -- . $(PACKAGE)-$(VERSION)
|
||||||
@$(TAR) $(PACKAGE)-$(VERSION).tar.gz -- \
|
@$(TAR) -czvf $(PACKAGE)-$(VERSION).tar.gz -- \
|
||||||
$(PACKAGE)-$(VERSION)/include/GToolkit.h \
|
$(PACKAGE)-$(VERSION)/include/GToolkit.h \
|
||||||
$(PACKAGE)-$(VERSION)/include/Makefile \
|
$(PACKAGE)-$(VERSION)/include/Makefile \
|
||||||
$(PACKAGE)-$(VERSION)/include/project.conf \
|
$(PACKAGE)-$(VERSION)/include/project.conf \
|
||||||
|
@ -42,10 +43,21 @@ dist:
|
||||||
$(PACKAGE)-$(VERSION)/project.conf
|
$(PACKAGE)-$(VERSION)/project.conf
|
||||||
$(RM) -- $(PACKAGE)-$(VERSION)
|
$(RM) -- $(PACKAGE)-$(VERSION)
|
||||||
|
|
||||||
|
distcheck: dist
|
||||||
|
$(TAR) -xzvf $(PACKAGE)-$(VERSION).tar.gz
|
||||||
|
$(MKDIR) -- $(PACKAGE)-$(VERSION)/objdir
|
||||||
|
$(MKDIR) -- $(PACKAGE)-$(VERSION)/destdir
|
||||||
|
(cd "$(PACKAGE)-$(VERSION)" && $(MAKE) OBJDIR="$$PWD/objdir/")
|
||||||
|
(cd "$(PACKAGE)-$(VERSION)" && $(MAKE) OBJDIR="$$PWD/objdir/" DESTDIR="$$PWD/destdir" install)
|
||||||
|
(cd "$(PACKAGE)-$(VERSION)" && $(MAKE) OBJDIR="$$PWD/objdir/" DESTDIR="$$PWD/destdir" uninstall)
|
||||||
|
(cd "$(PACKAGE)-$(VERSION)" && $(MAKE) OBJDIR="$$PWD/objdir/" distclean)
|
||||||
|
(cd "$(PACKAGE)-$(VERSION)" && $(MAKE) dist)
|
||||||
|
$(RM) -r -- $(PACKAGE)-$(VERSION)
|
||||||
|
|
||||||
install:
|
install:
|
||||||
@for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) install) || exit; done
|
@for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) install) || exit; done
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
@for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) uninstall) || exit; done
|
@for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) uninstall) || exit; done
|
||||||
|
|
||||||
.PHONY: all subdirs clean distclean dist install uninstall
|
.PHONY: all subdirs clean distclean dist distcheck install uninstall
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
OBJDIR =
|
||||||
PREFIX = /usr/local
|
PREFIX = /usr/local
|
||||||
DESTDIR =
|
DESTDIR =
|
||||||
RM = rm -f
|
RM = rm -f
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
SUBDIRS = GToolkit
|
SUBDIRS = GToolkit
|
||||||
|
OBJDIR =
|
||||||
PREFIX = /usr/local
|
PREFIX = /usr/local
|
||||||
DESTDIR =
|
DESTDIR =
|
||||||
RM = rm -f
|
RM = rm -f
|
||||||
|
|
35
src/Makefile
35
src/Makefile
|
@ -1,4 +1,5 @@
|
||||||
TARGETS = libGToolkit.a libGToolkit.so.0.0 libGToolkit.so.0 libGToolkit.so
|
TARGETS = $(OBJDIR)libGToolkit.a $(OBJDIR)libGToolkit.so.0.0 $(OBJDIR)libGToolkit.so.0 $(OBJDIR)libGToolkit.so
|
||||||
|
OBJDIR =
|
||||||
PREFIX = /usr/local
|
PREFIX = /usr/local
|
||||||
DESTDIR =
|
DESTDIR =
|
||||||
LIBDIR = $(PREFIX)/lib
|
LIBDIR = $(PREFIX)/lib
|
||||||
|
@ -18,27 +19,27 @@ INSTALL = install
|
||||||
|
|
||||||
all: $(TARGETS)
|
all: $(TARGETS)
|
||||||
|
|
||||||
libGToolkit_OBJS = common.o gwindow.o gtoolkit.o
|
libGToolkit_OBJS = $(OBJDIR)common.o $(OBJDIR)gwindow.o $(OBJDIR)gtoolkit.o
|
||||||
libGToolkit_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
|
libGToolkit_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
|
||||||
libGToolkit_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) `pkg-config --libs gl`
|
libGToolkit_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) `pkg-config --libs gl`
|
||||||
|
|
||||||
libGToolkit.a: $(libGToolkit_OBJS)
|
$(OBJDIR)libGToolkit.a: $(libGToolkit_OBJS)
|
||||||
$(AR) -rc libGToolkit.a $(libGToolkit_OBJS)
|
$(AR) -rc $(OBJDIR)libGToolkit.a $(libGToolkit_OBJS)
|
||||||
$(RANLIB) libGToolkit.a
|
$(RANLIB) $(OBJDIR)libGToolkit.a
|
||||||
|
|
||||||
libGToolkit.so.0.0 libGToolkit.so.0 libGToolkit.so: $(libGToolkit_OBJS)
|
$(OBJDIR)libGToolkit.so.0.0 $(OBJDIR)libGToolkit.so.0 $(OBJDIR)libGToolkit.so: $(libGToolkit_OBJS)
|
||||||
$(CCSHARED) -o libGToolkit.so.0.0 -Wl,-soname,libGToolkit.so.0 $(libGToolkit_OBJS) $(libGToolkit_LDFLAGS)
|
$(CCSHARED) -o $(OBJDIR)libGToolkit.so.0.0 -Wl,-soname,libGToolkit.so.0 $(libGToolkit_OBJS) $(libGToolkit_LDFLAGS)
|
||||||
$(LN) -s -- libGToolkit.so.0.0 libGToolkit.so.0
|
$(LN) -s -- libGToolkit.so.0.0 $(OBJDIR)libGToolkit.so.0
|
||||||
$(LN) -s -- libGToolkit.so.0.0 libGToolkit.so
|
$(LN) -s -- libGToolkit.so.0.0 $(OBJDIR)libGToolkit.so
|
||||||
|
|
||||||
common.o: common.c
|
$(OBJDIR)common.o: common.c
|
||||||
$(CC) $(libGToolkit_CFLAGS) -c common.c
|
$(CC) $(libGToolkit_CFLAGS) -o $(OBJDIR)common.o -c common.c
|
||||||
|
|
||||||
gwindow.o: gwindow.c
|
$(OBJDIR)gwindow.o: gwindow.c
|
||||||
$(CC) $(libGToolkit_CFLAGS) -c gwindow.c
|
$(CC) $(libGToolkit_CFLAGS) -o $(OBJDIR)gwindow.o -c gwindow.c
|
||||||
|
|
||||||
gtoolkit.o: gtoolkit.c
|
$(OBJDIR)gtoolkit.o: gtoolkit.c
|
||||||
$(CC) $(libGToolkit_CFLAGS) -c gtoolkit.c
|
$(CC) $(libGToolkit_CFLAGS) -o $(OBJDIR)gtoolkit.o -c gtoolkit.c
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(RM) -- $(libGToolkit_OBJS)
|
$(RM) -- $(libGToolkit_OBJS)
|
||||||
|
@ -48,8 +49,8 @@ distclean: clean
|
||||||
|
|
||||||
install: $(TARGETS)
|
install: $(TARGETS)
|
||||||
$(MKDIR) $(DESTDIR)$(PREFIX)/lib
|
$(MKDIR) $(DESTDIR)$(PREFIX)/lib
|
||||||
$(INSTALL) -m 0644 libGToolkit.a $(DESTDIR)$(PREFIX)/lib/libGToolkit.a
|
$(INSTALL) -m 0644 $(OBJDIR)libGToolkit.a $(DESTDIR)$(PREFIX)/lib/libGToolkit.a
|
||||||
$(INSTALL) -m 0755 libGToolkit.so.0.0 $(DESTDIR)$(PREFIX)/lib/libGToolkit.so.0.0
|
$(INSTALL) -m 0755 $(OBJDIR)libGToolkit.so.0.0 $(DESTDIR)$(PREFIX)/lib/libGToolkit.so.0.0
|
||||||
$(LN) -s -- libGToolkit.so.0.0 $(DESTDIR)$(PREFIX)/lib/libGToolkit.so.0
|
$(LN) -s -- libGToolkit.so.0.0 $(DESTDIR)$(PREFIX)/lib/libGToolkit.so.0
|
||||||
$(LN) -s -- libGToolkit.so.0.0 $(DESTDIR)$(PREFIX)/lib/libGToolkit.so
|
$(LN) -s -- libGToolkit.so.0.0 $(DESTDIR)$(PREFIX)/lib/libGToolkit.so
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
TARGETS = test
|
TARGETS = $(OBJDIR)test
|
||||||
|
OBJDIR =
|
||||||
PREFIX = /usr/local
|
PREFIX = /usr/local
|
||||||
DESTDIR =
|
DESTDIR =
|
||||||
BINDIR = $(PREFIX)/bin
|
BINDIR = $(PREFIX)/bin
|
||||||
|
@ -16,15 +17,15 @@ INSTALL = install
|
||||||
|
|
||||||
all: $(TARGETS)
|
all: $(TARGETS)
|
||||||
|
|
||||||
test_OBJS = test.o
|
test_OBJS = $(OBJDIR)test.o
|
||||||
test_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
|
test_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
|
||||||
test_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -L../src -L $(PREFIX)/lib -Wl,-rpath,$(PREFIX)/lib -lGToolkit
|
test_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -L$(OBJDIR). -L../src -L $(PREFIX)/lib -Wl,-rpath,$(PREFIX)/lib -lGToolkit
|
||||||
|
|
||||||
test: $(test_OBJS)
|
$(OBJDIR)test: $(test_OBJS)
|
||||||
$(CC) -o test $(test_OBJS) $(test_LDFLAGS)
|
$(CC) -o $(OBJDIR)test $(test_OBJS) $(test_LDFLAGS)
|
||||||
|
|
||||||
test.o: test.c ../include/GToolkit.h
|
$(OBJDIR)test.o: test.c ../include/GToolkit.h
|
||||||
$(CC) $(test_CFLAGS) -c test.c
|
$(CC) $(test_CFLAGS) -o $(OBJDIR)test.o -c test.c
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(RM) -- $(test_OBJS)
|
$(RM) -- $(test_OBJS)
|
||||||
|
|
|
@ -7,7 +7,7 @@ dist=Makefile
|
||||||
[test]
|
[test]
|
||||||
type=binary
|
type=binary
|
||||||
sources=test.c
|
sources=test.c
|
||||||
ldflags=-L../src -L $(PREFIX)/lib -Wl,-rpath,$(PREFIX)/lib -lGToolkit
|
ldflags=-L$(OBJDIR). -L../src -L $(PREFIX)/lib -Wl,-rpath,$(PREFIX)/lib -lGToolkit
|
||||||
|
|
||||||
[test.c]
|
[test.c]
|
||||||
depends=../include/GToolkit.h
|
depends=../include/GToolkit.h
|
||||||
|
|
Loading…
Reference in New Issue
Block a user