1# include Husky-Makefile-Config
2ifeq ($(DEBIAN), 1)
3include /usr/share/husky/huskymak.cfg
4else ifdef RPM_BUILD_ROOT
5# RPM build requires all files to be in the source directory
6include huskymak.cfg
7else
8include ../huskymak.cfg
9endif
10
11ifndef ISOPT
12# install scripts options
13  ISOPT = -c -m 555
14endif
15
16# program settings
17CINCL = -Ifidoconf -I$(INCDIR)
18
19ifeq ($(DEBUG), 1)
20  CFLAGS += $(WARNFLAGS) $(DEBCFLAGS)
21  LFLAGS += $(DEBLFLAGS)
22else
23  CFLAGS += $(WARNFLAGS) $(OPTCFLAGS)
24  LFLAGS += $(OPTLFLAGS)
25endif
26
27LFLAGS += -L$(LIBDIR)
28
29ifndef EXENAMEFLAG
30  EXENAMEFLAG=-o
31endif
32
33CDEFS=-D$(OSTYPE) $(ADDCDEFS) -DCFGDIR=\"$(CFGDIR)\"
34ifdef CFGNAME
35CDEFS+= -DCFGNAME=\"$(CFGNAME)\"
36endif
37
38# Use -DVSPRINTF_ONLY on systems without vsnprintf() and snprintf()
39# Use this for sunOs 2.5.1 (Thanks to Serguei Revtov)
40#CDEFS	+= -DVSPRINTF_ONLY
41
42ifdef DIRSEP
43CDEFS+= -DPATH_DELIM=\'$(DIRSEP)\'
44endif
45
46ifeq ($(OSTYPE), UNIX)
47  LIBPREFIX=lib
48endif
49
50# filename settings
51ifeq ($(SHORTNAMES), 1)
52  CDEFS = $(CDEFS) -DSHORTNAMES
53endif
54
55_SRC_DIR = src/
56
57ifeq ($(OSTYPE), UNIX)
58  LIBPREFIX=lib
59  DLLPREFIX=lib
60endif
61
62TARGET = $(TARGETDLL).$(VER)
63
64default: all
65
66ifeq ($(SHORTNAMES), 1)
67include make/fn_short.inc
68else
69include make/fn_long.inc
70endif
71include make/makefile.inc
72include makefile.in2
73TARGETLIB = $(LIBPREFIX)$(LIBNAME)$(LIBSUFFIX)$(_LIB)
74TARGETDLL = $(DLLPREFIX)$(LIBNAME)$(DLLSUFFIX)$(_DLL)
75LIBS=-lhusky
76
77progs: commonprogs
78
79ifeq ($(DYNLIBS), 1)
80  all: commonlibs $(TARGETDLL).$(VER)
81	$(MAKE) progs
82	(cd doc && $(MAKE) all)
83else
84  TARGET = $(TARGETLIB)
85  all: commonlibs
86	$(MAKE) progs
87	(cd doc && $(MAKE) all)
88endif
89
90
91ifeq (~$(MKSHARED)~, ~ld~)
92$(TARGETDLL).$(VER): $(LOBJS)
93	$(LD) $(LFLAGS) $(EXENAMEFLAG) $(TARGETDLL).$(VER) $(LOBJS) $(LIBS)
94else
95$(TARGETDLL).$(VER): $(LOBJS)
96	$(CC) $(LFLAGS) -shared -Wl,-soname,$(TARGETDLL).$(VERH) \
97	-o $(TARGETDLL).$(VER) $(LOBJS) $(LIBS)
98endif
99	$(LN) $(LNOPT) $(TARGETDLL).$(VER) $(TARGETDLL).$(VERH) ;\
100	$(LN) $(LNOPT) $(TARGETDLL).$(VER) $(TARGETDLL)
101
102
103clean: commonclean
104	-$(RM) $(RMOPT) $(TARGETDLL).$(VERH)
105	-$(RM) $(RMOPT) $(TARGETDLL)
106	(cd doc && $(MAKE) clean)
107
108distclean: commondistclean
109	-$(RM) $(RMOPT) $(TARGETDLL)*
110	(cd doc && $(MAKE) distclean)
111
112
113ifeq ($(DYNLIBS), 1)
114instdyn: $(TARGETLIB) $(TARGETDLL).$(VER)
115	-$(MKDIR) $(MKDIROPT) $(DESTDIR)$(LIBDIR)
116	$(INSTALL) $(ILOPT) $(TARGETDLL).$(VER) $(DESTDIR)$(LIBDIR)
117	-$(RM) $(RMOPT) $(DESTDIR)$(LIBDIR)$(DIRSEP)$(TARGETDLL).$(VERH)
118	-$(RM) $(RMOPT) $(DESTDIR)$(LIBDIR)$(DIRSEP)$(TARGETDLL)
119# Removed path from symlinks.
120	cd $(DESTDIR)$(LIBDIR) ;\
121	$(LN) $(LNOPT) $(TARGETDLL).$(VER) $(TARGETDLL).$(VERH) ;\
122	$(LN) $(LNOPT) $(TARGETDLL).$(VER) $(TARGETDLL)
123ifneq (~$(LDCONFIG)~, ~~)
124	$(LDCONFIG)
125endif
126
127else
128instdyn: commonlibs
129endif
130
131
132install: commonlibs progs instdyn
133	-$(MKDIR) $(MKDIROPT) $(DESTDIR)$(BINDIR)
134	-$(MKDIR) $(MKDIROPT) $(DESTDIR)$(INCDIR)/fidoconf
135	-$(MKDIR) $(MKDIROPT) $(DESTDIR)$(LIBDIR)
136	$(INSTALL) $(IBOPT) $(PROGRAMS) $(DESTDIR)$(BINDIR)
137	$(INSTALL) $(IBOPT) linked$(_EXE) $(DESTDIR)$(BINDIR)
138	$(INSTALL) $(IBOPT) tparser$(_EXE) $(DESTDIR)$(BINDIR)
139ifeq (${OSTYPE}, UNIX)
140	$(INSTALL) $(ISOPT) util/linkedto $(DESTDIR)$(BINDIR)
141endif
142	$(INSTALL) $(ISOPT) util/fconf2na.pl util/sq2fc.pl $(DESTDIR)$(BINDIR)
143	$(INSTALL) $(ISOPT) util/fconf2areasbbs.pl $(DESTDIR)$(BINDIR)
144	cd fidoconf ; $(INSTALL) $(IIOPT) $(HEADERS) $(DESTDIR)$(INCDIR)/fidoconf
145	$(INSTALL) $(ISLOPT) $(TARGETLIB) $(DESTDIR)$(LIBDIR)
146	(cd doc && $(MAKE) install)
147	@echo
148	@echo "*** For install man pages run 'gmake install-man' (unixes only)"
149	@echo
150
151install-man:
152	(cd man && $(MAKE) install)
153
154uninstall:
155	-cd $(DESTDIR)$(BINDIR) ;\
156	-$(RM) $(RMOPT) $(PROGRAMS) linked$(_EXE) tparser$(_EXE) linkedto \
157	fconf2na.pl fconf2areasbbs.pl sq2fc.pl
158	-cd $(DESTDIR)$(INCDIR)/fidoconf ;\
159	-$(RM) $(RMOPT) $(HEADERS)
160	-$(RM) $(RMOPT) $(DESTDIR)$(LIBDIR)/$(TARGETLIB)
161	-$(RM) $(RMOPT) $(DESTDIR)$(LIBDIR)/$(TARGETDLL)*
162	-(cd doc && $(MAKE) uninstall)
163	-(cd man && $(MAKE) uninstall)
164