File: Makefile.linux

package info (click to toggle)
workman 1.3a-8
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 944 kB
  • ctags: 745
  • sloc: ansic: 9,810; makefile: 137; sh: 27
file content (111 lines) | stat: -rw-r--r-- 3,254 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
# @(#)Makefile.linux	1.11 04 Jun 1995

#
# Uncomment the following line to have WorkMan send SCSI commands directly to
# the CD-ROM drive.  If you have a SCSI drive you probably want this, but it
# will cause WorkMan to not work on IDE drives.
#
#PASS = -DLINUX_SCSI_PASSTHROUGH
#
# 
# comment the following out to disable the hack
# see README.linux for more details
#
HACK = -DSBPCD_HACK

# Set these to the locations of your XView include files and libraries.
INCDIR = $(OPENWINHOME)/include
LIBDIR = $(OPENWINHOME)/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 = $(OPENWINHOME)/bin
HLPDIR = $(OPENWINHOME)/lib/help

# Set this to the directory containing manual pages.  Manual pages will only
# be installed if you "make install.man".
MANDIR = $(OPENWINHOME)/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 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.
#

#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 index.c
SOURCES.h = struct.h workman_ui.h

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

# Compiler flags.

CFLAGS = -g -O6 -m486 -fwritable-strings -Dlinux $(PASS) $(HACK)
CPPFLAGS = -I$(INCDIR)
LDFLAGS = -L$(LIBDIR) -L$(XLIBDIR) $(LIBLOC)
LDLIBS = -lxview -lolgx -lXext -lX11
CC = gcc

# Standard targets.

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

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

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

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

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

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