leaving the old Makefile.noam behind
This commit is contained in:
parent
3a08886dc6
commit
815604d57e
2
Makefile
2
Makefile
@ -56,7 +56,7 @@ MANFILES := $(man1)uptime.1 $(man1)tload.1 $(man1)free.1 $(man1)w.1 \
|
||||
$(man5)sysctl.conf.5 $(man8)vmstat.8 $(man8)sysctl.8
|
||||
|
||||
TARFILES := AUTHORS BUGS NEWS README TODO COPYING COPYING.LIB ChangeLog \
|
||||
Makefile Makefile.noam procps.lsm procps.spec v t README.top \
|
||||
Makefile procps.lsm procps.spec v t README.top \
|
||||
minimal.c $(notdir $(MANFILES)) \
|
||||
uptime.c tload.c free.c w.c top.c vmstat.c watch.c skill.c \
|
||||
sysctl.c pgrep.c top.h
|
||||
|
226
Makefile.noam
226
Makefile.noam
@ -1,226 +0,0 @@
|
||||
# Makefile for procps. Chuck Blake.
|
||||
# Portions of this are highly dependent upon features specific to GNU make
|
||||
|
||||
export PREFIX = #proc# prefix for program names
|
||||
|
||||
export DESTDIR = /
|
||||
export MANDIR = /usr/man
|
||||
export MAN1DIR = $(DESTDIR)$(MANDIR)/man1
|
||||
export MAN5DIR = $(DESTDIR)$(MANDIR)/man5
|
||||
export MAN8DIR = $(DESTDIR)$(MANDIR)/man8
|
||||
export BINDIR = $(DESTDIR)/bin
|
||||
export SBINDIR = $(DESTDIR)/sbin
|
||||
export XBINDIR = $(DESTDIR)/usr/X11R6/bin
|
||||
export USRBINDIR = $(DESTDIR)/usr/bin
|
||||
export PROCDIR = $(DESTDIR)/usr/bin# /usr/proc/bin for Solaris devotees
|
||||
export APPLNK = $(DESTDIR)/etc/X11/applnk/Utilities
|
||||
export OWNERGROUP = --owner 0 --group 0
|
||||
export INSTALLBIN = install --mode a=rx --strip
|
||||
export INSTALLSCT = install --mode a=rx
|
||||
export INSTALLMAN = install --mode a=r
|
||||
|
||||
BPROG = kill # -> BINDIR
|
||||
UPROG = uptime tload free w top vmstat watch skill snice # -> USRBINDIR
|
||||
PPROG = pgrep pkill# -> PROCDIR
|
||||
SPROG = sysctl
|
||||
MAN1 = uptime.1 tload.1 free.1 w.1 top.1 watch.1 skill.1 kill.1 snice.1 pgrep.1 pkill.1
|
||||
MAN5 = sysctl.conf.5
|
||||
MAN8 = vmstat.8 sysctl.8
|
||||
DESKTOP = top.desktop
|
||||
XSCPT = XConsole # -> XBINDIR
|
||||
|
||||
SUBDIRS = ps # sub-packages to build/install
|
||||
|
||||
# easy to command-line override
|
||||
export INCDIRS = -I/usr/include/ncurses -I/usr/X11R6/include
|
||||
|
||||
export CC = gcc #-ggdb # this gets compiling and linking :-)
|
||||
export OPT = -O2
|
||||
export CFLAGS = -D_GNU_SOURCE $(OPT) -I$(shell pwd) $(INCDIRS) -ffast-math -W -Wall -Wstrict-prototypes -Wshadow -Wcast-align -Wmissing-prototypes
|
||||
|
||||
export SHARED = 1# build/install both a static and ELF shared library
|
||||
export SHLIBDIR = $(DESTDIR)/lib# where to install the shared library
|
||||
|
||||
export LDFLAGS = -Wl,-warn-common #-s recommended for ELF systems
|
||||
#LDFLAGS = -qmagic -s# recommended for a.out systems
|
||||
#LDFLAGS = -Xlinker -qmagic -s# older a.out systems may need this
|
||||
#LDFLAGS = -N -s# still older a.out systems use this
|
||||
|
||||
#BFD_CAPABLE = -DBFD_CAPABLE
|
||||
#AOUT_CAPABLE = #-DAOUT_CAPABLE
|
||||
#ELF_CAPABLE = #-DELF_CAPABLE
|
||||
|
||||
#LIBBFD = -lbfd -liberty
|
||||
LIBCURSES = -lncurses# watch is the only thing that needs this
|
||||
#LIBCURSES = -lcurses -ltermcap# BSD Curses requires termcap
|
||||
LIBTERMCAP = -lncurses# provides perfectly good termcap support
|
||||
#LIBTERMCAP = -ltermcap
|
||||
EXTRALIBS = # -lshadow
|
||||
|
||||
W_SHOWFROM = -DW_SHOWFROM# show remote host users are logged in from.
|
||||
|
||||
#----------------------------------------------------#
|
||||
# End of user-configurable portion of the Makefile. #
|
||||
# You should not need to modify anything below this. #
|
||||
#----------------------------------------------------#
|
||||
BUILD = $(BPROG) $(UPROG) $(PPROG) $(SPROG) $(SUBDIRS) $(DESKTOP)
|
||||
|
||||
# BUILD LIBRARIES + PROGRAMS
|
||||
all: $(BUILD)
|
||||
|
||||
# INSTALL PROGRAMS + DOCS
|
||||
install: $(patsubst %,install_%,$(BUILD) $(XSCPT) $(MAN1) $(MAN5) $(MAN8))
|
||||
ifeq ($(SHARED),1)
|
||||
install $(OWNERGROUP) --mode a=rx $(LIB_TGT) $(SHLIBDIR)
|
||||
endif
|
||||
|
||||
# INSTALL LIBRARIES + HEADERS (OPTIONAL)
|
||||
libinstall:
|
||||
$(MAKE) -C proc -f Makefile.noam install $(LIBPROCPASS)
|
||||
|
||||
clean:
|
||||
$(RM) -f $(OBJ) $(BPROG) $(UPROG) $(PPROG) $(SPROG)
|
||||
for i in proc $(SUBDIRS); do $(MAKE) -C $$i -f Makefile.noam clean; done
|
||||
|
||||
distclean: clean
|
||||
for i in proc $(SUBDIRS); do $(MAKE) -C $$i -f Makefile.noam clean; done
|
||||
$(RM) -f $(OBJ) $(BPROG) $(UPROG) $(SPROG) \
|
||||
proc/.depend
|
||||
|
||||
|
||||
#-----------------------------------------------------#
|
||||
# End of user-callable make targets. #
|
||||
# You should not need to read anything below this. #
|
||||
#-----------------------------------------------------#
|
||||
|
||||
.PHONY: all install libinstall clean distclean
|
||||
.PHONY: $(patsubst %,install_%, $(BPROG) $(UPROG) $(SPROG))
|
||||
.PHONY: proc ps
|
||||
.PHONY: $(patsubst %,build_%, proc ps)
|
||||
.PHONY: $(patsubst %,install_%, proc ps)
|
||||
|
||||
VERSION = $(shell awk '/^%define major_version/ { print $$3 }' < procps.spec)
|
||||
SUBVERSION = $(shell awk '/^%define minor_version/ { print $$3 }' < procps.spec)
|
||||
MINORVERSION = $(shell awk '/^%define revision/ { print $$3 }' < procps.spec)
|
||||
|
||||
# Note: LIBVERSION may be less than $(VERSION).$(SUBVERSION).$(MINORVERSION)
|
||||
# LIBVERSION is only set to current $(VERSION).$(SUBVERSION).$(MINORVERSION)
|
||||
# when an incompatible change is made in libproc.
|
||||
LIBVERSION = 3.0.4
|
||||
ifdef MINORVERSION
|
||||
LIBPROCPASS = SHARED=$(SHARED) SHLIBDIR=$(SHLIBDIR) VERSION=$(VERSION) SUBVERSION=$(SUBVERSION) MINORVERSION=$(MINORVERSION) LIBVERSION=$(LIBVERSION)
|
||||
else
|
||||
LIBPROCPASS = SHARED=$(SHARED) SHLIBDIR=$(SHLIBDIR) VERSION=$(VERSION) SUBVERSION=$(SUBVERSION) LIBVERSION=$(LIBVERSION)
|
||||
endif
|
||||
|
||||
# libproc setup
|
||||
|
||||
ifeq ($(SHARED),1)
|
||||
LIB_TGT = proc/libproc.so.$(LIBVERSION)
|
||||
else
|
||||
LIB_TGT = proc/libproc.a
|
||||
endif
|
||||
|
||||
$(LIB_TGT): $(wildcard proc/*.[ch])
|
||||
$(MAKE) -C proc -f Makefile.noam `basename $(LIB_TGT)` $(LIBPROCPASS)
|
||||
|
||||
# component package setup -- the pattern should be obvious: A build rule and
|
||||
# unified executable+documentation install rule. (An extra makefile rule is
|
||||
# needed for those packages which use Imake.)
|
||||
|
||||
ps: build_ps
|
||||
build_ps: ; $(MAKE) -C ps -f Makefile.noam
|
||||
install_ps: ps ; $(MAKE) -C ps -f Makefile.noam install
|
||||
|
||||
# executable dependencies
|
||||
kill skill snice top w uptime tload free vmstat utmp oldtop : $(LIB_TGT)
|
||||
|
||||
# static pattern build/link rules:
|
||||
|
||||
%.o : %.c
|
||||
$(strip $(CC) $(CFLAGS) -c $^)
|
||||
|
||||
w uptime tload free vmstat utmp pgrep: % : %.o
|
||||
$(strip $(CC) $(LDFLAGS) -o $@ $< $(LIB_TGT) $(EXTRALIBS))
|
||||
|
||||
|
||||
# special instances of link rules (need extra libraries/objects)
|
||||
|
||||
top: % : %.o
|
||||
$(strip $(CC) $(LDFLAGS) -o $@ $^ $(LIB_TGT) $(LIBTERMCAP) $(EXTRALIBS))
|
||||
|
||||
oldtop: % : %.o
|
||||
$(strip $(CC) $(LDFLAGS) -o $@ $^ $(LIB_TGT) $(LIBTERMCAP) $(EXTRALIBS))
|
||||
|
||||
watch: % : %.o
|
||||
$(strip $(CC) $(SLDFLAGS) -o $@ $< $(LIBCURSES) $(EXTRALIBS))
|
||||
|
||||
|
||||
# special instances of compile rules (need extra defines)
|
||||
w.o: w.c
|
||||
$(strip $(CC) $(CFLAGS) $(W_SHOWFROM) -c $<)
|
||||
|
||||
top.o: top.c
|
||||
$(strip $(CC) $(CFLAGS) -c $<)
|
||||
|
||||
oldtop.o: oldtop.c
|
||||
$(strip $(CC) $(CFLAGS) -fwritable-strings -c $<)
|
||||
|
||||
skill.o: skill.c
|
||||
$(strip $(CC) $(CFLAGS) -DSYSV -c $<)
|
||||
|
||||
snice: skill
|
||||
ln -f skill snice
|
||||
|
||||
kill: skill
|
||||
ln -f skill kill
|
||||
|
||||
pkill: pgrep
|
||||
ln -f pgrep pkill
|
||||
|
||||
# static pattern installation rules
|
||||
|
||||
$(patsubst %,install_%,$(BPROG)): install_%: %
|
||||
$(INSTALLBIN) $< $(BINDIR)/$(PREFIX)$<
|
||||
$(patsubst %,install_%,$(SPROG)): install_%: %
|
||||
$(INSTALLBIN) $< $(SBINDIR)/$(PREFIX)$<
|
||||
$(patsubst %,install_%,$(UPROG)): install_%: %
|
||||
$(INSTALLBIN) $< $(USRBINDIR)/$(PREFIX)$<
|
||||
$(patsubst %,install_%,$(PPROG)): install_%: %
|
||||
$(INSTALLBIN) $< $(PROCDIR)/$(PREFIX)$<
|
||||
$(patsubst %,install_%,$(XSCPT)): install_%: %
|
||||
$(INSTALLSCT) $< $(XBINDIR)/$(PREFIX)$<
|
||||
$(patsubst %,install_%,$(MAN1)) : install_%: %
|
||||
$(INSTALLMAN) $< $(MAN1DIR)/$(PREFIX)$<
|
||||
$(patsubst %,install_%,$(MAN5)) : install_%: %
|
||||
$(INSTALLMAN) $< $(MAN5DIR)/$(PREFIX)$<
|
||||
$(patsubst %,install_%,$(MAN8)) : install_%: %
|
||||
$(INSTALLMAN) $< $(MAN8DIR)/$(PREFIX)$<
|
||||
$(patsubst %,install_%,$(DESKTOP)) : install_%: %
|
||||
$(INSTALLSCT $< $(APPLNK)/$(PREFIX)$<
|
||||
|
||||
# special case install rules
|
||||
install_snice: snice install_skill
|
||||
cd $(USRBINDIR) && ln -f skill snice
|
||||
install_kill: snice install_skill
|
||||
cd $(USRBINDIR) && ln -f skill kill
|
||||
install_pkill: pgrep install_pgrep
|
||||
cd $(USRBINDIR) && ln -f pgrep pkill
|
||||
|
||||
# Find all the source and object files in this directory
|
||||
|
||||
SRC = $(sort $(wildcard *.c))
|
||||
OBJ = $(SRC:.c=.o)
|
||||
|
||||
CVSTAG = ps_$(VERSION)_$(SUBVERSION)_$(MINORVERSION)
|
||||
FILEVERSION = $(VERSION).$(SUBVERSION).$(MINORVERSION)
|
||||
dist: archive
|
||||
archive:
|
||||
@cvs -Q tag -F $(CVSTAG)
|
||||
@rm -rf /tmp/procps
|
||||
@cd /tmp; cvs -Q -d $(CVSROOT) export -r$(CVSTAG) procps || echo GRRRrrrrr -- ignore [export aborted]
|
||||
@mv /tmp/procps /tmp/procps-$(FILEVERSION)
|
||||
@cd /tmp; tar czSpf procps-$(FILEVERSION).tar.gz procps-$(FILEVERSION)
|
||||
@cd /tmp; cp procps-$(FILEVERSION)/procps.lsm procps-$(FILEVERSION).lsm
|
||||
@rm -rf /tmp/procps-$(FILEVERSION)
|
||||
@echo "The final archive is /tmp/procps-$(FILEVERSION).tar.gz"
|
4
README
4
README
@ -12,8 +12,8 @@ INSTALLATION
|
||||
named t, v, and p to ensure the correct libproc
|
||||
is used during your testing.
|
||||
|
||||
In case the fancy stuff gives you trouble, you may use
|
||||
the previous Makefile: "make -f Makefile.noam install"
|
||||
If you need to add a compiler option, use CC to do it:
|
||||
make CC='gcc -foo'
|
||||
|
||||
BUG REPORTS
|
||||
|
||||
|
@ -1,98 +0,0 @@
|
||||
# Auto-adaptive C library Makefile adapted for libproc, Chuck Blake.
|
||||
# Assumptions are basically that all the .c files in the CWD are modules
|
||||
# for the library and that all .h files are the interface to the library.
|
||||
|
||||
# PROJECT SPECIFIC MACROS
|
||||
NAME = proc
|
||||
|
||||
# INSTALLATION OPTIONS
|
||||
TOPDIR = /usr
|
||||
HDRDIR = $(TOPDIR)/include/$(NAME)# where to put .h files
|
||||
LIBDIR = $(TOPDIR)/lib# where to put library files
|
||||
SHLIBDIR = /lib# where to put shared library files
|
||||
HDROWN = $(OWNERGROUP) # owner of header files
|
||||
LIBOWN = $(OWNERGROUP) # owner of library files
|
||||
INSTALL = install
|
||||
|
||||
# ----------------------------------------------------------------#
|
||||
# The rest is the auto-magic section -- highly GNU make dependent #
|
||||
# You should never need to edit this. #
|
||||
# ----------------------------------------------------------------#
|
||||
|
||||
VC_SUF = ,v
|
||||
VC_PFX = RCS/
|
||||
RCSFILES = $(patsubst $(VC_PFX)%$(VC_SUF),%,$(wildcard $(VC_PFX)*$(VC_SUF)))
|
||||
|
||||
# We take the union of RCS files and other files in CWD so that new files do
|
||||
# not need to alter this makefile. 'sort' removes duplicates. This allows the
|
||||
# convenience of compiling and testing new files before the initial check-in.
|
||||
|
||||
SRC = $(sort $(wildcard *.c) $(filter %.c,$(RCSFILES)))
|
||||
HDR = $(sort $(wildcard *.h) $(filter %.h,$(RCSFILES)))
|
||||
|
||||
OBJ = $(SRC:.c=.o)
|
||||
SONAME = lib$(NAME).so.$(LIBVERSION)
|
||||
|
||||
ifeq ($(SHARED),1)
|
||||
CFLAGS += -fpic
|
||||
all: lib$(NAME).a $(SONAME)
|
||||
else
|
||||
all: lib$(NAME).a
|
||||
endif
|
||||
|
||||
lib$(NAME).a: $(OBJ)
|
||||
$(AR) rcs $@ $^
|
||||
|
||||
$(SONAME): $(OBJ)
|
||||
gcc -shared -Wl,-soname,$(SONAME) -o $@ $^ -lc
|
||||
ln -sf $(SONAME) lib$(NAME).so
|
||||
|
||||
# AUTOMATIC DEPENDENCY GENERATION -- GCC AND GNUMAKE DEPENDENT
|
||||
|
||||
.depend:
|
||||
$(strip $(CC) $(CFLAGS) -MM -MG $(SRC) > .depend)
|
||||
-include .depend
|
||||
|
||||
# INSTALLATION
|
||||
|
||||
install: all
|
||||
if ! [ -d $(HDRDIR) ] ; then mkdir $(HDRDIR) ; fi
|
||||
$(INSTALL) $(HDROWN) $(HDR) $(TOPDIR)/include/$(NAME)
|
||||
$(INSTALL) $(LIBOWN) lib$(NAME).a $(LIBDIR)
|
||||
ifeq ($(SHARED),1)
|
||||
$(INSTALL) $(LIBOWN) $(SONAME) $(SHLIBDIR)
|
||||
cd $(SHLIBDIR) && ln -sf $(SONAME) lib$(NAME).so
|
||||
ldconfig
|
||||
endif
|
||||
|
||||
# VARIOUS SHORT CUT TARGETS
|
||||
.PHONY: all install dep clean distclean checkout checkclean
|
||||
|
||||
dep: .depend
|
||||
|
||||
clean:
|
||||
$(RM) lib$(NAME).* *.o DEADJOE
|
||||
|
||||
distclean: clean
|
||||
$(RM) .depend *~
|
||||
|
||||
checkout:
|
||||
$(CO) $(RCSFILES)
|
||||
|
||||
checkclean:
|
||||
$(RM) $(RCSFILES)
|
||||
|
||||
# CUSTOM c -> o rule so that command-line has minimal whitespace
|
||||
|
||||
%.o : %.c
|
||||
$(strip $(CC) $(CFLAGS) -c $<)
|
||||
|
||||
# PROJECT SPECIFIC DEPENDENCIES/BUILD RULES
|
||||
|
||||
|
||||
version.o: version.c version.h
|
||||
ifdef MINORVERSION
|
||||
$(strip $(CC) $(CFLAGS) -DVERSION=\"$(VERSION)\" -DSUBVERSION=\"$(SUBVERSION)\" -DMINORVERSION=\"$(MINORVERSION)\" -c version.c)
|
||||
else
|
||||
$(strip $(CC) $(CFLAGS) -DVERSION=\"$(VERSION)\" -DSUBVERSION=\"$(SUBVERSION)\" -c version.c)
|
||||
endif
|
@ -24,7 +24,7 @@ LIBPROC := proc/lib$(NAME).a
|
||||
endif
|
||||
|
||||
|
||||
LIB_X := COPYING Makefile.noam module.mk
|
||||
LIB_X := COPYING module.mk
|
||||
TARFILES += $(LIBSRC) $(LIBHDR) $(addprefix proc/,$(LIB_X))
|
||||
|
||||
|
||||
|
@ -1,35 +0,0 @@
|
||||
all: ps
|
||||
|
||||
ps: escape.o global.o help.o select.o sortformat.o output.o parser.o display.o
|
||||
$(CC) -o ps escape.o global.o help.o select.o sortformat.o output.o parser.o display.o -L../proc -lproc
|
||||
|
||||
# This just adds the stacktrace code
|
||||
debug: escape.o global.o help.o select.o sortformat.o output.o parser.o display.o stacktrace.o
|
||||
$(CC) -o ps escape.o global.o help.o select.o sortformat.o output.o parser.o display.o stacktrace.o -L../proc -lproc -lefence
|
||||
|
||||
sortformat.o: sortformat.c common.h
|
||||
|
||||
global.o: global.c common.h
|
||||
|
||||
escape.o: escape.c
|
||||
|
||||
help.o: help.c
|
||||
|
||||
select.o: select.c common.h
|
||||
|
||||
output.o: output.c common.h
|
||||
|
||||
parser.o: parser.c common.h
|
||||
|
||||
display.o: display.c common.h
|
||||
|
||||
stacktrace.o: stacktrace.c
|
||||
|
||||
|
||||
install: ps
|
||||
install $(OWNERGROUP) --mode a=rx --strip ps $(BINDIR)/ps
|
||||
install $(OWNERGROUP) --mode a=r ps.1 $(MAN1DIR)/ps.1
|
||||
-rm -f $(DESTDIR)/var/catman/cat1/ps.1.gz $(DESTDIR)/var/man/cat1/ps.1.gz
|
||||
|
||||
clean:
|
||||
rm -f *.o DEADJOE *~ core ps gmon.out
|
@ -16,7 +16,7 @@ PSNAMES := $(addprefix ps/,$(PS_C))
|
||||
PSOBJ := $(addsuffix .o,$(PSNAMES))
|
||||
PSSRC := $(addsuffix .c,$(PSNAMES))
|
||||
|
||||
PS_X := COPYING HACKING TRANSLATION Makefile.noam common.h module.mk it p ps.1 regression
|
||||
PS_X := COPYING HACKING TRANSLATION common.h module.mk it p ps.1 regression
|
||||
TARFILES += $(PSSRC) $(addprefix ps/,$(PS_X))
|
||||
|
||||
ps/ps: $(PSOBJ) $(LIBPROC)
|
||||
|
Loading…
Reference in New Issue
Block a user