| 1 | |
|---|
| 2 | |
|---|
| 3 | |
|---|
| 4 | |
|---|
| 5 | |
|---|
| 6 | |
|---|
| 7 | include Makefile.config |
|---|
| 8 | |
|---|
| 9 | OBJS = \ |
|---|
| 10 | llist.o \ |
|---|
| 11 | Host.o \ |
|---|
| 12 | xwin.o \ |
|---|
| 13 | Xrm.o \ |
|---|
| 14 | defaultstring.o \ |
|---|
| 15 | meter.o \ |
|---|
| 16 | fieldmeter.o \ |
|---|
| 17 | fieldmeterdecay.o \ |
|---|
| 18 | fieldmetergraph.o \ |
|---|
| 19 | bitfieldmeter.o \ |
|---|
| 20 | bitmeter.o \ |
|---|
| 21 | xosview.o \ |
|---|
| 22 | main.o |
|---|
| 23 | |
|---|
| 24 | CFILES := $(OBJS:.o=.cc) |
|---|
| 25 | DEPFILES := $(OBJS:%=.%.d) |
|---|
| 26 | |
|---|
| 27 | INSTALL = /usr/bin/install -c |
|---|
| 28 | |
|---|
| 29 | |
|---|
| 30 | |
|---|
| 31 | all : meterlib xosview |
|---|
| 32 | |
|---|
| 33 | defaultstring.cc: Xdefaults defresources.awk |
|---|
| 34 | gawk -f defresources.awk Xdefaults > defaultstring.cc |
|---|
| 35 | |
|---|
| 36 | meterlib: |
|---|
| 37 | cd ./linux && $(MAKE) |
|---|
| 38 | |
|---|
| 39 | ./linux/libmeter.a: meterlib |
|---|
| 40 | |
|---|
| 41 | |
|---|
| 42 | xosview: $(OBJS) ./linux/libmeter.a |
|---|
| 43 | $(CXX) $(LDFLAGS) $(LFLAGS) -o xosview $(OBJS) $(LIBS) |
|---|
| 44 | |
|---|
| 45 | |
|---|
| 46 | |
|---|
| 47 | |
|---|
| 48 | PREFIX_TO_USE=/usr/X11R6 |
|---|
| 49 | BINDIR=$(PREFIX_TO_USE)/bin |
|---|
| 50 | MANDIR=$(PREFIX_TO_USE)/share/man/man1 |
|---|
| 51 | XAPPLOADDIR=$(PREFIX_TO_USE)/lib/X11/app-defaults |
|---|
| 52 | PACKAGENAME=xosview-$(VERS) |
|---|
| 53 | DISTRIBDIR=./../$(PACKAGENAME) |
|---|
| 54 | |
|---|
| 55 | |
|---|
| 56 | |
|---|
| 57 | install: xosview |
|---|
| 58 | @echo "*** Installing executable..." |
|---|
| 59 | ${INSTALL} -m 755 xosview $(BINDIR) |
|---|
| 60 | @echo "*** Installing application defaults..." |
|---|
| 61 | ${INSTALL} -m 644 Xdefaults $(XAPPLOADDIR)/XOsview |
|---|
| 62 | @echo "*** Making sure $(MANDIR) exists..." |
|---|
| 63 | @if [ ! -d $(MANDIR) ]; then \ |
|---|
| 64 | echo "*** Making $(MANDIR)..."; \ |
|---|
| 65 | mkdir $(MANDIR); \ |
|---|
| 66 | fi |
|---|
| 67 | @echo "*** Installing man page..." |
|---|
| 68 | ${INSTALL} -m 644 xosview.1 $(MANDIR) |
|---|
| 69 | |
|---|
| 70 | install-man: |
|---|
| 71 | @echo "Use the 'install' target -- it installs the man page, too." |
|---|
| 72 | @ |
|---|
| 73 | |
|---|
| 74 | distrib: checksource distclean |
|---|
| 75 | cd ./..; rm -rf $(PACKAGENAME) |
|---|
| 76 | mkdir $(DISTRIBDIR) |
|---|
| 77 | (cd .; tar cf - *) | (cd $(DISTRIBDIR); tar xf -) |
|---|
| 78 | cd $(DISTRIBDIR); rm -rf `find . -name "CVS"` |
|---|
| 79 | cd ./..; tar cf $(PACKAGENAME).tar $(PACKAGENAME) |
|---|
| 80 | gzip -f9 ./../$(PACKAGENAME).tar |
|---|
| 81 | cd ./..; uuencode $(PACKAGENAME).tar.gz \ |
|---|
| 82 | $(PACKAGENAME).tar.gz > $(PACKAGENAME).tar.gz.uue |
|---|
| 83 | |
|---|
| 84 | |
|---|
| 85 | |
|---|
| 86 | distrib-and-copy: distrib |
|---|
| 87 | cp ../$(PACKAGENAME).tar.gz `echo ~bgrayson/public_html/xosview` |
|---|
| 88 | scp ../$(PACKAGENAME).tar.gz omni:~bgrayson/public_html/xosview |
|---|
| 89 | |
|---|
| 90 | clean : |
|---|
| 91 | @echo "*** Cleaning..." |
|---|
| 92 | @cd linux && $(MAKE) clean |
|---|
| 93 | @ |
|---|
| 94 | @sh -c 'if [ -d config ]; then \ |
|---|
| 95 | echo "*** Cleaning config directory..."; \ |
|---|
| 96 | cd config && $(MAKE) clean; fi' |
|---|
| 97 | rm -f xosview $(OBJS) $(DEPFILES) *~ defaultstring.cc |
|---|
| 98 | |
|---|
| 99 | checksource: |
|---|
| 100 | @ |
|---|
| 101 | @ |
|---|
| 102 | @echo "*** Grep'ing for uses of strcmp, sprintf, strcat, strcmp," |
|---|
| 103 | @echo " strcasecmp instead of safer strncmp, snprintf, strncat," |
|---|
| 104 | @echo " strncmp, strncasecmp...." |
|---|
| 105 | @ |
|---|
| 106 | @ |
|---|
| 107 | @ |
|---|
| 108 | @sh -c 'egrep "strcmp|sprintf|strcat|strcmp|strcasecmp" \ |
|---|
| 109 | `echo *.cc *.h */*.cc */*.h | sed -e 's/snprintf.cc//'`; \ |
|---|
| 110 | if [ $$? != 0 ]; then exit 0; else \ |
|---|
| 111 | echo "*** Bad functions found -- error!"; exit 1; fi' |
|---|
| 112 | @ |
|---|
| 113 | @ |
|---|
| 114 | @echo "*** Checking for consistent version in config/Makefile.top.in and man page..." |
|---|
| 115 | @ |
|---|
| 116 | @ |
|---|
| 117 | @sh -c 'manver=`sed -ne 2p xosview.1 | awk \{print\ \\$$3\}`; \ |
|---|
| 118 | manver2=`sed -ne 3p xosview.1 | awk \{print\ \\$$3\}`; \ |
|---|
| 119 | if [ x"$$manver" != x"$$manver2" ]; then \ |
|---|
| 120 | echo "!!! Version mismatch in the man page file xosview.1:"; \ |
|---|
| 121 | echo " $$manver in SCCS header (line 2),"; \ |
|---|
| 122 | echo " $$manver2 in title (line 3)."; \ |
|---|
| 123 | exit 1; \ |
|---|
| 124 | fi; \ |
|---|
| 125 | if [ x"$$manver" != x"$(VERS)" ]; then \ |
|---|
| 126 | echo "!!! Apparent version mismatch: "; \ |
|---|
| 127 | echo " $(VERS) in config/Makefile.top.in,"; \ |
|---|
| 128 | echo " $$manver in man page file xosview.1"; exit 1; \ |
|---|
| 129 | fi' |
|---|
| 130 | |
|---|
| 131 | distclean: clean |
|---|
| 132 | @ |
|---|
| 133 | @ |
|---|
| 134 | @echo "*** Checking for any missed .o files..." |
|---|
| 135 | @sh -c 'objects=`find . -name "*.o" -print`; if [ x"$$objects" != x ]; then \ |
|---|
| 136 | echo "The following object files still need to be removed:";\ |
|---|
| 137 | echo $$objects; exit 1; fi' |
|---|
| 138 | @echo "*** Removing all Makefiles..." |
|---|
| 139 | @rm -f Makefile Makefile.config Makefile.GNU.autodep \ |
|---|
| 140 | linux/Makefile config.cache config.log config.status |
|---|
| 141 | |
|---|
| 142 | |
|---|
| 143 | maintainer-clean: distclean |
|---|
| 144 | rm -f configure |
|---|
| 145 | |
|---|