| 1 | ##############################################################################
|
|---|
| 2 | # $Id: makefile,v 1.20 2000-03-08 09:22:21 bird Exp $
|
|---|
| 3 | #
|
|---|
| 4 | # PD-Win32 API
|
|---|
| 5 | #
|
|---|
| 6 | # pe2lx.exe makefile
|
|---|
| 7 | #
|
|---|
| 8 | ##############################################################################
|
|---|
| 9 |
|
|---|
| 10 | ##############################################################################
|
|---|
| 11 | # Include
|
|---|
| 12 | ##############################################################################
|
|---|
| 13 | EXETARGET=1
|
|---|
| 14 | !include ..\makefile.inc
|
|---|
| 15 | !include $(PDWIN32_INCLUDE)\pdwin32.mk
|
|---|
| 16 |
|
|---|
| 17 | ##############################################################################
|
|---|
| 18 | # Object extention
|
|---|
| 19 | ##############################################################################
|
|---|
| 20 | OBJEXT = pe_obj
|
|---|
| 21 |
|
|---|
| 22 |
|
|---|
| 23 | ##############################################################################
|
|---|
| 24 | # Tools and Flags Addjustments
|
|---|
| 25 | ##############################################################################
|
|---|
| 26 | CINCLUDES = -I$(WIN32KINCLUDE)
|
|---|
| 27 |
|
|---|
| 28 | CFLAGS = $(CINCLUDES) $(CFLAGS) -DRING3 -DPE2LX \
|
|---|
| 29 | -Ge+ -Wall+ppt-ppc-inl-cnv-gnr-vft-gen-uni-ext- -Gm- -Gn- -Ti+ -Rn
|
|---|
| 30 | CXXFLAGS = $(CINCLUDES) $(CXXFLAGS) -DRING3 -DPE2LX \
|
|---|
| 31 | -Ge+ -Wall+ppt-ppc-inl-cnv-gnr-vft- -Gm- -Gn- -Ti+ -Gx -Rn
|
|---|
| 32 |
|
|---|
| 33 | LD = ilink
|
|---|
| 34 | LDFLAGS = /nologo /NOI /A:16 /NOE /packcode /packdata /pmtype:vio /Stack:4096 \
|
|---|
| 35 | !ifdef DEBUG
|
|---|
| 36 | !ifndef NODEBUGINFO
|
|---|
| 37 | /debug /dbgpack
|
|---|
| 38 | !endif
|
|---|
| 39 | !else
|
|---|
| 40 | /exepack:2
|
|---|
| 41 | !endif
|
|---|
| 42 |
|
|---|
| 43 |
|
|---|
| 44 | ##############################################################################
|
|---|
| 45 | # Interference rules. Note: -Fo is IBMCPP specific.
|
|---|
| 46 | ##############################################################################
|
|---|
| 47 | {$(WIN32KMISC)}.c{$(OBJDIR)}.$(OBJEXT):
|
|---|
| 48 | @echo compiling: $(@B).c
|
|---|
| 49 | @$(CC) $(CFLAGS) -c -Fa$(WIN32KLIST)\$(@B)_pe.asm -Fo$@ $<
|
|---|
| 50 |
|
|---|
| 51 | {$(WIN32KMISC)}.cpp{$(OBJDIR)}.$(OBJEXT):
|
|---|
| 52 | @echo compiling: $(@B).cpp
|
|---|
| 53 | @$(CXX) $(CXXFLAGS) -c -Fa$(WIN32KLIST)\$(@B)_pe.asm -Fo$@ $<
|
|---|
| 54 |
|
|---|
| 55 | {$(WIN32KLDR)}.cpp{$(OBJDIR)}.$(OBJEXT):
|
|---|
| 56 | @echo compiling: $(@B).cpp
|
|---|
| 57 | @$(CXX) $(CXXFLAGS) -c -Fa$(WIN32KLIST)\$(@B)_pe.asm -Fo$@ $<
|
|---|
| 58 |
|
|---|
| 59 | .cpp{$(OBJDIR)}.$(OBJEXT):
|
|---|
| 60 | @echo compiling: $(@B).cpp
|
|---|
| 61 | @$(CXX) $(CXXFLAGS) -c -Fa$(WIN32KLIST)\$(@B)_pe.asm -Fo$@ $<
|
|---|
| 62 |
|
|---|
| 63 |
|
|---|
| 64 | #
|
|---|
| 65 | # Visual slick edit!
|
|---|
| 66 | #
|
|---|
| 67 | {$(WIN32KMISC)}.c.obj:
|
|---|
| 68 | @echo compiling: $(@B).c
|
|---|
| 69 | @$(CC) $(CFLAGS) -c -Fa$(WIN32KLIST)\$(@B)_pe.asm -Fo$(OBJDIR)\$(@B).$(OBJEXT) $<
|
|---|
| 70 |
|
|---|
| 71 | {$(WIN32KMISC)}.cpp.obj:
|
|---|
| 72 | @echo compiling: $(@B).cpp
|
|---|
| 73 | @$(CXX) $(CXXFLAGS) -c -Fa$(WIN32KLIST)\$(@B)_pe.asm -Fo$(OBJDIR)\$(@B).$(OBJEXT) $<
|
|---|
| 74 |
|
|---|
| 75 | {$(WIN32KLDR)}.cpp.obj:
|
|---|
| 76 | @echo compiling: $(@B).cpp
|
|---|
| 77 | @$(CXX) $(CXXFLAGS) -c -Fa$(WIN32KLIST)\$(@B)_pe.asm -Fo$(OBJDIR)\$(@B).$(OBJEXT) $<
|
|---|
| 78 |
|
|---|
| 79 | .cpp.obj:
|
|---|
| 80 | @echo compiling: $(@B).cpp
|
|---|
| 81 | @$(CXX) $(CXXFLAGS) -c -Fa$(WIN32KLIST)\$(@B)_pe.asm -Fo$(OBJDIR)\$(@B).$(OBJEXT) $<
|
|---|
| 82 |
|
|---|
| 83 |
|
|---|
| 84 | ##############################################################################
|
|---|
| 85 | # Main targets.
|
|---|
| 86 | ##############################################################################
|
|---|
| 87 | TARGET = pe2lx
|
|---|
| 88 |
|
|---|
| 89 | OBJS = $(OBJDIR)\pe2lx.$(OBJEXT) \
|
|---|
| 90 | $(OBJDIR)\pe2lxmain.$(OBJEXT) \
|
|---|
| 91 | $(OBJDIR)\modulebase.$(OBJEXT) \
|
|---|
| 92 | $(OBJDIR)\malloc.$(OBJEXT) \
|
|---|
| 93 | $(OBJDIR)\smalloc_avl.$(OBJEXT) \
|
|---|
| 94 | $(OBJDIR)\avl.$(OBJEXT) \
|
|---|
| 95 | $(OBJDIR)\rmalloc_avl.$(OBJEXT) \
|
|---|
| 96 | $(OBJDIR)\new.$(OBJEXT) \
|
|---|
| 97 | $(OBJDIR)\stricmp.$(OBJEXT) \
|
|---|
| 98 | $(OBJDIR)\vprintf.$(OBJEXT)
|
|---|
| 99 |
|
|---|
| 100 |
|
|---|
| 101 |
|
|---|
| 102 | all: $(OBJDIR) $(OBJDIR)\$(TARGET).exe
|
|---|
| 103 |
|
|---|
| 104 |
|
|---|
| 105 | $(OBJDIR)\$(TARGET).exe: $(OBJS)
|
|---|
| 106 | @echo linking $@
|
|---|
| 107 | $(LD) $(LDFLAGS) /OUT:$@ /MAP:$*.map $**
|
|---|
| 108 | $(CP) $@ $(PDWIN32_BIN)
|
|---|
| 109 |
|
|---|
| 110 |
|
|---|
| 111 | ##############################################################################
|
|---|
| 112 | # Dependencies.
|
|---|
| 113 | ##############################################################################
|
|---|
| 114 | dep:
|
|---|
| 115 | $(DEPEND) -obj$(OBJEXT) -o$$(OBJDIR) $(CINCLUDES) ..\misc\*.c* ..\include\*.h
|
|---|
| 116 |
|
|---|
| 117 |
|
|---|
| 118 | ##############################################################################
|
|---|
| 119 | # Cleanup
|
|---|
| 120 | ##############################################################################
|
|---|
| 121 | #clean2:
|
|---|
| 122 | # @$(RM) $(OBJS) $(TARGET).exe $(WIN32KLIST)\$(TARGET).map *.pch
|
|---|
| 123 |
|
|---|
| 124 |
|
|---|
| 125 |
|
|---|
| 126 | # Includes the common rules.
|
|---|
| 127 | !include $(PDWIN32_INCLUDE)\pdwin32.post
|
|---|