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