Added partial support for building with OBJDIR

This commit is contained in:
Pierre Pronchery 2014-11-04 01:17:28 +01:00
parent 5270e811e6
commit a0803a4564
2 changed files with 31 additions and 18 deletions

View File

@ -3,7 +3,8 @@ VERSION = 0.0.0
SUBDIRS = src SUBDIRS = src
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)/src/platform/freebsd.c \ $(PACKAGE)-$(VERSION)/src/platform/freebsd.c \
$(PACKAGE)-$(VERSION)/src/platform/linux.c \ $(PACKAGE)-$(VERSION)/src/platform/linux.c \
$(PACKAGE)-$(VERSION)/src/platform/netbsd.c \ $(PACKAGE)-$(VERSION)/src/platform/netbsd.c \
@ -39,10 +40,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

View File

@ -1,4 +1,5 @@
TARGETS = strace TARGETS = $(OBJDIR)strace
OBJDIR =
PREFIX = /usr/local PREFIX = /usr/local
DESTDIR = DESTDIR =
BINDIR = $(PREFIX)/bin BINDIR = $(PREFIX)/bin
@ -16,27 +17,27 @@ INSTALL = install
all: $(TARGETS) all: $(TARGETS)
strace_OBJS = platform/freebsd.o platform/linux.o platform/netbsd.o strace.o main.o strace_OBJS = $(OBJDIR)platform/freebsd.o $(OBJDIR)platform/linux.o $(OBJDIR)platform/netbsd.o $(OBJDIR)strace.o $(OBJDIR)main.o
strace_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) strace_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
strace_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) strace_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)
strace: $(strace_OBJS) $(OBJDIR)strace: $(strace_OBJS)
$(CC) -o strace $(strace_OBJS) $(strace_LDFLAGS) $(CC) -o $(OBJDIR)strace $(strace_OBJS) $(strace_LDFLAGS)
platform/freebsd.o: platform/freebsd.c platform/freebsd.h platform.h $(OBJDIR)platform/freebsd.o: platform/freebsd.c platform/freebsd.h platform.h
$(CC) $(strace_CFLAGS) -o platform/freebsd.o -c platform/freebsd.c $(CC) $(strace_CFLAGS) -o $(OBJDIR)platform/freebsd.o -c platform/freebsd.c
platform/linux.o: platform/linux.c platform/linux.h platform.h $(OBJDIR)platform/linux.o: platform/linux.c platform/linux.h platform.h
$(CC) $(strace_CFLAGS) -o platform/linux.o -c platform/linux.c $(CC) $(strace_CFLAGS) -o $(OBJDIR)platform/linux.o -c platform/linux.c
platform/netbsd.o: platform/netbsd.c platform/netbsd.h platform.h $(OBJDIR)platform/netbsd.o: platform/netbsd.c platform/netbsd.h platform.h
$(CC) $(strace_CFLAGS) -o platform/netbsd.o -c platform/netbsd.c $(CC) $(strace_CFLAGS) -o $(OBJDIR)platform/netbsd.o -c platform/netbsd.c
strace.o: strace.c platform.h strace.h ../config.h $(OBJDIR)strace.o: strace.c platform.h strace.h ../config.h
$(CC) $(strace_CFLAGS) -c strace.c $(CC) $(strace_CFLAGS) -o $(OBJDIR)strace.o -c strace.c
main.o: main.c strace.h ../config.h $(OBJDIR)main.o: main.c strace.h ../config.h
$(CC) $(strace_CFLAGS) -c main.c $(CC) $(strace_CFLAGS) -o $(OBJDIR)main.o -c main.c
clean: clean:
$(RM) -- $(strace_OBJS) $(RM) -- $(strace_OBJS)
@ -46,7 +47,7 @@ distclean: clean
install: $(TARGETS) install: $(TARGETS)
$(MKDIR) $(DESTDIR)$(BINDIR) $(MKDIR) $(DESTDIR)$(BINDIR)
$(INSTALL) -m 0755 strace $(DESTDIR)$(BINDIR)/strace $(INSTALL) -m 0755 $(OBJDIR)strace $(DESTDIR)$(BINDIR)/strace
uninstall: uninstall:
$(RM) -- $(DESTDIR)$(BINDIR)/strace $(RM) -- $(DESTDIR)$(BINDIR)/strace