]> git.sur5r.net Git - glabels/blob - glabels2/barcode-0.98/Makefile.in.dist
2007-04-30 Jim Evins <evins@snaught.com>
[glabels] / glabels2 / barcode-0.98 / Makefile.in.dist
1 #
2 # This Makefile should run fine with both pmake and gmake
3 #
4
5 CC = @CC@
6 CFLAGS = @CFLAGS@ @DEFS@ @NO_GETOPT@ @NO_LIBPAPER@ @NO_STRERROR@
7 RANLIB = @RANLIB@
8
9 INSTALL = @INSTALL@
10
11 LDFLAGS = -L. -l$(TARGET) @LIBPAPER@
12
13 prefix = @prefix@
14 BINDIR = $(prefix)/bin
15 LIBDIR = $(prefix)/lib
16 INCDIR = $(prefix)/include
17 MAN1DIR = $(prefix)/man/man1
18 MAN3DIR = $(prefix)/man/man3
19 INFODIR = $(prefix)/info
20
21 # getopt may be installed or not, if not take our copy
22 GETOPT_O = @GETOPT_O@
23
24 TARGET = barcode
25 LIBRARY = lib$(TARGET).a
26 MAN1 = $(TARGET).1
27 MAN3 = $(TARGET).3
28 INFO = doc/$(TARGET).info
29 HEADER = $(TARGET).h
30
31 LIBOBJECTS = library.o ean.o code128.o code39.o code93.o i25.o \
32                 msi.o plessey.o codabar.o \
33                 ps.o pcl.o
34 EXEOBJECTS = main.o cmdline.o $(GETOPT_O)
35 ALLSOURCES = $(LIBOBJECTS:.o=.c) $(EXEOBJECT:.o=.c)
36
37
38 #Hmm... "RM" is undefined in pmake
39 RM = rm
40
41 all: $(TARGET) $(LIBRARY) $(MAN1) $(MAN3) $(INFO) sample
42
43 $(TARGET): $(LIBRARY) $(EXEOBJECTS)
44         $(CC) $(CFLAGS) $(EXEOBJECTS) $(LDFLAGS) -o $(TARGET)
45
46 sample: sample.o $(LIBRARY)
47         $(CC) $(CFLAGS) sample.o $(LDFLAGS) -o $@ 
48
49 # Avoid the standard CFLAGS, to avoid -Wall and -DNO_GETOPT
50 compat/getopt.o: compat/getopt.c
51         $(CC) -O -c compat/getopt.c -o $@
52
53 $(LIBRARY): $(LIBOBJECTS)
54         $(AR) r $(LIBRARY) $(LIBOBJECTS)
55         $(RANLIB) $(LIBRARY)
56
57 $(MAN1) $(MAN3): doc/doc.$(TARGET)
58         awk -f doc/manpager doc/doc.$(TARGET)
59
60
61 # Unfortunately, pmake has no "-C". Also, "pmake -n" doesn't follow the cd.
62 $(INFO): doc/doc.$(TARGET)
63         cd doc && $(MAKE) 
64
65 install:
66         $(INSTALL) -d $(BINDIR) $(INCDIR) $(LIBDIR) $(MAN1DIR) \
67                 $(MAN3DIR) $(INFODIR)
68         $(INSTALL) -c $(TARGET) $(BINDIR)
69         $(INSTALL) -c -m 0644 $(HEADER) $(INCDIR)
70         $(INSTALL) -c -m 0644  $(LIBRARY) $(LIBDIR)
71         $(INSTALL) -c -m 0644  $(MAN1) $(MAN1DIR)
72         $(INSTALL) -c -m 0644  $(MAN3) $(MAN3DIR)
73         $(INSTALL) -c -m 0644  $(INFO) $(INFODIR)
74
75 uninstall:
76         $(RM) -f $(BINDIR)/$(TARGET)
77         $(RM) -f $(INCDIR)/$(HEADER)
78         $(RM) -f $(LIBDIR)/$(LIBRARY)
79         $(RM) -f $(MAN1DIR)/$(MAN1)
80         $(RM) -f $(MAN3DIR)/$(MAN3)
81         $(RM) -f $(INDODIR)/$(INFO)
82
83 #Make clean keeps the compiled documents
84 clean:
85         $(RM) -f *.o */*.o *~ */*~ $(TARGET) $(LIBRARY)
86         $(RM) -f  $(MAN1) $(MAN3) core sample
87         cd doc && $(MAKE) terse
88         $(RM) -f .depend
89
90 distclean: clean
91         if [ -f build ]; then debian/rules clean; fi
92         # remove the configure stuff as well
93         $(RM) -f Makefile config.h config.log config.status config.cache \
94                 doc/Makefile
95
96 cleanest: clean
97         cd doc && $(MAKE) clean
98
99 Makefile: Makefile.in configure
100         ./configure
101
102 configure: configure.in
103         autoconf
104
105 .depend: $(ALLSOURCES)
106         $(CC) $(CFLAGS) -MM $(ALLSOURCES) > $@
107
108 depend: .depend
109
110 tar:
111         @if [ "x" = "x$(RELEASE)" ]; then \
112             n=`basename \`pwd\``; cd ..; tar cvf - $$n | gzip > $$n.tar.gz; \
113             echo 'you can set a numeric $$(RELEASE) to make a named tar'; \
114         else \
115             if [ -d ../$(TARGET)-$(RELEASE) ]; then \
116                 rm -rf ../$(TARGET)-$(RELEASE); \
117             fi; \
118             mkdir ../$(TARGET)-$(RELEASE) || exit 1; \
119             cp -a . ../$(TARGET)-$(RELEASE) && cd .. && \
120                 tar --exclude '*/CVS*' \
121                     -cvzf $(TARGET)-$(RELEASE).tar.gz $(TARGET)-$(RELEASE); \
122         fi
123
124 # print the version, as I usually forget to update it when distributing
125 printv:
126         @grep -n VERSION $(HEADER) /dev/null
127         @grep -n set.version doc/doc.$(TARGET) /dev/null
128         @grep -n dpkg.-i INSTALL /dev/null
129
130 # and this is how I make the distribution
131 distrib: $(INFO) distclean tar printv
132
133
134 .PHONY: all install uninstall mostlyclean clean disclean depend \
135         tar printv distrib
136
137 # Only if make is gmake, have a rule to conditionally include .depend
138 @GMAKEDEPEND0@
139 @GMAKEDEPEND1@
140 @GMAKEDEPEND2@
141