File: Makefile.linux

package info (click to toggle)
workman 1.3.4-9
  • links: PTS
  • area: main
  • in suites: woody
  • size: 1,164 kB
  • ctags: 1,170
  • sloc: ansic: 14,491; makefile: 142; sh: 44
file content (131 lines) | stat: -rw-r--r-- 4,070 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# $Id: Makefile.linux,v 1.3.4.1 1999/01/15 08:47:35 dirk Exp $
# 
# *sweat* ... This makefile is prone to confuse your development system.
#
#         _please_ send any corrections to milliByte@DeathsDoor if this
#         does not work as is.
#

# Set these to the locations of your XView include files and libraries.
# All directories changes to comply with the FHS by Debian maintainer
INCDIR = /usr/X11R6/include
LIBDIR = /usr/X11R6/lib

# Location of the X libraries
XLIBDIR = /usr/X11R6/lib

# Set these to the directory names in which to install the software and
# help files.
BINDIR = /usr/bin
# This should point to /usr/share/openwin/help in the future but
# it can be changed only when supported by the xview library
HLPDIR = /usr/X11R6/lib/help

# Set this to the directory containing manual pages.  Manual pages will only
# be installed if you "make install.man".
MANDIR = /usr/share/man

# Set these to the manual sections (e.g. 1, 4, 5, l) for the program and
# database file manual pages, respectively.
PEXT = 1
DEXT = 5

#
# Uncomment and adjust the following if you want fast database lookups using
# the Berkeley libdb code.  You can find libdb on ftp.cs.berkeley.edu in the
# /ucb/4bsd directory.  Make sure you adjust the last part of DBCFLAGS
# to match your system type as listed in libdb's PORT directory.
# Sorry for the bad configurability this time...
#

#DBCFLAGS = -DLIBDB -Idb.1.85/PORT/include -Idb.1.85/PORT/linux
#DBLIB = db.1.85/PORT/linux/libdb.a

# And don't worry about anything from this line on.

############################################################################
# Parameters.

PROGRAM = workman
SOURCES.c = workman_stubs.c database.c cdinfo.c display.c setup.c \
	ui_cdinfo.c plat_sun.c plat_hpux.c plat_linux.c plat_news.c \
	plat_bsd386.c plat_ultrix.c cdrom.c scsi.c drv_toshiba.c drv_sony.c \
	plat_svr4.c plat_freebsd.c plat_osf1.c plat_irix.c \
	ui_goodies.c cddb.c index.c

SOURCES.h = struct.h workman_ui.h ui_cdinfo.h setup.h workman_stubs.h \
	display.h config.h proto.h cdrom.h plat_.h database.h \
	index.h scsi.h cdinfo.h

OBJECTS = \
	$(SOURCES.c:%.c=%.o)

WBPROGRAM = workbone
WBSOURCES.c = workbone.c cdinfo.c \
	plat_sun.c plat_hpux.c plat_linux.c plat_news.c \
	plat_bsd386.c plat_ultrix.c cdrom.c scsi.c drv_toshiba.c drv_sony.c \
	plat_svr4.c plat_freebsd.c plat_osf1.c plat_irix.c index.c

WBSOURCES.h = struct.h workbone.h config.h proto.h cdrom.h plat_.h \
	database.h cdinfo.h

WBOBJECTS = \
	$(WBSOURCES.c:%.c=%.o)

# Compiler flags.

CFLAGS = -O2 -Wall $(PASS) -I$(INCDIR) # -fwritable-strings
CPPFLAGS = -I$(INCDIR)
LDFLAGS = -L$(LIBDIR) -L$(XLIBDIR) $(LIBLOC)
LDLIBS = -lxview -lolgx -lX11
WBLDLIBS =
CC = gcc $(CFLAGS)

# Standard targets.

all:	 $(PROGRAM) $(PROGRAM).doc workmandb.doc

$(PROGRAM): $(SOURCES.c) $(OBJECTS)
	$(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LDLIBS)

$(WBPROGRAM): $(WBSOURCES.c) $(WBOBJECTS)
	$(CC) $(LDFLAGS) -o $@ $(WBOBJECTS) $(WBLDLIBS)

buildindex: buildindex.c
	$(CC) $(LDFLAGS) $(CFLAGS) $(DBCFLAGS) $< $(DBLIB) -o $@

clean:
	$(RM) $(OBJECTS) *.BAK *.delta core
	$(RM) $(PROGRAM).doc workmandb.doc

install: $(PROGRAM)
	cp $(PROGRAM) $(BINDIR)

#	chown root $(BINDIR)/$(PROGRAM)
#	chmod 4755 $(BINDIR)/$(PROGRAM)

	cp $(PROGRAM).info $(HLPDIR)
	chmod 644 $(HLPDIR)/$(PROGRAM).info

install.man: workman.man workmandb.man $(MANDIR)/man$(PEXT) $(MANDIR)/man$(DEXT)
	cp workman.man $(MANDIR)/man$(PEXT)/workman.$(PEXT)
	chmod 644 $(MANDIR)/man$(PEXT)/workman.$(PEXT)
	cp workmandb.man $(MANDIR)/man$(DEXT)/workmandb.$(DEXT)
	chmod 644 $(MANDIR)/man$(DEXT)/workmandb.$(DEXT)

display.o: display.c workman_ui.h
setup.o: setup.c workman_ui.h
workman_stubs.o: workman_stubs.c workman_ui.h
ui_cdinfo.o: ui_cdinfo.c workman_ui.h
# This next one isn't completely true, but close enough
# $(OBJECTS): struct.h config.h
$(OBJECTS): $(SOURCES.h)
$(WBOBJECTS): $(WBSOURCES.h)

index.o: index.c
	$(CC) $(CFLAGS) $(DBCFLAGS) -c $<

$(PROGRAM).doc: $(PROGRAM).man
	nroff -man $(PROGRAM).man > $(PROGRAM).doc
workmandb.doc: workmandb.man
	nroff -man workmandb.man > workmandb.doc