Improve make output similar to what recent GNU configure scripts do.
Also always build the static bins so that it's done in one pass, that means that objects are PIC and built with SSP. --HG-- extra : convert_revision : xtraeme%40gmail.com-20091119050337-hkdksjqxy9n7vy7m
This commit is contained in:
27
lib/Makefile
27
lib/Makefile
@ -20,38 +20,35 @@ OBJS += repository.o requiredby.o sha256.o sortdeps.o state.o
|
||||
OBJS += sync_remote_pkgidx.o unpack.o util.o pkgmatch.o
|
||||
|
||||
.PHONY: all
|
||||
ifdef STATIC
|
||||
all: libfetch libxbps.a
|
||||
else
|
||||
all: libfetch libxbps.so libxbps.a
|
||||
endif
|
||||
|
||||
libfetch:
|
||||
$(MAKE) -C fetch
|
||||
@$(MAKE) -C fetch
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(CPPFLAGS) $(SHAREDLIB_CFLAGS) $(CFLAGS) \
|
||||
@echo " [CC] $@"
|
||||
@$(CC) $(CPPFLAGS) $(SHAREDLIB_CFLAGS) $(CFLAGS) \
|
||||
$(LDFLAGS) $(STATIC_LIBS) -c $<
|
||||
|
||||
libxbps.so: $(OBJS) $(LIBFETCH_OBJS)
|
||||
$(CC) $(LDFLAGS) $(SHAREDLIB_LDFLAGS) $^ -o $(LIBXBPS_SHLIB)
|
||||
-ln -sf $(LIBXBPS_SHLIB) libxbps.so.$(LIBMAJOR)
|
||||
-ln -sf $(LIBXBPS_SHLIB) libxbps.so
|
||||
@echo " [CCLD] $@"
|
||||
@$(CC) $(LDFLAGS) $(SHAREDLIB_LDFLAGS) $^ -o $(LIBXBPS_SHLIB)
|
||||
@-ln -sf $(LIBXBPS_SHLIB) libxbps.so.$(LIBMAJOR)
|
||||
@-ln -sf $(LIBXBPS_SHLIB) libxbps.so
|
||||
|
||||
libxbps.a: $(OBJS) $(LIBFETCH_OBJS)
|
||||
$(AR) rcs $@ $^
|
||||
ranlib $@
|
||||
@echo " [AR] $@"
|
||||
@$(AR) rcs $@ $^
|
||||
@echo " [RANLIB] $@"
|
||||
@ranlib $@
|
||||
|
||||
.PHONY: install
|
||||
install: all
|
||||
install -d $(LIBDIR)
|
||||
ifdef STATIC
|
||||
install -m 644 libxbps.a $(LIBDIR)
|
||||
else
|
||||
install -m 644 $(LIBXBPS_SHLIB) $(LIBDIR)
|
||||
cp -a libxbps.so $(LIBDIR)
|
||||
cp -a libxbps.so.$(LIBMAJOR) $(LIBDIR)
|
||||
endif
|
||||
|
||||
.PHONY: uninstall
|
||||
uninstall:
|
||||
@ -60,4 +57,4 @@ uninstall:
|
||||
.PHONY: clean
|
||||
clean:
|
||||
-rm -f libxbps* $(OBJS)
|
||||
$(MAKE) -C fetch clean
|
||||
@$(MAKE) -C fetch clean
|
||||
|
@ -20,14 +20,17 @@ GEN = ftperr.h httperr.h
|
||||
all: $(INCS) $(GEN) $(OBJS)
|
||||
|
||||
%.o: %.c $(INCS) $(GEN)
|
||||
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) \
|
||||
@echo " [CC] $@"
|
||||
@$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) \
|
||||
$(SHAREDLIB_CFLAGS) -c $<
|
||||
|
||||
ftperr.h: ftp.errors
|
||||
./errlist.sh ftp_errlist FTP ftp.errors > $@
|
||||
@echo " [GEN] $@"
|
||||
@./errlist.sh ftp_errlist FTP ftp.errors > $@
|
||||
|
||||
httperr.h: http.errors
|
||||
./errlist.sh http_errlist HTTP http.errors > $@
|
||||
@echo " [GEN] $@"
|
||||
@./errlist.sh http_errlist HTTP http.errors > $@
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
|
Reference in New Issue
Block a user