53 lines
1.3 KiB
Makefile
53 lines
1.3 KiB
Makefile
prefix?=/usr
|
|
bindir=$(prefix)/bin
|
|
mandir=$(prefix)/share/man/man1
|
|
|
|
EXE_EXT= .exe
|
|
EXENAME= pax$(EXE_EXT)
|
|
CC?= gcc
|
|
RM= rm -f
|
|
RMDIR= rmdir
|
|
CP= cp -f
|
|
MV= mv -f
|
|
LN= ln -s
|
|
MKDIR= mkdir -p
|
|
INSTALL= install
|
|
|
|
EXTRA_CFLAGS= -Wall -Wextra -Wformat -fno-strict-aliasing -DPAX_SAFE_PATH=\"/bin:/usr/bin:/usr/local/bin\" -DPAX_FUTIMES=1
|
|
EXTRA_LDFLAGS= -Wl,--as-needed
|
|
CFLAGS= -D__GLIBC__ -O2 -g
|
|
CFLAGS+= ${EXTRA_CFLAGS}
|
|
CPPFLAGS+= ${EXTRA_CPPFLAGS}
|
|
LDFLAGS+= -lc ${EXTRA_LDFLAGS}
|
|
|
|
SRCS= ar.c ar_io.c ar_subs.c buf_subs.c cache.c cpio.c file_subs.c \
|
|
ftree.c gen_subs.c getoldopt.c options.c pat_rep.c pax.c \
|
|
sel_subs.c tables.c tar.c tty_subs.c
|
|
OBJS= $(patsubst %.c,%.o,$(filter %.c,$(SRCS)))
|
|
|
|
all: $(EXENAME)
|
|
|
|
%.o: %.c
|
|
@echo compiling $<
|
|
@$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
$(EXENAME): $(OBJS)
|
|
@echo linking $@
|
|
@$(CC) -o $(EXENAME) $(OBJS) $(LDFLAGS)
|
|
|
|
install:
|
|
@echo installing
|
|
@$(MKDIR) $(DESTDIR)$(bindir)
|
|
@$(INSTALL) -m 755 $(EXENAME) $(DESTDIR)$(bindir)
|
|
@$(LN) $(EXENAME) $(DESTDIR)$(bindir)/paxcpio$(EXE_EXT)
|
|
@$(LN) $(EXENAME) $(DESTDIR)$(bindir)/paxtar$(EXE_EXT)
|
|
@$(MKDIR) $(DESTDIR)$(mandir)
|
|
@$(INSTALL) -m 644 pax.1 $(DESTDIR)$(mandir)
|
|
@$(INSTALL) -m 644 cpio.1 $(DESTDIR)$(mandir)/paxcpio.1
|
|
@$(INSTALL) -m 644 tar.1 $(DESTDIR)$(mandir)/paxtar.1
|
|
|
|
clean:
|
|
-rm -f *.o $(EXENAME)
|
|
|
|
.PHONY: binary clean install
|