2 # Makefile for win32 apcupsd executables
3 # Using MinGW cross-compiler on GNU/Linux
5 # Modified from Bacula Makefile.in for apcupsd
6 # Kern Sibbald, April 2006
7 # Further modifications by Adam Kropelin
13 PARENT_DIR
= /root
/openwrt
/tomato.git-compile
/src
/router
14 TOPDIR
= /root
/openwrt
/tomato.git-compile
/src
/router
/apcupsd
15 CROSSTOOLS
= $(PARENT_DIR
)/cross-tools
16 MINGW
= $(CROSSTOOLS
)/mingw32
17 INCLUDE_MINGW
= -I
$(MINGW
)/mingw32
/include
18 INCLUDE_GCC
= -I
$(MINGW
)/lib
/gcc
/mingw32
/3.4.5/include
20 # By default we will use the winusb driver
21 # The other option is generic
24 DEPKGS
= $(PARENT_DIR
)/depkgs-win32
/libroot
26 INCLUDE_APC
= -I ..
/..
/include -I .
/compat
27 INCLUDE_PTHREADS
= -I
$(DEPKGS
)/include/pthread
28 INCLUDE_LIBUSB
= -I
$(DEPKGS
)/include
29 INCLUDE_NETSNMP
= -I
$(DEPKGS
)/include/net-snmp
30 INCLUDE_LIBUSBHID
= -I ..
/libusbhid
33 LIB_MINGW
= $(MINGW
)/mingw32
/lib
34 LIB_PTHREADS
= $(DEPKGS
)/lib
/pthreadGCE.dll
35 LIB_NETSNMP
= $(DEPKGS
)/lib
/libnetsnmp.a
37 ifeq ($(USBTYPE
),generic
)
38 LIB_LIBUSB
= $(DEPKGS
)/lib
/libusb.a
40 LIB_LIBUSB
= -lsetupapi
43 BIN_DIR
= $(MINGW
)/bin
52 $(INCLUDE_LIBUSBHID
) \
60 -DHAVE_APCSMART_DRIVER \
66 -DHAVE_SNMPLITE_DRIVER
74 CC
= $(BIN_DIR
)/mingw32-gcc
-O2
$(DEFINES
) $(INCLUDES
)
75 CXX
= $(BIN_DIR
)/mingw32-g
++ -O2
$(DEFINES
) $(INCLUDES
)
76 WINDRES
= $(BIN_DIR
)/mingw32-windres
77 MAKENSIS
= $(BIN_DIR
)/makensis
78 STRIP
= $(BIN_DIR
)/mingw32-strip
81 TEXTFILES
:= $(TOPDIR
)/COPYING \
83 $(TOPDIR
)/ReleaseNotes \
84 $(wildcard $(TOPDIR
)/doc
/*.txt
)
90 ######################################################################
92 # Files in src/win32/compat
99 $(OBJDIR
)/compat.o
: compat
/compat.
cpp
102 $(OBJDIR
)/winapi.o
: compat
/winapi.c
105 $(OBJDIR
)/netcompat.o
: compat
/netcompat.c
108 ######################################################################
112 $(OBJDIR
)/winservice.o \
115 $(OBJDIR
)/winmain.o
: winmain.
cpp
118 $(OBJDIR
)/winservice.o
: winservice.
cpp
121 ######################################################################
124 # Files files in src/lib
127 $(OBJDIR
)/apcconfig.o \
128 $(OBJDIR
)/apcerror.o \
129 $(OBJDIR
)/apcevents.o \
130 $(OBJDIR
)/apcexec.o \
131 $(OBJDIR
)/apcfile.o \
132 $(OBJDIR
)/apclibnis.o \
133 $(OBJDIR
)/apclock.o \
135 $(OBJDIR
)/apcsignal.o \
136 $(OBJDIR
)/apcstatus.o \
141 $(OBJDIR
)/inet_pton.o \
142 $(OBJDIR
)/statmgr.o \
144 $(OBJDIR
)/athread.o \
145 $(OBJDIR
)/astring.o \
148 $(OBJDIR
)/gethostname.o
151 # Rules for generating from ../lib
154 $(OBJDIR
)/apcconfig.o
: ..
/lib
/apcconfig.c
157 $(OBJDIR
)/apcerror.o
: ..
/lib
/apcerror.c
160 $(OBJDIR
)/apcevents.o
: ..
/lib
/apcevents.c
163 $(OBJDIR
)/apcexec.o
: ..
/lib
/apcexec.c
166 $(OBJDIR
)/apcfile.o
: ..
/lib
/apcfile.c
169 $(OBJDIR
)/apclibnis.o
: ..
/lib
/apclibnis.c
172 $(OBJDIR
)/apclock.o
: ..
/lib
/apclock.c
175 $(OBJDIR
)/apclog.o
: ..
/lib
/apclog.c
178 $(OBJDIR
)/apcsignal.o
: ..
/lib
/apcsignal.c
181 $(OBJDIR
)/apcstatus.o
: ..
/lib
/apcstatus.c
184 $(OBJDIR
)/asys.o
: ..
/lib
/asys.c
187 $(OBJDIR
)/newups.o
: ..
/lib
/newups.c
190 $(OBJDIR
)/md5.o
: ..
/lib
/md5.c
193 $(OBJDIR
)/sleep.o
: ..
/lib
/sleep.c
196 $(OBJDIR
)/inet_pton.o
: ..
/lib
/inet_pton.c
199 $(OBJDIR
)/statmgr.o
: ..
/lib
/statmgr.
cpp
202 $(OBJDIR
)/amutex.o
: ..
/lib
/amutex.
cpp
205 $(OBJDIR
)/athread.o
: ..
/lib
/athread.
cpp
208 $(OBJDIR
)/astring.o
: ..
/lib
/astring.
cpp
211 $(OBJDIR
)/atimer.o
: ..
/lib
/atimer.
cpp
214 $(OBJDIR
)/autil.o
: ..
/lib
/autil.
cpp
217 $(OBJDIR
)/gethostname.o
: ..
/lib
/gethostname.c
220 ######################################################################
222 # Files in src/drivers
226 $(OBJDIR
)/drivers.o
: ..
/drivers
/drivers.c
229 ######################################################################
231 # Files in src/drivers/test
233 $(OBJDIR
)/testdriver.o
235 $(OBJDIR
)/testdriver.o
: ..
/drivers
/test/testdriver.c
238 ######################################################################
240 # Files in src/drivers/pcnet
244 $(OBJDIR
)/pcnet.o
: ..
/drivers
/pcnet
/pcnet.c
247 ######################################################################
249 # Files in src/drivers/net
253 $(OBJDIR
)/net.o
: ..
/drivers
/net
/net.c
256 ######################################################################
258 # Files in src/drivers/apcsmart
261 $(OBJDIR
)/smartoper.o \
262 $(OBJDIR
)/smartsetup.o \
263 $(OBJDIR
)/smartsetup2.o \
264 $(OBJDIR
)/smarteeprom.o
266 $(OBJDIR
)/smart.o
: ..
/drivers
/apcsmart
/smart.c
269 $(OBJDIR
)/smartoper.o
: ..
/drivers
/apcsmart
/smartoper.c
272 $(OBJDIR
)/smartsetup.o
: ..
/drivers
/apcsmart
/smartsetup.c
275 $(OBJDIR
)/smartsetup2.o
: ..
/drivers
/apcsmart
/smartsetup2.c
278 $(OBJDIR
)/smarteeprom.o
: ..
/drivers
/apcsmart
/smarteeprom.c
281 ######################################################################
283 # Files in src/drivers/dumb
285 $(OBJDIR
)/dumboper.o \
286 $(OBJDIR
)/dumbsetup.o
288 $(OBJDIR
)/dumboper.o
: ..
/drivers
/dumb
/dumboper.c
291 $(OBJDIR
)/dumbsetup.o
: ..
/drivers
/dumb
/dumbsetup.c
294 ######################################################################
296 # Files needed for usb driver
299 $(OBJDIR
)/generic-usb.o \
301 $(OBJDIR
)/hidutils.o \
307 # DIRTY UGLY HACK ALERT! libusb.h should be generated by ./configure,
308 # but we're not running configure for mingw32 build yet so we fake it
311 ifeq ($(USBTYPE
),generic
)
312 $(OBJDIR
)/generic-usb.o
: ..
/drivers
/usb
/generic
/generic-usb.c
313 echo
"#include \"$(DEPKGS)/include/usb.h\"" > ..
/drivers
/usb
/generic
/libusb.h
316 OBJS_USBDRV
+= $(OBJDIR
)/libusb-winusb-bridge.o
318 $(OBJDIR
)/generic-usb.o
: ..
/drivers
/usb
/generic
/generic-usb.c
319 echo
"#include \"libusb-winusb-bridge.h\"" > ..
/drivers
/usb
/generic
/libusb.h
322 $(OBJDIR
)/libusb-winusb-bridge.o
: libusb-winusb-bridge.c
326 $(OBJDIR
)/hidutils.o
: ..
/drivers
/usb
/generic
/hidutils.c
329 $(OBJDIR
)/usb.o
: ..
/drivers
/usb
/usb.c
332 $(OBJDIR
)/data.o
: ..
/libusbhid
/data.c
335 $(OBJDIR
)/parse.o
: ..
/libusbhid
/parse.c
338 $(OBJDIR
)/descr.o
: ..
/libusbhid
/descr.c
341 ######################################################################
343 # Files in src/drivers/snmp
345 $(OBJDIR
)/drv_powernet.o \
346 $(OBJDIR
)/drv_rfc1628.o \
347 $(OBJDIR
)/powernet-mib-mgr.o \
348 $(OBJDIR
)/rfc1628-mib-mgr.o \
351 $(OBJDIR
)/drv_powernet.o
: ..
/drivers
/snmp
/drv_powernet.c
354 $(OBJDIR
)/drv_rfc1628.o
: ..
/drivers
/snmp
/drv_rfc1628.c
357 $(OBJDIR
)/powernet-mib-mgr.o
: ..
/drivers
/snmp
/powernet-mib-mgr.c
360 $(OBJDIR
)/rfc1628-mib-mgr.o
: ..
/drivers
/snmp
/rfc1628-mib-mgr.c
363 $(OBJDIR
)/snmp.o
: ..
/drivers
/snmp
/snmp.c
366 ######################################################################
368 # Files in src/drivers/snmplite
370 $(OBJDIR
)/snmplite.o \
372 $(OBJDIR
)/apc-mib.o \
373 $(OBJDIR
)/rfc1628-mib.o \
374 $(OBJDIR
)/mge-mib.o \
378 $(OBJDIR
)/snmplite.o
: ..
/drivers
/snmplite
/snmplite.
cpp
381 $(OBJDIR
)/mibs.o
: ..
/drivers
/snmplite
/mibs.
cpp
384 $(OBJDIR
)/apc-mib.o
: ..
/drivers
/snmplite
/apc-mib.
cpp
387 $(OBJDIR
)/rfc1628-mib.o
: ..
/drivers
/snmplite
/rfc1628-mib.
cpp
390 $(OBJDIR
)/mge-mib.o
: ..
/drivers
/snmplite
/mge-mib.
cpp
393 $(OBJDIR
)/asn.o
: ..
/drivers
/snmplite
/asn.
cpp
396 $(OBJDIR
)/snmpeng.o
: ..
/drivers
/snmplite
/snmp.
cpp
399 ######################################################################
406 $(OBJDIR
)/options.o \
409 $(OBJDIR
)/action.o
: ..
/action.c
412 $(OBJDIR
)/apcnis.o
: ..
/apcnis.c
415 $(OBJDIR
)/device.o
: ..
/device.c
418 $(OBJDIR
)/options.o
: ..
/options.c
421 $(OBJDIR
)/reports.o
: ..
/reports.c
424 ######################################################################
430 $(OBJDIR
)/apcupsd.o
: ..
/apcupsd.c
433 ######################################################################
439 $(OBJDIR
)/apctest.o
: ..
/apctest.c
442 ######################################################################
446 $(OBJDIR
)/apcaccess.o
448 $(OBJDIR
)/apcaccess.o
: ..
/apcaccess.c
451 ######################################################################
460 $(OBJDIR
)/smtp.o
: ..
/smtp.c
463 ######################################################################
469 $(OBJDIR
)/shutdown.o
: shutdown.c
472 ######################################################################
478 $(OBJDIR
)/popup.o
: popup.c
481 ######################################################################
490 $(OBJDIR
)/email.o
: email.c
493 ######################################################################
497 $(OBJDIR
)/background.o
499 $(OBJDIR
)/background.o
: background.c
502 ######################################################################
506 $(OBJDIR
)/apctray.o \
507 $(OBJDIR
)/winabout.o \
508 $(OBJDIR
)/winevents.o \
509 $(OBJDIR
)/winstat.o \
511 $(OBJDIR
)/apclibnis.o \
513 $(OBJDIR
)/apcerror.o \
514 $(OBJDIR
)/wintray.o \
515 $(OBJDIR
)/winres.res \
516 $(OBJDIR
)/balloonmgr.o \
518 $(OBJDIR
)/listview.o \
519 $(OBJDIR
)/instmgr.o \
520 $(OBJDIR
)/winconfig.o \
521 $(OBJDIR
)/astring.o \
522 $(OBJDIR
)/statmgr.o \
524 $(OBJDIR
)/gethostname.o
526 $(OBJDIR
)/winabout.o
: winabout.
cpp
529 $(OBJDIR
)/winevents.o
: winevents.
cpp
532 $(OBJDIR
)/apctray.o
: apctray.
cpp
535 $(OBJDIR
)/winstat.o
: winstat.
cpp
538 $(OBJDIR
)/wintray.o
: wintray.
cpp
541 $(OBJDIR
)/balloonmgr.o
: balloonmgr.
cpp
544 $(OBJDIR
)/meter.o
: meter.
cpp
547 $(OBJDIR
)/listview.o
: listview.
cpp
550 $(OBJDIR
)/instmgr.o
: instmgr.
cpp
553 $(OBJDIR
)/winconfig.o
: winconfig.
cpp
556 # Windows resource file formatted version (a,b,c,d)
558 RCVERSION
= $(subst .
,$(comma
),$(firstword $(subst -, ,$(VERSION
))).0)
560 $(OBJDIR
)/winres.res
: winres.rc
561 sed
-e
"s/\$$VERSION/$(VERSION)/" \
562 -e
"s/FILEVERSION.*/FILEVERSION $(RCVERSION)/" \
563 -e
"s/PRODUCTVERSION.*/PRODUCTVERSION $(RCVERSION)/" $< | \
564 $(WINDRES
) $(INCLUDE_ICONS
) -O coff
-o
$@
566 ######################################################################
568 GAPCMON_CFLAGS
=-I
$(DEPKGS
)/glib
/include/gtk-2.0 \
569 -I
$(DEPKGS
)/glib
/lib
/gtk-2.0
/include \
570 -I
$(DEPKGS
)/glib
/include/atk-1.0 \
571 -I
$(DEPKGS
)/glib
/include/pango-1.0 \
572 -I
$(DEPKGS
)/glib
/include/glib-2.0 \
573 -I
$(DEPKGS
)/glib
/lib
/glib-2.0
/include \
574 -I
$(DEPKGS
)/glib
/include/gconf
/2 \
575 -I
$(DEPKGS
)/glib
/include/orbit-2.0 \
576 -I
$(DEPKGS
)/glib
/include/cairo \
582 $(OBJDIR
)/gapcmon.o
: ..
/gapcmon
/gapcmon.c
583 $(CC
) $(GAPCMON_CFLAGS
) -c
$< -o
$@
585 ######################################################################
588 $(OBJDIR
)/cgilib.o
: ..
/cgi
/cgilib.c
591 $(OBJDIR
)/multimon.o
: ..
/cgi
/multimon.c
594 $(OBJDIR
)/upsfetch.o
: ..
/cgi
/upsfetch.c
597 $(OBJDIR
)/upsfstats.o
: ..
/cgi
/upsfstats.c
600 $(OBJDIR
)/upsstats.o
: ..
/cgi
/upsstats.c
603 $(OBJDIR
)/upsimage.o
: ..
/cgi
/upsimage.c
604 $(CXX
) -c
$< -DSYS_IMGFMT_PNG
-DNONDLL
-o
$@
606 ######################################################################
608 APC_OBJS
= $(OBJS_SRC
) $(LIB_OBJS
) $(OBJS_COMPAT
) $(OBJS_WIN
) \
609 $(OBJS_DRIVERS
) $(OBJS_TESTDRV
) $(OBJS_NETDRV
) \
610 $(OBJS_SMARTDRV
) $(OBJS_DUMBDRV
) $(OBJS_USBDRV
) $(OBJS_SNMPLITEDRV
) \
611 $(OBJS_SNMPDRV
) $(OBJS_PCNETDRV
) $(OBJS_APCUPSD
)
612 APC_LIBS
= $(LIB_PTHREADS
) $(LIB_LIBUSB
) $(LIB_NETSNMP
) \
613 -L
$(LIB_MINGW
) -luser32
-lgdi32
-lwsock32
-lnetapi32
615 TEST_OBJS
= $(OBJS_SRC
) $(LIB_OBJS
) $(OBJS_COMPAT
) \
616 $(OBJS_DRIVERS
) $(OBJS_TESTDRV
) $(OBJS_NETDRV
) \
617 $(OBJS_SMARTDRV
) $(OBJS_DUMBDRV
) $(OBJS_USBDRV
) $(OBJS_SNMPLITEDRV
) \
618 $(OBJS_SNMPDRV
) $(OBJS_PCNETDRV
) $(OBJS_APCTEST
)
619 TEST_LIBS
= $(LIB_PTHREADS
) $(LIB_LIBUSB
) $(LIB_NETSNMP
) \
620 -L
$(LIB_MINGW
) -luser32
-lwsock32
-lnetapi32
622 ACCESS_OBJS
= $(OBJS_ACCESS
) $(LIB_OBJS
) $(OBJS_COMPAT
)
623 ACCESS_LIBS
= $(LIB_PTHREADS
) -L
$(LIB_MINGW
) -luser32
-lwsock32
-lnetapi32
625 SHUT_OBJS
= $(OBJS_SHUT
)
628 POP_OBJS
= $(OBJS_POP
)
631 BKG_OBJS
= $(OBJS_BKG
)
634 APT_OBJS
= $(OBJS_APT
) $(OBJS_COMPAT
)
635 APT_LIBS
= -L
$(LIB_MINGW
) -luser32
-lgdi32
-lwsock32
-lnetapi32
-lrpcrt4
$(LIB_PTHREADS
)
637 SMTP_OBJS
= $(OBJS_SMTP
) $(OBJS_COMPAT
)
638 SMTP_LIBS
= $(APC_LIBS
)
640 EMAIL_OBJS
= $(OBJS_EMAIL
) $(OBJS_COMPAT
)
641 EMAIL_LIBS
= -L
$(LIB_MINGW
) -lwsock32
-lmapi32
643 GAPCMON_OBJS
= $(OBJS_GAPCMON
)
644 GAPCMON_LIBS
= $(LIB_PTHREADS
) -L
$(DEPKGS
)/glib
/lib
-Wl
,--export-dynamic \
645 -lgtk-win32-2.0
-lgdk-win32-2.0
-latk-1.0
-lgdk_pixbuf-2.0
-lpangowin32-1.0 \
646 -lpango-1.0
-lgobject-2.0
-lgconf-2
-lORBit-2
-lm
-lgmodule-2.0 \
647 -lgthread-2.0
-lglib-2.0
649 MULTIMON_OBJS
= $(OBJDIR
)/upsfetch.o
$(OBJDIR
)/cgilib.o
$(OBJDIR
)/multimon.o \
650 $(OBJDIR
)/apclibnis.o
$(OBJDIR
)/asys.o
${OBJDIR}/apcerror.o \
651 ${OBJDIR}/netcompat.o
$(OBJDIR
)/gethostname.o
652 MULTIMON_LIBS
= -L
$(LIB_MINGW
) -lwsock32
654 UPSSTATS_OBJS
= $(OBJDIR
)/upsfetch.o
$(OBJDIR
)/cgilib.o
$(OBJDIR
)/upsstats.o \
655 $(OBJDIR
)/apclibnis.o
$(OBJDIR
)/asys.o
${OBJDIR}/apcerror.o \
656 ${OBJDIR}/netcompat.o
$(OBJDIR
)/gethostname.o
657 UPSSTATS_LIBS
= -L
$(LIB_MINGW
) -lwsock32
659 UPSFSTATS_OBJS
= $(OBJDIR
)/upsfetch.o
$(OBJDIR
)/cgilib.o
$(OBJDIR
)/upsfstats.o \
660 $(OBJDIR
)/apclibnis.o
$(OBJDIR
)/asys.o
${OBJDIR}/apcerror.o \
661 ${OBJDIR}/netcompat.o
$(OBJDIR
)/gethostname.o
662 UPSFSTATS_LIBS
= -L
$(LIB_MINGW
) -lwsock32
664 UPSIMAGE_OBJS
= $(OBJDIR
)/cgilib.o
$(OBJDIR
)/upsimage.o \
665 $(OBJDIR
)/asys.o
${OBJDIR}/apcerror.o
666 UPSIMAGE_LIBS
= -L
$(DEPKGS
)/lib
-lgd
-lpng12
-lz
673 all: objdir apcupsd.exe apcaccess.exe shutdown.exe popup.exe apctest.exe \
674 smtp.exe email.exe background.exe apctray.exe multimon.cgi upsstats.cgi \
675 upsfstats.cgi upsimage.cgi
678 rm -rf
$(OBJDIR
) *.exe
*.cgi
679 rm -rf pthreadGCE.dll mingwm10.dll
681 pthreadGCE.dll
: $(DEPKGS
)/lib
/pthreadGCE.dll
682 cp
-f
$(DEPKGS
)/lib
/pthreadGCE.dll .
684 mingwm10.dll
: $(MINGW
)/mingw32
/bin
/mingwm10.dll
685 cp
-f
$(MINGW
)/mingw32
/bin
/mingwm10.dll .
687 # Link the apcupsd daemon executable ...
688 apcupsd.exe
: $(APC_OBJS
) pthreadGCE.dll mingwm10.dll
689 $(CXX
) $(APC_OBJS
) $(APC_LIBS
) -mwindows
-o
$@
691 apcaccess.exe
: $(ACCESS_OBJS
) pthreadGCE.dll mingwm10.dll
692 $(CXX
) $(ACCESS_OBJS
) $(ACCESS_LIBS
) -o
$@
694 apctest.exe
: $(TEST_OBJS
) pthreadGCE.dll mingwm10.dll
695 $(CXX
) $(TEST_OBJS
) $(TEST_LIBS
) -o
$@
697 shutdown.exe
: $(SHUT_OBJS
) mingwm10.dll
698 $(CXX
) $(SHUT_OBJS
) $(SHUT_LIBS
) -mwindows
-o
$@
700 popup.exe
: $(POP_OBJS
) mingwm10.dll
701 $(CXX
) $(POP_OBJS
) $(POP_LIBS
) -mwindows
-o
$@
703 email.exe
: $(EMAIL_OBJS
) mingwm10.dll
704 $(CXX
) $(EMAIL_OBJS
) $(EMAIL_LIBS
) -o
$@
706 background.exe
: $(BKG_OBJS
) mingwm10.dll
707 $(CXX
) $(BKG_OBJS
) $(BKG_LIBS
) -mwindows
-o
$@
709 smtp.exe
: $(SMTP_OBJS
) mingwm10.dll
710 $(CXX
) $(SMTP_OBJS
) $(SMTP_LIBS
) -o
$@
712 apctray.exe
: $(APT_OBJS
) mingwm10.dll
713 $(CXX
) $(APT_OBJS
) $(APT_LIBS
) -mwindows
-o
$@
715 gapcmon.exe
: $(GAPCMON_OBJS
)
716 $(CC
) $(GAPCMON_OBJS
) $(GAPCMON_LIBS
) -mwindows
-o
$@
718 multimon.cgi
: $(MULTIMON_OBJS
) mingwm10.dll
719 $(CXX
) $(MULTIMON_OBJS
) $(MULTIMON_LIBS
) -o
$@
721 upsstats.cgi
: $(UPSSTATS_OBJS
) mingwm10.dll
722 $(CXX
) $(UPSSTATS_OBJS
) $(UPSSTATS_LIBS
) -o
$@
724 upsfstats.cgi
: $(UPSFSTATS_OBJS
) mingwm10.dll
725 $(CXX
) $(UPSFSTATS_OBJS
) $(UPSFSTATS_LIBS
) -o
$@
727 upsimage.cgi
: $(UPSIMAGE_OBJS
) mingwm10.dll
728 $(CXX
) $(UPSIMAGE_OBJS
) $(UPSIMAGE_LIBS
) -o
$@
730 winapcupsd.exe
: all installer
/*.nsi installer
/*.nsh installer
/*.ini
$(TEXTFILES
)
731 $(STRIP
) *.exe
*.dll
*.cgi
732 $(UNIX2DOS
) -k
-n
$(foreach f
,$(TEXTFILES
),$(f
) installer
/$(subst .txt
,,$(notdir $(f
))).txt
)
733 $(MAKENSIS
) -V2
-DDEPKGS
="$(DEPKGS)" -DVERSION
="$(VERSION)" -DTOPDIR
="${TOPDIR}" -DUSBTYPE
="${USBTYPE}" installer
/winapcupsd.nsi