Added support for building with OBJDIR

This commit is contained in:
Pierre Pronchery 2014-11-12 21:29:18 +01:00
parent f14a4898c8
commit 3639ea9300
3 changed files with 28 additions and 14 deletions

View File

@ -3,7 +3,8 @@ VERSION = 0.0.0
SUBDIRS = data src
RM = rm -f
LN = ln -f
TAR = tar -czvf
TAR = tar
MKDIR = mkdir -m 0755 -p
all: subdirs
@ -20,7 +21,7 @@ distclean:
dist:
$(RM) -r -- $(PACKAGE)-$(VERSION)
$(LN) -s -- . $(PACKAGE)-$(VERSION)
@$(TAR) $(PACKAGE)-$(VERSION).tar.gz -- \
@$(TAR) -czvf $(PACKAGE)-$(VERSION).tar.gz -- \
$(PACKAGE)-$(VERSION)/data/Makefile \
$(PACKAGE)-$(VERSION)/data/Splasher.interface \
$(PACKAGE)-$(VERSION)/data/project.conf \
@ -36,10 +37,21 @@ dist:
$(PACKAGE)-$(VERSION)/project.conf
$(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:
@for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) install) || exit; done
uninstall:
@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

View File

@ -1,3 +1,4 @@
OBJDIR =
PREFIX = /usr/local
DESTDIR =
MKDIR = mkdir -m 0755 -p

View File

@ -1,4 +1,5 @@
TARGETS = ../data/Splasher.h Splasher
TARGETS = $(OBJDIR)../data/Splasher.h $(OBJDIR)Splasher
OBJDIR =
PREFIX = /usr/local
DESTDIR =
BINDIR = $(PREFIX)/bin
@ -18,21 +19,21 @@ INSTALL = install
all: $(TARGETS)
../data/Splasher.h: ../data/Splasher.interface
./appbroker.sh -P "$(PREFIX)" -- "../data/Splasher.h"
$(OBJDIR)../data/Splasher.h: ../data/Splasher.interface
./appbroker.sh -P "$(PREFIX)" -- "$(OBJDIR)../data/Splasher.h"
Splasher_OBJS = splasher.o main.o
Splasher_OBJS = $(OBJDIR)splasher.o $(OBJDIR)main.o
Splasher_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
Splasher_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)
Splasher: $(Splasher_OBJS)
$(CC) -o Splasher $(Splasher_OBJS) $(Splasher_LDFLAGS)
$(OBJDIR)Splasher: $(Splasher_OBJS)
$(CC) -o $(OBJDIR)Splasher $(Splasher_OBJS) $(Splasher_LDFLAGS)
splasher.o: splasher.c ../data/Splasher.h
$(CC) $(Splasher_CFLAGS) -c splasher.c
$(OBJDIR)splasher.o: splasher.c ../data/Splasher.h
$(CC) $(Splasher_CFLAGS) -o $(OBJDIR)splasher.o -c splasher.c
main.o: main.c
$(CC) $(Splasher_CFLAGS) -c main.c
$(OBJDIR)main.o: main.c
$(CC) $(Splasher_CFLAGS) -o $(OBJDIR)main.o -c main.c
clean:
$(RM) -- $(../data/Splasher.h_OBJS) $(Splasher_OBJS)
@ -43,7 +44,7 @@ distclean: clean
install: $(TARGETS)
$(MKDIR) $(DESTDIR)$(BINDIR)
$(INSTALL) -m 0755 Splasher $(DESTDIR)$(BINDIR)/Splasher
$(INSTALL) -m 0755 $(OBJDIR)Splasher $(DESTDIR)$(BINDIR)/Splasher
uninstall:
$(RM) -- $(DESTDIR)$(BINDIR)/Splasher