1include ../common.mk 2 3PACKAGE ?= gkrellm 4 5INSTALLDIR ?= $(INSTALLROOT)/bin 6MANDIR ?= $(INSTALLROOT)/share/man/man1 7 8X11_LIBS ?= -L/usr/X11R6/lib -lX11 -lSM -lICE 9MATH_LIB ?= -lm 10 11ifeq ($(without-gnutls),1) 12 CONFIGURE_ARGS += --without-gnutls 13endif 14ifeq ($(without-gnutls),yes) 15 CONFIGURE_ARGS += --without-gnutls 16endif 17ifeq ($(without-ssl),1) 18 CONFIGURE_ARGS += --without-ssl 19endif 20ifeq ($(without-ssl),yes) 21 CONFIGURE_ARGS += --without-ssl 22endif 23ifeq ($(without-libsensors),yes) 24 CONFIGURE_ARGS += --without-libsensors 25endif 26ifeq ($(without-libsensors),1) 27 CONFIGURE_ARGS += --without-libsensors 28endif 29ifeq ($(without-ntlm),yes) 30 CONFIGURE_ARGS += --without-ntlm 31endif 32ifeq ($(without-ntlm),1) 33 CONFIGURE_ARGS += --without-ntlm 34endif 35# run configure shell script 36DUMMY_VAR := $(shell env OPENSSLINC=$(OPENSSLINC) OPENSSLLIB=$(OPENSSLLIB) \ 37 ./configure $(CONFIGURE_ARGS)) 38# pull in variables set by configure script 39include configure.mk 40 41# Only use own md5-code if neither OpenSSL nor GnuTLS are present 42ifneq ($(HAVE_SSL),1) 43 EXTRAOBJS += md5c.o 44endif 45 46GKRELLM_INCLUDES = gkrellm.h gkrellm-public-proto.h $(SHARED_PATH)/log.h 47 48PKG_INCLUDE := $(shell $(PKG_CONFIG) --cflags gtk+-2.0 gmodule-2.0 gmodule-2.0 gthread-2.0) 49PKG_LIB := $(shell $(PKG_CONFIG) --libs gtk+-2.0 gmodule-2.0 gmodule-2.0 gthread-2.0) 50 51FLAGS = -I.. -I$(SHARED_PATH) $(PKG_INCLUDE) $(GTOP_INCLUDE) $(PTHREAD_INC)\ 52 ${SSL_INCLUDE} ${NTLM_INCLUDE} -DGKRELLM_CLIENT 53 54LIBS = $(PKG_LIB) $(GTOP_LIBS) $(X11_LIBS) $(SYS_LIBS) $(SSL_LIBS) $(SENSORS_LIBS)\ 55 $(NTLM_LIBS) $(MATH_LIB) 56 57ifeq ($(debug),1) 58 FLAGS += -g 59endif 60ifeq ($(debug),yes) 61 FLAGS += -g 62endif 63 64ifeq ($(profile),1) 65 FLAGS += -g -pg 66endif 67ifeq ($(profile),yes) 68 FLAGS += -g -pg 69endif 70 71ifeq ($(enable_nls),1) 72 FLAGS += -DENABLE_NLS -DLOCALEDIR=\"$(LOCALEDIR)\" 73endif 74ifeq ($(enable_nls),yes) 75 FLAGS += -DENABLE_NLS -DLOCALEDIR=\"$(LOCALEDIR)\" 76endif 77 78ifneq ($(PACKAGE),gkrellm) 79 FLAGS += -DPACKAGE=\"$(PACKAGE)\" 80endif 81 82ifeq ($(HAVE_GETADDRINFO),1) 83 FLAGS += -DHAVE_GETADDRINFO 84endif 85 86 87OBJS = main.o alerts.o battery.o base64.o clock.o cpu.o disk.o fs.o \ 88 hostname.o inet.o mail.o mem.o net.o proc.o sensors.o uptime.o \ 89 chart.o panel.o config.o gui.o krell.o plugins.o pixops.o \ 90 client.o utils.o sysdeps-unix.o deprecated.o log.o 91 92UNIXOBJS = winops-x11.o 93 94all: gkrellm$(BINEXT) 95 96gkrellm$(BINEXT): check_env $(OBJS) $(UNIXOBJS) $(EXTRAOBJS) 97 $(CC) $(OBJS) $(UNIXOBJS) $(EXTRAOBJS) -o $@ \ 98 $(LDFLAGS) $(LIBS) $(LINK_FLAGS) 99 100static: check_env $(OBJS) $(UNIXOBJS) $(EXTRAOBJS) 101 $(CC) $(OBJS) $(UNIXOBJS) $(EXTRAOBJS) -o gkrellm.static -static \ 102 $(LDFLAGS) $(LIBS) $(LINK_FLAGS) 103 104freebsd2: 105ifeq ($(HAVE_SSL),1) 106 $(MAKE) EXTRAOBJS= SYS_LIBS="-lkvm" gkrellm 107else 108 $(MAKE) EXTRAOBJS= SYS_LIBS="-lkvm " gkrellm 109endif 110 111freebsd3 freebsd4: 112ifeq ($(HAVE_SSL),1) 113 $(MAKE) EXTRAOBJS= SYS_LIBS="-lkvm -ldevstat" gkrellm 114else 115 $(MAKE) EXTRAOBJS= SYS_LIBS="-lkvm -ldevstat " gkrellm 116endif 117 118freebsd5 freebsd6 freebsd7 freebsd8 freebsd9 freebsd: 119ifeq ($(HAVE_SSL),1) 120 $(MAKE) EXTRAOBJS= SYS_LIBS="-ldevstat" gkrellm 121else 122 $(MAKE) EXTRAOBJS= SYS_LIBS="-ldevstat " gkrellm 123endif 124 125# Darwin target for systems that still have libkvm 126darwin: 127ifeq ($(HAVE_SSL),1) 128 $(MAKE) STRIP= HAVE_GETADDRINFO=1 \ 129 EXTRAOBJS= \ 130 SYS_LIBS="-framework CoreFoundation -framework IOKit -lkvm" \ 131 LINK_FLAGS="-Wl,-bind_at_load" \ 132 gkrellm 133else 134 $(MAKE) STRIP= HAVE_GETADDRINFO=1 \ 135 EXTRAOBJS= \ 136 SYS_LIBS="-framework CoreFoundation -framework IOKit -lkvm -lmd5" \ 137 LINK_FLAGS="-Wl,-bind_at_load" \ 138 gkrellm 139endif 140 141# Mac OS X target with X11-based Gtk+ 142darwin9: 143 $(MAKE) STRIP= HAVE_GETADDRINFO=1 \ 144 EXTRAOBJS= \ 145 SYS_LIBS="-framework CoreFoundation -framework IOKit" \ 146 LINK_FLAGS="-Wl,-bind_at_load" \ 147 gkrellm 148 149# Mac OS X target with Quartz-based Gtk+ (experimental) 150macosx: 151 $(MAKE) STRIP= HAVE_GETADDRINFO=1 \ 152 EXTRAOBJS="winops-gtk-mac.o" \ 153 SYS_LIBS="-framework CoreFoundation -framework IOKit" \ 154 LINK_FLAGS="-Wl,-bind_at_load" \ 155 X11_LIBS="" \ 156 UNIXOBJS="" \ 157 gkrellm 158 159netbsd1: 160 $(MAKE) EXTRAOBJS= SYS_LIBS="-lkvm" \ 161 X11_LIBS="-L/usr/X11R6/lib -lX11 -lSM -lICE -Wl,-R/usr/X11R6/lib" \ 162 gkrellm 163netbsd2: 164 $(MAKE) EXTRAOBJS= SYS_LIBS="-lkvm -pthread" \ 165 X11_LIBS="-L/usr/X11R6/lib -lX11 -lSM -lICE -R/usr/X11R6/lib" \ 166 gkrellm 167 168openbsd: 169 $(MAKE) GTOP_LIBS= SYS_LIBS="-lkvm -pthread" gkrellm 170 171solaris: 172 $(MAKE) CFLAGS="-Wno-implicit-int" \ 173 SYS_LIBS="-lkstat -lkvm -ldevinfo" gkrellm 174 175windows: libgkrellm.a 176 $(MAKE) \ 177 BINEXT=".exe" \ 178 CFLAGS="${CFLAGS} -D_WIN32_WINNT=0x0501 -DWINVER=0x0501 -DWIN32_LEAN_AND_MEAN" \ 179 LINK_FLAGS="-mwindows -Wl,--dynamicbase -Wl,--nxcompat" \ 180 EXTRAOBJS="${EXTRAOBJS} winops-win32.o win32-plugin.o win32-resource.o" \ 181 SYS_LIBS="-lws2_32 -lwtsapi32 -lpdh -lnetapi32 -liphlpapi -lintl" \ 182 X11_LIBS="" \ 183 UNIXOBJS="" \ 184 all 185 186install: install_bin install_inc install_man 187 188install_bin: 189 $(INSTALL) -d -m $(INSTALLDIRMODE) $(DESTDIR)$(INSTALLDIR) 190 $(INSTALL) -c $(STRIP) -m $(BINMODE) $(PACKAGE)$(BINEXT) $(DESTDIR)$(INSTALLDIR)/$(PACKAGE)$(BINEXT) 191 192install_inc: 193 $(INSTALL) -d -m $(INCLUDEDIRMODE) $(DESTDIR)$(INCLUDEDIR)/gkrellm2 194 $(INSTALL) -c -m $(INCLUDEMODE) $(GKRELLM_INCLUDES) $(DESTDIR)$(INCLUDEDIR)/gkrellm2 195 196install_man: 197 $(INSTALL) -d -m $(MANDIRMODE) $(DESTDIR)$(MANDIR) 198 $(INSTALL) -c -m $(MANMODE) ../gkrellm.1 $(DESTDIR)$(MANDIR)/$(PACKAGE).1 199 200uninstall: 201 $(RM) $(INSTALLDIR)/$(PACKAGE) 202 $(RM) -r $(INCLUDEDIR)/gkrellm2 203 $(RM) $(MANDIR)/$(PACKAGE).1 204 $(RM) $(LIBDIR)/libgkrellm.a 205 206install_darwin install_darwin9 install_macosx: 207 $(MAKE) install STRIP= 208 209install_freebsd: 210 $(MAKE) install 211 chgrp kmem $(INSTALLDIR)/$(PACKAGE) 212 chmod g+s $(INSTALLDIR)/$(PACKAGE) 213 214install_netbsd: 215 $(MAKE) MANDIR="$(INSTALLROOT)/man/man1" install 216 217install_openbsd: 218 $(MAKE) install 219 chgrp kmem $(INSTALLDIR)/$(PACKAGE) 220 chmod g+sx $(INSTALLDIR)/$(PACKAGE) 221 222install_solaris: 223 $(MAKE) install INSTALL=/usr/ucb/install 224 chgrp sys $(INSTALLDIR)/$(PACKAGE) 225 chmod g+s $(INSTALLDIR)/$(PACKAGE) 226 227install_windows: windows 228 $(MAKE) BINEXT=".exe" install_bin install_inc 229 $(INSTALL) -d -m $(LIBDIRMODE) $(LIBDIR) 230 $(INSTALL) -c -m $(BINMODE) libgkrellm.a $(LIBDIR) 231 232clean: 233 $(RM) *.o *~ *.bak configure.h configure.mk configure.log gkrellm gkrellm.exe \ 234 libgkrellm.a sysdeps/*.o core 235 236IMAGES = \ 237 ../pixmaps/frame_top.xpm \ 238 ../pixmaps/frame_bottom.xpm \ 239 ../pixmaps/frame_left.xpm \ 240 ../pixmaps/frame_right.xpm \ 241 \ 242 ../pixmaps/button_panel_out.xpm \ 243 ../pixmaps/button_panel_in.xpm \ 244 ../pixmaps/button_meter_out.xpm \ 245 ../pixmaps/button_meter_in.xpm \ 246 \ 247 ../pixmaps/bg_chart.xpm \ 248 ../pixmaps/bg_grid.xpm \ 249 ../pixmaps/bg_panel.xpm \ 250 ../pixmaps/bg_meter.xpm \ 251 \ 252 ../pixmaps/data_in.xpm \ 253 ../pixmaps/data_in_grid.xpm \ 254 ../pixmaps/data_out.xpm \ 255 ../pixmaps/data_out_grid.xpm \ 256 \ 257 ../pixmaps/net/decal_net_leds.xpm \ 258 ../pixmaps/decal_misc.xpm \ 259 ../pixmaps/decal_alarm.xpm \ 260 ../pixmaps/decal_warn.xpm \ 261 \ 262 ../pixmaps/krell_panel.xpm \ 263 ../pixmaps/krell_meter.xpm \ 264 ../pixmaps/krell_slider.xpm \ 265 ../pixmaps/krell_mini.xpm \ 266 ../pixmaps/fs/bg_panel.xpm \ 267 ../pixmaps/host/bg_panel.xpm \ 268 ../pixmaps/mail/decal_mail.xpm \ 269 ../pixmaps/mail/krell_mail.xpm \ 270 ../pixmaps/mail/krell_mail_daemon.xpm \ 271 ../pixmaps/timer/bg_panel.xpm \ 272 ../pixmaps/timer/bg_timer.xpm \ 273 ../pixmaps/timer/decal_timer_button.xpm \ 274 ../pixmaps/uptime/bg_panel.xpm \ 275 \ 276 ../pixmaps/gkrellmms/bg_panel.xpm \ 277 ../pixmaps/gkrellmms/spacer_top.xpm \ 278 ../pixmaps/gkrellmms/spacer_bottom.xpm \ 279 ../pixmaps/gkrellmms/bg_scroll.xpm \ 280 ../pixmaps/pmu/bg_panel.xpm \ 281 ../pixmaps/pmu/spacer_top.xpm \ 282 ../pixmaps/pmu/spacer_bottom.xpm \ 283 ../pixmaps/volume/bg_panel.xpm \ 284 ../pixmaps/volume/spacer_top.xpm \ 285 ../pixmaps/volume/spacer_bottom.xpm \ 286 ../pixmaps/bg_separator.xpm 287 288SYSDEPS_SRC = sysdeps/bsd-common.c sysdeps/bsd-net-open.c sysdeps/freebsd.c \ 289 sysdeps/gtop.c sysdeps/linux.c sysdeps/netbsd.c sysdeps/openbsd.c \ 290 sysdeps/solaris.c sysdeps/darwin.c sysdeps/sensors-common.c \ 291 sysdeps/dragonfly.c sysdeps/win32.c sysdeps/win32-sensors.c 292 293GKRELLM_H = gkrellm.h gkrellm-private.h 294GKRELLM_H_SYS = gkrellm.h gkrellm-public-proto.h gkrellm-private.h \ 295 gkrellm-sysdeps.h 296 297main.o: main.c $(GKRELLM_H) 298alerts.o: alerts.c $(GKRELLM_H) 299battery.o: battery.c $(GKRELLM_H_SYS) 300base64.o: base64.c 301clock.o: clock.c $(GKRELLM_H_SYS) 302cpu.o: cpu.c $(GKRELLM_H_SYS) 303disk.o: disk.c $(GKRELLM_H_SYS) 304fs.o: fs.c $(GKRELLM_H_SYS) 305hostname.o: hostname.c $(GKRELLM_H_SYS) 306inet.o: inet.c $(GKRELLM_H_SYS) 307mail.o: mail.c md5.h $(GKRELLM_H_SYS) 308md5c.o: md5.h 309mem.o: mem.c $(GKRELLM_H_SYS) 310net.o: net.c $(GKRELLM_H_SYS) 311proc.o: proc.c $(GKRELLM_H_SYS) 312sensors.o: sensors.c $(GKRELLM_H_SYS) ../pixmaps/sensors/bg_volt.xpm 313uptime.o: uptime.c $(GKRELLM_H_SYS) 314chart.o: chart.c $(GKRELLM_H) 315panel.o: panel.c $(GKRELLM_H) 316config.o: config.c $(GKRELLM_H) $(IMAGES) 317krell.o: krell.c $(GKRELLM_H) 318gui.o: gui.c $(GKRELLM_H) 319plugins.o: plugins.c $(GKRELLM_H) 320pixops.o: pixops.c $(GKRELLM_H) 321client.o: client.c $(GKRELLM_H) 322utils.o: utils.c $(GKRELLM_H) 323sysdeps-unix.o: sysdeps-unix.c $(GKRELLM_H_SYS) $(SYSDEPS_SRC) 324log.o: $(SHARED_PATH)/log.c $(SHARED_PATH)/log.h $(GKRELLM_H) 325deprecated.o: deprecated.c $(GKRELLM_H) 326 327winops-x11.o: winops-x11.c $(GKRELLM_H) 328winops-gtk-mac.o: winops-gtk-mac.c $(GKRELLM_H) 329winops-win32.o: winops-win32.c $(GKRELLM_H) 330 331win32-plugin.o: win32-plugin.c win32-plugin.h 332win32-libgkrellm.o: win32-libgkrellm.c win32-plugin.h 333win32-resource.o: win32-resource.rc win32-resource.h 334 $(WINDRES) $< -o $@ 335 336libgkrellm.a: win32-libgkrellm.o 337 $(AR) -cr libgkrellm.a win32-libgkrellm.o 338 339# Checks if the build environment is ok 340check_env: 341 $(PKG_CONFIG) --atleast-version=2.32 glib-2.0 342 $(PKG_CONFIG) --atleast-version=2.4 gtk+-2.0 343