PREFIX = i586-mingw32-
EXE_POSTFIX =
EXE_PREFIX = ./
-CP = cp
+#CP = cp
+CP = $(PATH_TO_TOP)/rcopy
DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
NASM_CMD = nasm
KM_SPECS = $(TOPDIR)/specs
NASM_FORMAT = win32
PREFIX =
EXE_POSTFIX = .exe
-CP = copy /B
+#CP = copy /B
+CP = rcopy
DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
NASM_CMD = nasm
RM = del
#
ifeq ($(WITH_DEBUGGING),yes)
DEBUGGING_CFLAGS = -g
+OPTIMIZATIONS = -O2
else
-DEBUGGING_CFLAGS =
+DEBUGGING_CFLAGS =
+OPTIMIZATIONS = -O2
endif
ifeq ($(WARNINGS_ARE_ERRORS),yes)
NATIVE_NM = nm
CFLAGS = $(BASE_CFLAGS) \
-pipe \
- -O2 \
+ $(OPTIMIZATIONS) \
$(LEAN_AND_MEAN_DEFINE) \
$(DEFINES) -Wall \
-Wstrict-prototypes $(DEBUGGING_CFLAGS) \
CPP = $(PREFIX)cpp
AR = $(PREFIX)ar
RC = $(PREFIX)windres
-RCINC = --include-dir ../include --include-dir ../../include --include-dir ../../../include
+RCINC = \
+ --include-dir ../include \
+ --include-dir ../../include \
+ --include-dir ../../../include \
+ --include-dir ../../../../include
%.o: %.cc
$(CC) $(CFLAGS) -c $< -o $@
%.coff: %.rc
$(RC) $(RCINC) $< $@
+%.sys: %.o
+ $(CC) \
+ -specs=$(PATH_TO_TOP)/services/svc_specs \
+ -mdll \
+ -o junk.tmp \
+ -Wl,--defsym,_end=end \
+ -Wl,--defsym,_edata=__data_end__ \
+ -Wl,--defsym,_etext=etext \
+ -Wl,--base-file,base.tmp $^
+ - $(RM) junk.tmp
+ $(DLLTOOL) \
+ --dllname $@ \
+ --base-file base.tmp \
+ --output-exp temp.exp \
+ --kill-at
+ - $(RM) base.tmp
+ $(CC) \
+ --verbose \
+ -Wl,--image-base,0x10000 \
+ -Wl,-e,_DriverEntry@8 \
+ -Wl,temp.exp \
+ -specs=$(PATH_TO_TOP)/services/svc_specs \
+ -mdll \
+ -o $@.unstripped \
+ $^
+ - $(RM) temp.exp
+ $(STRIP) --strip-debug $<
+ $(CC) \
+ -specs=$(PATH_TO_TOP)/services/svc_specs \
+ -mdll \
+ -o junk.tmp \
+ -Wl,--defsym,_end=end \
+ -Wl,--defsym,_edata=__data_end__ \
+ -Wl,--defsym,_etext=etext \
+ -Wl,--base-file,base.tmp $^
+ - $(RM) junk.tmp
+ $(DLLTOOL) \
+ --dllname $@ \
+ --base-file base.tmp \
+ --output-exp temp.exp \
+ --kill-at
+ - $(RM) base.tmp
+ $(CC) \
+ --verbose \
+ -Wl,--image-base,0x10000 \
+ -Wl,-e,_DriverEntry@8 \
+ -Wl,temp.exp \
+ -specs=$(PATH_TO_TOP)/services/svc_specs \
+ -mdll \
+ -o $@ \
+ $^
+ - $(RM) temp.exp
RULES_MAK_INCLUDED = 1