XEphem/GUI/xephem/Makefile

216 lines
5.4 KiB
Makefile

# Sample Makefile for xephem v3.7
# Sample compile and link flags for a few systems. Find your system or similar
# and uncomment as required. The default is for linux or Mac OS X systems.
# The only real challenge usually is to set the MOTIFI and MOTIFL macros.
# The basic idea to build XEphem is to first go compile the libraries in
# ../../lib* then come back here and compile and link all the *.c files into
# one executable, xephem.
# These -I and -L flags point to the supporting XEphem libraries
LIBINC = -I../../libastro -I../../libip -I../../liblilxml -I../../libjpegd -I../../libpng -I../../libz
LIBLNK = -L../../libastro -L../../libip -L../../liblilxml -L../../libjpegd -L../../libpng -L../../libz
LIBLIB = -lastro -lip -llilxml -ljpegd -lpng -lz
# MOTIFI is the directory containing the Xm directory of include files.
# MOTIFL is the directory containing the libXm.a library.
# MOTIF can be used to set one common directory if appropriate.
# On 64 bit systems, try MOTIFI = /usr/include and MOTIFL = /usr/lib64
ifdef MOTIF
MOTIFI = $(MOTIF)
MOTIFL = $(MOTIF)
endif
ifndef MOTIFI
MOTIFI = /usr/include
endif
ifndef MOTIFL
MOTIFL = /usr/lib
endif
# For Linux and Apple OS X
UNAME_S = $(shell uname -s)
ifeq ($(UNAME_S),Darwin)
PLATI = -I/usr/local/opt/openssl@3/include -I/opt/X11/include
PLATL = -L/usr/local/opt/openssl@3/lib -L/opt/X11/lib
endif
CC = gcc
CLDFLAGS = -g
CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -Wall -I$(MOTIFI) $(PLATI)
LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) $(PLATL)
XLIBS = -lXm -lXt -lXext -lXmu -lX11
LIBS = $(XLIBS) $(LIBLIB) -lm -lssl
# static linking on Apple using X11 libs from ports
# CC = gcc
# OLI = /opt/local/include
# OLL = /opt/local/lib
# CLDFLAGS = -g
# CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -Wall -I$(MOTIFI) -I$(OLI)
# LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L$(OLL)
# XLIBS = -lXm $(OLL)/libXp.a $(OLL)/libXt.a $(OLL)/libSM.a $(OLL)/libICE.a $(OLL)/libXext.a $(OLL)/libXmu.a $(OLL)/libX11.a $(OLL)/libxcb.a $(OLL)/libXau.a $(OLL)/libXdmcp.a
# LIBS = $(XLIBS) $(LIBLIB) -lm -lssl
# for ppc Apple OS X to make universal (i386 and ppc binary), requires
# Xcode 2.2, /Developers/SDK/MacOSX10.4u.sdk and all libs, including libXm,
# built similarly
# CLDFLAGS = -arch i386 -arch ppc
# CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -Wall -isysroot /Developer/SDKs/MacOSX10.4u.sdk -I$(MOTIFI) -I/usr/X11R6/include
# LDFLAGS = $(LIBLNK) $(CLDFLAGS) -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -L$(MOTIFL) -L/usr/X11R6/lib
# MKS Enterprise toolkit
# MOTIFI = -I/usr/include
# MOTIFL = -L/usr/lib
# CC = cc
# CLDFLAGS =
# CFLAGS = $(LIBINC) $(CLDFLAGS) -O -I$(MOTIFI)
# LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -W/subsystem:windows -s
# XLIBS = -lXm -lXt -lX11
# LIBS = $(XLIBS) $(LIBLIB) -lm
# SVR4 derivatives:
# MOTIFI = -I/usr/include
# MOTIFL = -L/usr/lib
# CC = cc
# CLDFLAGS =
# CFLAGS = $(LIBINC) $(CLDFLAGS) -O -I$(MOTIFI)
# LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL)
# XLIBS = -lXm -lXt -lX11
# LIBS = $(XLIBS) $(LIBLIB) -lsocket -lnsl -lc -lm /usr/ucblib/libucb.a
# Note: if you get regex undefined, add -lgen to the end of LIBS.
# Solaris:
# Motif stuff might also be in /usr/dt/share/{include,lib}.
# be sure /opt/SUNWspro/bin and /usr/ccs/bin are in your PATH ahead of /usr/ucb.
# MOTIFI = -I/usr/dt/include
# MOTIFL = -L/usr/dt/lib -R/usr/dt/lib
# CC = cc
# CLDFLAGS =
# CFLAGS = $(LIBINC) $(CLDFLAGS) -O -I$(MOTIFI) -I/usr/openwin/include
# LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L/usr/openwin/lib
# XLIBS = -lXm -lXt -lX11
# LIBS = $(XLIBS) $(LIBLIB) -lm -lsocket -lnsl
# HP-UX
# MOTIFI = -I/usr/include
# MOTIFL = -L/usr/lib
# CC = cc
# CLDFLAGS =
# CFLAGS = $(LIBINC) $(CLDFLAGS) -Aa -fast -I$(MOTIFI)
# LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL)
# AIX
# MOTIFI = -I/usr/include
# MOTIFL = -L/usr/lib
# CC = xlc
# CLDFLAGS =
# CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -qlanglvl=ansi -qarch=com -qmaxmem=16384 -I$(MOTIFI)
# LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL)
.PRECIOUS: xephem
INCS = db.h dm.h indiapi.h map.h net.h patchlevel.h plot.h ps.h \
rotated.h sites.h skyeyep.h skyhist.h skyip.h skylist.h skytoolbar.h \
trails.h xephem.h
OBJS = \
aavso.o \
annotmenu.o \
broadcast.o \
calmenu.o \
closemenu.o \
compiler.o \
coordsmenu.o \
datamenu.o \
db.o \
dbmenu.o \
earthmap.o \
earthmenu.o \
fallbacks.o \
favmenu.o \
formats.o \
fsmenu.o \
gallerymenu.o \
glance.o \
gsc.o \
gscnet.o \
helpmenu.o \
homeio.o \
hznmenu.o \
indimenu.o \
imregmenu.o \
jpeg2pm.o \
jupmenu.o \
listmenu.o \
mainmenu.o \
marsmenu.o \
marsmmenu.o \
moonmenu.o \
moviemenu.o \
msgmenu.o \
netmenu.o \
objmenu.o \
obslog.o \
patchlevel.o \
plot_aux.o \
plotmenu.o \
preferences.o \
progress.o \
ps.o \
query.o \
rotated.o \
satmenu.o \
saveres.o \
scope.o \
sites.o \
skybinary.o \
skyeyep.o \
skyfifos.o \
skyfiltmenu.o \
skyfits.o \
skyhist.o \
skyip.o \
skylist.o \
skytoolbar.o \
skyviewmenu.o \
solsysmenu.o \
splash.o \
srchmenu.o \
sunmenu.o \
time.o \
tips.o \
trailmenu.o \
uranusmenu.o \
ucac.o \
usno.o \
versionmenu.o \
webdbmenu.o \
xe2.o \
xe3.o \
xephem.o \
xmisc.o
all: libs xephem xephem.1
xephem: $(INCS) $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
xephem.1: xephem.man
nroff -man $? > $@
libs:
cd ../../libastro; make
cd ../../libip; make
cd ../../libjpegd; make
cd ../../liblilxml; make
cd ../../libpng; make
cd ../../libz; make
clean:
rm -fr *.o ../../lib*/*.[ao]
clobber: clean
rm -fr xephem xephem.1