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